C语言课程设计《高速公路联网收费系统》代码(共7篇)
C语言课程设计《高速公路联网收费系统》代码 篇1
#include //包含access函数的头文件 #define N 9999 //定义最多的航班数 #define PRINT “%dtt%stt%stt星期%stt%dn ”,s[i].num,s[i].start,s[i].over,s[i].time,s[i].count //宏定义输出格式 struct air //定义结构体数组 { int num; //定义航班号 char start[20];//航班起始站 char over[20];//终点站 char time[10];//飞行时间 int count; //机票数量 }s[N]; int i,m=0; //定义全局变量 char ii[10]; void add();//函数声明增加航班信息函数 void print(); //显示航班信息 void search();//查找航班信息 void dingpiao();//订票业务 void tuipiao();//退票 void read();//读取文件 void save();//保存文件 void output();//输出格式 void paixu();//航班排序 void chushihua();//系统初始化 void build();//建立数据文件 void paixu1();//按航班号从小到大排序 void paixu2();//从大到小 void main()//主函数 { int j; chushihua();//系统初始化判断是否存在原始数据文件 printf(“ 欢迎使用飞机订票系统n”);//打印出系统主界面 do { printf(“================================== ”); printf(“1.增加航班信息n” “t2.浏览航班信息n” “tt3.查找航班信息(按航班号)tt╮(╯_╰)╭n” “ttt4.航班排序(按航班号)n” “tttt5.订票业务n” “to(︶︿︶)ottt6.退票业务n” “tttttt0.退出n”);printf(“================================== ”); printf(“请在0-6中选择以回车键结束: ”);scanf(“%d”,&j);switch(j){ case 1: add();//调用增加航班函数 break; case 2:print();//调用显示模块 break; case 3:search();//调用查找模块 break; case 4:paixu();//调用排序函数 break; case 5:dingpiao();//调用订票模块 break; case 6:tuipiao();//调用退票模块 break; case 0: //退出系统 save(); printf(“谢谢使用,再见!”); break;} }while(j!=0);//判断是否调用其他函数 } void chushihua()//定义系统初始化函数 { if(access(“hangban.dat”,0)){ build();} else read();} void build()//定义建立数据文件函数 { FILE *fp;//定义文件指针 if((fp=fopen(“hangban.dat”,“wb”))==NULL)//打开文件并判定是否出错 { printf(“创建文件失败!”);//打印出错提示 getchar(); return;} printf(“请依次输入航班信息(以回车键结束):n”); //打印提示信息 printf(“------------n”);for(i=0;i printf(“请输入航班号: ”); scanf(“%d”,&s[i].num);//输入航班号 printf(“请输入起始站: ”); scanf(“%s”,s[i].start);//输入起始站 printf(“请输入终点站: ”); scanf(“%s”,s[i].over);//输入终点站 printf(“请输入时间(星期几): ”); scanf(“%s”,s[i].time);//输入时间 printf(“请输入机票数: ”); scanf(“%d”,&s[i].count);//输入机票数 fwrite(&s[i],sizeof(struct air),1,fp); m++; printf(“添加完毕,是否继续添加?请键入y或n以回车键结束:”); scanf(“%s”,ii); if(strcmp(ii,“y”)!=0) //判断是否继续添加航班信息 { fclose(fp); //关闭文件 return; } } } void read() //定义读取文件函数 { FILE *fp;if((fp=fopen(“hangban.dat”,“r”))==NULL){ printf(“创建文件失败!”); getchar(); return;} i=0;while(!feof(fp)){ fread(&s[i],sizeof(struct air),1,fp);//逐块读取数据 i++; m++;//计算存在航班数 } m--;fclose(fp);} void save()//定义保存函数 { FILE *fp;if((fp=fopen(“hangban.dat”,“wb”))==NULL) { printf(“创建文件失败!”); getchar(); return;} for(i=0;i //逐块保存数据 fwrite(&s[i],sizeof(struct air),1,fp);fclose(fp);} void add()//定义增加航班信息函数 { do{ printf(“请依次输入您要增加的航班信息(以回车键结束): n”); //打印提示信息 printf(“------------n”); printf(“请输入航班号: ”); scanf(“%d”,&s[m].num);//读取航班号 printf(“请输入起始站: ”); scanf(“%s”,s[m].start);//读取起始站 printf(“请输入终点站: ”); scanf(“%s”,s[m].over);//读取终点站 printf(“请输入时间: ”); scanf(“%s”,s[m].time);//读取时间 printf(“请输入机票数: ”); scanf(“%d”,&s[m].count);//读取机票数 m++; printf(“添加完毕,是否继续添加?请键入y或n以回车键结束:”); scanf(“%s”,ii);}while(!strcmp(ii,“y”));//判断是否继续添加 } void output()//定义输出格式函数 { printf(“航班号tt起始站tt终点站tt时间tt机票数n”);//信息标题 for(i=0;i printf(PRINT);//打印出信息 } void print()//定义显示航班信息函数 { printf(“n目前我们有如下航班:n”);output(); //调用输出格式函数 printf(“n请按回车键返回上层菜单 ”);getchar();getchar();} void search()//定义查询函数 { int n; do { printf(“n请输入航班号: ”); scanf(“%d”,&n);//输入查询的航班号 for(i=0;i { if(s[i].num==n)//按航班号判定输出条件 { printf(“n您所查找的航班信息为:n ”); printf(“航班号tt起始站tt终点站tt时间tt机票数 nn”); printf(PRINT);//显示信息 printf(“n查询完毕,按回车键继续”); getchar(); getchar(); return; } } printf(“n对不起,没有您需要的信息!n ”);printf(“是否重新查找?请键入y或n以回车键结束 ”);scanf(“%s”,ii);}while(!strcmp(ii,“y”));//判定是否重新查找 } void dingpiao()//定义订票业务函数 { int n;char a[10]=“y”;do { search();//调用查询模块 if(!strcmp(ii,“n”)) { printf(“对不起!没有找到您所需要的航班,所以不能订票。n”);//未查找到所需航班 printf(“n请按回车键返回上层菜单 ”); getchar(); getchar(); strcpy(ii,“n”); break; } do { printf(“请输入您要订的机票数(以回车键结束): ”); scanf(“%d”,&n);//输入所订机票数 if(n<=0) //判定机票数是否出错 { printf(“输入错误!至少需订1张机票。n”); } else if(s[i].count==0)//判定机票是否售完 { printf(“对不起,你所选择的航班的机票已售完!n”); break; } else if(s[i].count!=0&&s[i].count>=n)//判定机票数是否大于等于订票数 { s[i].count=s[i].count-n; printf(“订票成功!”); break; } else if(s[i].count { printf(“对不起,你所选择的航班只剩 %d张机票n”, s[i].count); printf(“是否需要重新输入机票数?请输入y或n以回车键结束: ”);//判定是否重新输入订票数 scanf(“%s”,a); } }while(!strcmp(a,“y”)); printf(“是否需要订其他航班的机票?请输入y或n以回车键结束: ”); scanf(“%s”,a);}while(!strcmp(a,“y”));//判定是否继续订票 } void tuipiao()//定义退票函数 { int n;char a[10];do { search();//调用查询函数 if(!strcmp(ii,“n”)) { printf(“对不起!没有找到您所需要的航班,所以不能退票。n”); printf(“n请按回车键返回上层菜单 ”); getchar(); getchar(); strcpy(ii,“n”); break; } printf(“请输入您要退的机票数目: ”); scanf(“%d”,&n);//输入所退票数 if(n<=0) //判定票数是否有效 printf(“输入错误!至少需退1张机票。”); else { s[i].count=s[i].count+n; printf(“退票成功!”); } printf(“是否继续? 请键入y或n以回车键结束: ”);//判定是否继续退票 scanf(“%s”,a);}while(!strcmp(a,“y”));//判定并跳出循环 } void paixu()//定义排序函数 { int n; printf(“n******************************************************************************** ”); printf(“1.按航班号从小到大排序n” “t2.按航班号从大到小排序n”);printf(“******************************************************************************** ”); printf(“请在1-2中选择以回车键结束: ”);scanf(“%d”,&n);//输入排序方式 switch(n){ case 1:paixu1();//调用从小到大排序函数 break; case 2:paixu2();//调用从大到小排序函数 break;} printf(“排序后的航班信息为:n”);output(); //显示排序后航班信息 printf(“n请按回车键返回上层菜单 ”); getchar(); getchar();} void paixu1()//定义从小到大排序函数 { int k,j;struct air t;for(i=0;i { k=i; for(j=i+1;j if(s[k].num>s[j].num) k=j; if(i!=k) { t=s[k]; s[k]=s[i]; s[i]=t; } } } void paixu2()//定义从大到小排序函数 { } int k,j;struct air t;for(i=0;i if(s[k].num k=j;if(i!=k){ t=s[k]; s[k]=s[i]; s[i]=t;} } 关键词:C语言程序设计,自动评分系统 1 C语言简介 C语言是1972年由美国贝尔研究所的D.M.Ritchie提出的。它既具有高级语言的特点, 又具有汇编语言的特点。因此可用它开发系统程序, 也可以用来编写应用软件。C语言具备很强的数据处理能力, 是世界上应用最广泛的计算机语言之一。C语言一共有37个关键字、9种控制语句、34种运算符、丰富的数据类型, 能用来实现各种复杂的数据结构的运算, 尤其是指针类型数据, 使用灵活, 提高程序效率;用C语言较易实现程序的模块化、结构化设计, 生成的目标代码质量高, 程序执行效率高;可移植性好, 几乎在所有的计算机系统中都可以使用C语言。 2 系统开发工具 自动评分系统的开发工具是采用Visual Basic语言与C语言相结合, 其中主体程序与界面均由Visual Basic语言实现, 对编程题的评分算法 (词法分析、语法分析等) 则采用C语言编写。 3 关键技术简介 3.1 Visual Basic数据库编程技术 (1) Visual Basic的数据库对象 Visual Basic访问数据库常用三种方法, 它们分别是:数据访问对象 (DAO) 、远程数据对象 (RDO) 和Active X (ADO) 。 DAO数据访问对象。Visual Basic把DAO模型封装在Data控件, 分别设置相应的Database Name属性和Recordsoucre属性就可以将Data控件与数据库中的记录源连接起来, 以后就可以使用Data控件来对数据库进行操作。因此DAO最适用于单系统应用程序或在本地分布使用。RDO是Visual Basic访问关系型ODBC数据源的最佳界面接口, 这种方法也集成于Visual Basic中。Active Data Objects (ADO) 作为另一种可供选择的技术出现, 正在逐渐代替其他数据访问接口。ADO“扩展”了DAO和RDO所使用的对象模型, 这意味着它包含较少的对象、更多的属性、方法 (和参数) , 以及事件。ADO是独立于开发工具和开发语言的简单而且容易使用的数据接口, 所有的数据源都可以通过ADO来访问。 (2) 数据绑定控件 连接好数据库后, 还需要用数据绑定控件将数据源对象显示出来, 然后才能对后台中的数据信息进行编辑和查询等数据处理操作。常用的数据绑定控件有文本框、组合框等标准控件及数据列表 (Data List) 、数据网格 (Data Grid) 等Active X控件。数据绑定控件有两个标准的属性:Datasource和Data Field属性。Datasource属性用于设置数据源, Data Field属性用来设置数据库字段的名称。 3.2 Visual Basic中调用API函数 Application Programming Interface, 简称API函数, 是Windows操作系统提供的函数, 可以实现对应用程序的控制。要调用API函数, 必须先在Visual Basic中用Declare语句声明。可借助于Visual Basic提供的应用程序“API文本查看器”, 正确地声明与使用API函数。 3.3 TCC行编辑命令的使用 除了使用集成开发环境之外, 也可以用传统的命令行界面来运行Turbo C程序, TCC命令可以以命令行的方式编译C源文件, 将它们连接成可执行文件。可在其它程序中将TCC作为外部程序调用, 实现以命令行方式编译连接C源程序。 除以上几点外, 系统还涉及到了编译原理中的词法分析及语法分析方法。 4 编程题自动评分流程 对于编程题进行自动评卷, 较复杂, 因此本文重点介绍该题型自动评分功能的实现方法。 由于本文针对的是非计算机专业的C语言课程, 学生普遍刚刚接触程序设计, 造成恶意代码的概率较低, 再结合C语言程序结构、语法特点, 对编程题评分主要采用结果、静态评分与动态评分相结合的方法, 具体步骤如下: (1) 结果对比 检查指定的结果文件是否存在, 若存在则与标准答案文件进行对比, 与标准答案文件内容完全相同, 则说明结果正确, 得满分, 否则转去静态评阅, 若无结果文件, 执行动态评分。 (2) 基于可执行文件的动态评分 对考生源程序进行编译连接, 若生成可执行文件成功, 则运行考生程序, 用预先定义的测试数据集中的各组测试数据作为输入值, 进行测试, 比较运行结果和期望结果, 并通过比较结果评定学生程序的分数。若生成失败, 说明考生程序存在语法错误, 转入以下过程继续处理: 1) 对考生源程序进行词法分析。扫描源程序, 将其转化为特定格式的TOKEN串, 存入TOKEN文件; 2) 根据词法分析的结果, 即TOKEN文件, 进行语法分析, 详细指出程序中存在的语法错误, 生成错误文件, 在保证不对考生程序正确部分产生破坏的前提下, 尽最大可能将考生程序修改正确, 生成修改后的TOKEN文件; 3) 调用转换程序将修改后的TOKEN文件重新生成为C语言源程序, 其与考生源程序的名字不同, 称其为新生成源程序; 4) 调用TCC程序以命令行方式对新生成源程序进行编译连接; 5) 编译连接成功, 运行新源程序的执行文件, 并调用API函数控制程序运行, 以防由于死锁的发生导致系统崩溃;编译失败则退出动态评阅过程, 改用静态评阅; 6) 对新生成源程序的运行结果进行检测, 若有结果, 则转去进行结果比较, 若无结果则转去进行静态评阅。 (3) 基于程序代码的静态评分 与动态评分相比, 代码静态评分不需要运行学生的程序, 因此不用考虑对系统安全性的影响, 作为编程题评分的必要环节, 代码静态检查对于可执行和不可执行的程序都适用。代码静态检查分为软件质量度量方法和源程序分析比较方法。软件质量度量方法主要是对程序的常量、变量和关键字等内容进行分析后, 根据匹配程度给出分数。源程序分析比较方法主要是通过将学生源程序和标准程序进行匹配, 该方法依赖于标准答案的数据集, 根据模板最为匹配的答案与学生源程序进行对比, 根据匹配程度给出评分。源程序分析比较方法主要采用的是基于结构度量的技术。从程序设计题题库文件中读取该试题的关键语句, 对考生程序进行检测, 根据检测出的考生程序中的关键语句的条数, 判断程序的逻辑合理性, 给出相应分值。 5 结束语 目前, 利用计算机对学校各门课程考试试题库进行管理、组卷、测试、评分系统的开发与使用, 已成为各个院校教学改革的重点内容之一。限于篇幅, 本文只重点介绍编程题目的自动评分方法的实现。 参考文献 [1]赫伽宁.结合动态测试与静态分析的编程题自动评分方法研究[D].哈尔滨工业大学, 2008. [2]谭浩强.C语言程序设计[M].北京:清华大学出版社, 2004. [3]王春霞.自动阅卷系统的开发[J].盐城工学院学报, 2002 (15) . 学 号: 姓 名: 提交日期: 成 绩: 评 语: 教师签字: 通信工程C语言强化训练实验报告 小学数学出题系统 1、强化训练目的 a)C语言基本知识的巩固和综合运用。基本数据类型、基本控制结构、数组、指针、函数、结构体和共用体。 b)C语言高级编程。链表基本操作、文件的基本操作、图形和声音制作。c)程序的结构化设计。 d)编辑、设置、编译、调试、执行。e)C语言结合实际问题的综合设计。 2、设计题目功能 为小学生教学服务,能够根据小学生的需要随机抽出两位数的数学运算题,可根据需要进行加减乘除运算。由学生在电脑上答题,并对其判断正误和记分。 3、设计题目要求 两位数四则云算的出题功能 答案判断正误功能 分数累积功能: 4、程序流程图 —— 2 —— 通信工程C语言强化训练实验报告 —— 3 —— 通信工程C语言强化训练实验报告 5、主要代码 #include —— 4 —— 通信工程C语言强化训练实验报告 #include 通信工程C语言强化训练实验报告 for(i=0;i if(a>b){ printf(“n第%d题:%d-%d=”,i+1,a,b);scanf(“%d”,&user_answer[i]);answers[i]=a-b;} else { printf(“n第%d题:%d-%d=”,i+1,b,a);scanf(“%d”,&user_answer[i]);—— 6 —— 通信工程C语言强化训练实验报告 answers[i]=b-a;} } if(m==2||n==2){ printf(“n第%d题:%d*%d=”,i+1,a,b);scanf(“%d”,&user_answer[i]);answers[i]=a*b;} if(m==3||n==3){ if(a!=0&&b!=0){ s=a*b;printf(“n第%d题:%d/%d=”,i+1,s,a);scanf(“%d”,&user_answer[i]);answers[i]=s/a;} else { do a=rand()%100;while(a!=0&&b!=0);b=rand()%100;—— 7 —— 通信工程C语言强化训练实验报告 s=a*b;printf(“n第%d题:%d/%d=”,i+1,s,a);scanf(“%d”,&user_answer[i]);answers[i]=s/a;} } } printf(“结果和正确答案:n”);for(i=0;i } else printf(“%d:错误 %dn”,i+1,answers[i]);} score=100*score/k;printf(“n总得分(百分制):%fn”,score);if(score<60)printf(“很遗憾!你的分数不及格,继续努力n”);else printf(“恭喜!你的成绩合格n”);printf(“*****************************************************n”);} printf(“%d:正确 %dn”,i+1,answers[i]);score++; —— 8 —— 通信工程C语言强化训练实验报告 6、运行程序示例 第一个图反应执行加法的结果 第二个图反应执行减法的结果 第三个图反应执行乘法的结果 第四个图反应执行除法的结果 第五个图反应执行随机的结果 —— 9 —— 通信工程C语言强化训练实验报告 —— 10 —— 通信工程C语言强化训练实验报告 —— 11 —— 通信工程C语言强化训练实验报告 7、强化训练心得体会 本程序在刚开始调试时有许多错误,出现过不能运行、不能随机出现四则运算、不会输出正确结果、选择乘法却出现减法等等问题。经过我和队员的共同努力,这些问题得到解决,并且使程序的功能也得到了一定的完善。现在它能判断对错,并且给出正确答案及得分。 在这次设计过程中,不仅复习课本上所学知识,还通过查资料、询问同学了解到课本上没有的知识。从而启发我,要想写好程序,在学好课本知识的同时还需要多读和专业有关的一些书籍,同时还需要多动脑子,把所学的知识综合起来应用。除此之外,我还得到了一些有用的教训:写程序时必须要细心,不能输错一个字符标点。在修改时要有耐心,编译出错后必须逐个错误去改正,绝不能心急浮躁,否则修改之后还会有新的错误。 最后,能够完成这次课程设计必须感谢C语言课程指导老师刘福来老师,是他的倾囊相授教会了我C语言这门课程。 (初级程序员 讨论版) 前言 一个好的程序编写规范是编写高质量程序的保证。清晰、规范的源程序不仅仅是方便阅读,更重要的是能够便于检查错误,提高调试效率,从而最终保证软件的质量和可维护性。 说明 此文挡还在完善改进中,如有不足,欢迎指正。本文档主要适用于刚刚开始接触编程的初学者。 对于具有一定工程项目开发经验的程序员,建议学习C语言程序代码编写规范—高级版。 目录 代码书写规范 2 注释书写规范 3 命名规范内容代码书写规范 1.1函数定义 每个函数的定义和说明应该从第1列开始书写。函数名(包括参数表)和函数体的花括号(“{”和“}”)应该各占一行。在函数体结尾的括号(“}”)后面应该加上注释,注释中应该包括函数名,这样比较方便进行括号配对检查,也可以清晰地看出来函数是否结束。 范例1:函数的声明 void matMyFunction(int n){ …… } /* matMyFunction*/ 1.2空格的使用 使用空格分割所有演算符号和操作数。 这条规则的例外是“->”,““.”, “()”和“[]”,这些操作符和操作数之间不空格。当需要把一个程序行的内容分成几行写时,操作符号应该放在行末,而不是下一行的开头。 1.3缩进的设置 代码书写应该遵从结构化的要求,采用缩进的格式。最小缩进量为4个空格,整个文件内部应该统一,不要混用Tab键和4个空格这两种情况,因为不同的编辑器对Tab键的处理方法不同。 1.4折行的使用 每行的长度不要超过80个字符,当程序行太长时,应该分行书写。分行时应该按照自然的逻辑关系进行,例如:不要把一个简单的逻辑判断写在两行上。 分行后的缩进应该按照程序的逻辑关系进行对齐。例如:参数表折行后,下面的行应该在参数表左括号的下方。 范例2:折行的格式dwNewShape = matAffineTransform(coords, translation,rotation); if(((new_shape.x > left_border)&& (new_shape.x < right_border))&& ((new_shape.y > bottom_border)&& (new_shape.y < top_border))){ draw(new_shape);} 1.5嵌套语句(语句块)的格式 对于嵌套式的语句--即语句块(如,if、while、switch等)应该包括在花括号中。花括号的左括号应该单独占一行,并与关键字对齐。建议即使语句块中只有一条语句,也应该使用花括号包括,这样可以使程序结构更清晰,也可以避免出错。建议对比较长的块,在末尾的花括号后加上注释以表明该语言块结束。 范例3:嵌套语句格式 if(value < max){ if(value!= 0) { func(value); } } } else { error(“The value is too big.”);} /* if(value < max)*/ 注释书写规范 注释必须做到清晰,准确地描述内容。对于程序中复杂的部分必须有注释加以说明。注释量要适中,过多或过少都易导致阅读困难。 2.1注释风格 语言中使用一组(/* … */)作为注释界定符。注释内容尽量用英语方式表述。 注释的基本样式参考范例4。 注释应该出现在要说明的内容之前,而不应该出现在其后。 除了说明变量的用途和语言块末尾使用的注释,尽量不使用行末的注释方式。 范例4:几种注释样式 /* * ************************************************* 强调注释 * ************************************************ */ /* * 块注释 */ /* 单行注释 */ int i;/*行末注释*/ 2.2何时需要注释 如果变量的名字不能完全说明其用途,应该使用注释加以说明。 如果为了提高性能而使某些代码变得难懂,应该使用注释加以说明。对于一个比较长的程序段落,应该加注释予以说明。如果设计文档中有流程图,则程序中对应的位置应该加注释予以说明。 如果程序中使用了某个复杂的算法,建议注明其出处。 如果在调试中发现某段落容易出现错误,应该注明。命名规范 3.1常量、变量命名 用#define定义的符号常量全部采用大写。 变量命名的基本原则: 可以选择有意义的英文(小写字母)组成变量名,使人看到该变量就能大致清 楚其含义。 不要使用人名、地名和汉语拼音。 如果使用缩写,应该使用那些约定俗成的,而不是自己编造的。 多个单词组成的变量名,每个单词的首字母应该大写。如:dwUserInputValue。 3.2函数命名 C语言是一门通用计算机编程语言,应用广泛。下面是小编为大家整理的关于c语言课程设计的设计报告,欢迎大家的阅读。 高等职业教育的目标及侧重点不同于普通高等教育,其培养的学生在毕业后应能直接上岗,具有熟练的实践操作技能。教育部《关于以就业为导向深化高等职业教育改革的若干意见》中指出,高职教育应“坚持培养面向生产、建设、管理、服务第一线需要的‘下得去、留得住、用得上’,实践能力强、具有良好职业道德的高技能人才”。 因此,加强实践性课程教学,对保证人才培养质量显得尤为重要。我院为贯彻《关于全面提高高等职业教育教学质量的若干意见》精神,针对区域经济发展的要求,灵活调整和设置专业课程,以就业为导向,加快专业课程对应的课程设计改革。目前,我院按照由浅入深、不断深化的教学规律,构建了实践教学三层次四环节的实践课程体系。实践教学三层次包括基本技能、专业拓展、综合创新,四环节包括实验、实习实训、设计和课外实践。“C语言课程设计”是我院信息类专业的必修专业基础课程设计,在“C语言程序设计”课程教学结束后的下一学期进行,历时2周,40学时。课程开设的目的在于培养学生分析问题和解决问题的能力,为学生提供一个动手、动脑、独立实践的机会。 21项目教学法“项目教学法”是基于建构主义教学理论的一种教和学的模式。著名的瑞士心理学家皮亚杰认为,知识不是通过教师传授得到的,而是学生在一定的情境下,借助他人的帮助,利用必要的学习资料,通过意义建构的方式而获得的。美国项目管理专家约翰·宾认为:“项目是要在一定时间里,在预算规定范围内需达到预定质量水平的一项一次性任务。” “项目教学法”是通过实施一个完整的项目而进行的教学活动,旨在把学生融入有意义的任务完成的过程中,让学生积极地学习,自主地进行知识的建构,在课堂教学中把理论与实践教学有机地结合起来,充分发掘学生的创造潜能,提高学生解决实际问题的综合能力。因此,在教学活动中,教师将需要解决的问题或需要完成的任务以项目的形式交给学生,在教师的指导下,以小组工作方式,由学生自己按照实际工作的完整程序,共同制定计划,共同或分工完成整个项目。 在项目教学中,学习过程成为一个人人参与的创造实践活动,注重的不是最终的结果,而是完成项目的过程。在高等职业技术教育中,项目是指以生产或制作一样具体的、具有实际应用价值的产品的工作任务。在技术领域,很多小产品或一些复杂产品的模型都可以作为项目,如:在信息类专业,可以开展微机组装、网站建设、信息管理系统开发、局域网构建、单片机制作、多媒体课件制作等项目;在电子类专业,可以开展报警器、LED、门铃、家电组装等项目;在商业、财会和服务行业,所有具有整体特性并有可见成果的工作也都可以作为项目,如商品展示、产品广告设计、营销策划等。 22项目教学法的基本特征项目教学法与传统的教学法相比,有很大的区别,主要表现在改变了传统的3个中心:以教师为中心转变为以学生为中心;以课本为中心转变为以“项目”为中心;以课堂为中心转变为以实际经验为中心。项目教学法具有以下特点: 实践性。项目“源”于企业,项目的主题与真实世界密切联系,由浅入深,选择的项目具有典型性、实用性。 自主性。提供学生根据自己的兴趣选择内容和展示形式的决策机会,让学生能够自主地进行学习,从而有效地促进学生创造能力的发展。 发展性。长期项目与阶段项目相结合,构成了实现教学目标的认知过程。 评价特殊性。项目型教学的评价注重学生在项目活动中能力发展的过程,测评内容包括学生参与活动各环节的表现及作业质量,避免了传统的一张试卷定成绩的弊端。测评可以采用自评、小组评、教师综合评等方法。教师只有明确并抓住项目化教学特点,才能更好地完成教学目标。 31教学内容为了更好地开展课程设计教学,经过多次实践和摸索,总结出学生在具体实施项目中一般存在2个方面的知识不足: 第一,在教学内容上,由于前导课程在教学上受学时影响,很多教师对指针、结构体、共用体和文件基本操作的知识介绍不甚完善、系统,更难谈上辅以实例加以消化。对此,针对学生在这些知识点上的掌握程度,利用4~6个学时,实施区别式的、辅导性的、实例化教学。 第二,学生对项目管理知识知之甚少,针对此情况,采用2个阶段实施有别于常规教学的补课行动。第1阶段为项目准备阶段,利用2~4个学时,安排曾经做过项目且做得比较好的学生,现身介绍项目的准备工作、项目实施过程要完成的工作、项目验收及作业提交的工作等。在学生介绍中,教师穿插讲解,辅以点评。第2阶段为项目实施阶段,教师应针对学生发生的问题,及时给予指导,直到学生弄懂为止。 32教学要求切实保证教学质量和教学效果,本着“学以致用”的原则,要求学生做到以下3点:第一要做到“学有三备”,即:在项目实施前做好知识储备,在项目实施中做好安全防备,项目结束时做好被评准备。第二要写好“三书一报告”。“三书”即每个项目组要做需求规格说明书、概要设计说明书、详细设计说明书,“一报告”即人人都要做课程设计报告。第三要做“四自”参与者。“一自”即自律,要求学生自觉履行学生守则和项目实施有关规则,不迟到、不早退、不缺席,实施点名制度,若无特殊原因,有5次旷课者自愿以重修论处;“二自”即自尊,要求学生尊重知识、尊重学习规律、尊重项目组成员、尊重教师、尊重自己;“三自”即自信,要求学生相信自己能够按时、按量、按质完成工作内容,遇到困难时,沉着、冷静,理性地寻找问题解决的办法;“四自”即自强,要求学生不满足自己已有的成绩和以往与课题项目组共同取得的成绩,用创新和超越的思想,做出比以前哪怕是前进一小步的事情。同时也要求教师做好相应的工作,如做好项目整体规划、精心准备、努力激发学生参与行为、为人师表、表扬为主、批评为辅、多分析、精点评等。 33项目实施进程项目教学法是一种生动、灵活、多样化的教学方法。在项目实施过程中,既不能生搬硬套地利用一个时间标准,又不能影响项目实施的整体进程,因此对时间的灵活处理是非常关键的,也是值得商榷的。 34明确项目内容,帮助学生立项立项首先要审题。当学生拿到项目列表时,最不能忽略的问题,就是提醒学生审题。审题恰当对学生以后开展各项工作是关键。审题时,学生首先要考虑自己的长、缺处,做到扬长避短,也就是说审题就是学生自己审自己完成该项目有多大的能力,有没有信心。只有学生明白自己,才可以避免以后实施项目过程中走弯路。同时既要建议学生在组建项目组时,考虑所在组的其他学生的长处和短处,又要尽量避免使被学生认定的差等学生没人愿意与其组合,而成绩好的学生又抱团的现象发生。 根据近几年带课程设计的经验,关于如何合理选择项目,建议教师应从学生的角度考虑以下4个因素,协助学生做好选题: 规模。项目规模太大会影响项目的完整性,项目规模太小难以体现课程的实践性。 难度。项目难度一定要适中,既要激发学生学习的兴趣又不能影响学生的自信心。 实用性。项目的选择应该是现实世界真实的工作任务,具有一定的现实和实用性。 功能: 1、每一条记录包括一位教师的职工号、姓名、职称、性别、3门主讲课程(课程名称、开课学期、课程性质(学位与非学位课)和教学效果),教学效果综合评分。 2、输入功能:可以一次完成若干条记录的输入。 3、显示功能:完成全部教师记录的显示。 4、查找功能:完成按姓名或课程查找教师的相关记录,并显示。 5、排序功能:按职工号或教学效果综合评分进行排序。 6、插入功能:按教学效果综合评分高低插入一条教师记录。 7、将教师记录存在文件中。 8、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观! 要求: 1、用C语言实现系统; 2、利用结构体数组实现教学信息的数据结构设计; 3、系统具有增加,查询,插入,排序等基本功能; 4、系统的各个功能模块要求用函数的形式实现; 5、将教学信息存在文件中。 课程设计的最后成果是实验报告一份,内容包括: 1、预习报告(题目、流程图、程序的设计思想等); 2、实验总结报告(测试方案、源程序代码(需打印)、调试中问题及解决方案、小结等)。 C语言课程设计任务书2 题目:酒店房间登记与计费管理系统 功能: 1、屏幕上出现一个界面,让操作员能够方便的选择所需要进行的操作,包括登记入住、查询房间的入住情况、查询当前费用、结账退房等操作。 2、对不同标准的房间实施不同的收费标准,也可以按天收费或按小时收费,可根据顾客需要在登记的入住的时候进行选择。 3、在结账退房时,根据入住的时间,计费方式和房间单价计算出总费用。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立房间列表,完成登记入住、查询房间入住情况功能。 3、进一步要求:完成计费和费用查询功能。 要求: 1、用C语言实现系统; 2、函数功能要划分好(结构化程序设计); 3、界面友好(良好的人机交互),加必要的注释; 4、要提供程序测试方案,程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。 课程设计的最后成果是实验报告一份,内容包括: 1、预习报告(题目、流程图、程序的设计思想等); 2、实验总结报告(测试方案、源程序代码(需打印)、调试中问题及解决方案、小结等)。 C语言课程设计任务书3 题目:大学生成绩管理系统 功能:成绩管理系统包含了学生的全部信息,每个学生是一个记录,包括学号,姓名,性别,各科成绩等。系统可完成: 信息录入——录入学生成绩信息(包括学生学号、姓名、各门课程的成绩等); 信息查询——输入学号,查询学生各门课程的成绩及所有课程的平均成绩;查询所有学生各门课程的成绩,并按可选的自定义规则进行排序; 信息删除与修改——输入学号,删除该学生的成绩信息、输入学号,查询并显示出该学生的成绩信息,并在此基础上进行修改; 信息保存——将学生的学号、姓名及各门课程的成绩等信息保存于外部存储器的文件中。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立一个文件,包括10个学生的必要信息,能对文件进行补充,修订,删 除,并能进行统计计算; 3、进一步要求:完成包括一个班,一个年级乃至一个系的系统。 要求: 1、用C语言实现系统; 2、函数功能要划分好(结构化程序设计); 3、界面友好(良好的人机交互),加必要的注释; 4、要提供程序测试方案,程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。 课程设计的最后成果是实验报告一份,内容包括: 1、预习报告(题目、流程图、程序的设计思想等); 2、实验总结报告(测试方案、源程序代码(需打印)、调试中问题及解决方案、小结等)。 C语言课程设计任务书4 题目:职工档案管理系统设计 功能:职工档案管理系统包含了职工的全部信息,每个职工是一条记录,包括编号,姓名,性别,出生年月,年龄,所在部门,职称,工资级别、电话等。系统可完成:信息录入、信息查询,并按可选的自定义规则进行排序;信息删除与修改(须设置密码),将职工的信息保存于外部存储器的文件中。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立一个文件,包括10个职工的必要信息,能对文件进行查询、补充、修订、排序、删除等; 3、进一步要求:能进行统计计算;完成包括整个职工的系统;对删除与修改等设置密码 要求: 1、用C语言实现系统; 2、函数功能要划分好(结构化程序设计); 3、界面友好(良好的人机交互),加必要的注释; 4、要提供程序测试方案,程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。 课程设计的最后成果是实验报告一份,内容包括: 1、预习报告(题目、流程图、程序的设计思想等); 2、实验总结报告(测试方案、源程序代码(需打印)、调试中问题及解决方案、小结等)。 C语言课程设计任务书5 题目:银行存取款管理设计 功能:能够输入和查询客户存款取款记录。在客户文件中,每个客户是一条记录,包括编号、客户姓名、支取密码、客户地址、客户电话、账户总金额;在存取款文件中,每次存取款是一条记录,包括编号、日期、类别、存取数目、经办人。类别分为取款和存款两种。本系统能够输入客户存款或取款记录;根据客户姓名查询存款和取款记录。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数; 2、完成最低要求:建立一个文件,包括输入10个客户的必要信息,能对文件进行输入、修订、删除。 3、进一步要求:完成客户姓名查询存款和取款记录,并能得到每次帐户总金额。 要求: 1、用C语言实现系统; 2、函数功能要划分好(结构化程序设计); 3、界面友好(良好的人机交互),加必要的注释; 4、要提供程序测试方案,程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。 课程设计的最后成果是实验报告一份,内容包括: 1、预习报告(题目、流程图、程序的设计思想等); 2、实验总结报告(测试方案、源程序代码(需打印)、调试中问题及解决方案、小结 等)。 C语言课程设计任务书6 题目:商品订购系统设计。 功能:屏幕上出现一个界面,让顾客或输入商品名称,或商品型号,或选择列表进而输入商品编号都可以,如查到所选商品,则列出商品编号、商品名称、商品型号、商品价格、商品产地、库存数量和已订购数量;然后给出选购流程:所选商品编号—列出对应商品的信息—要求顾客输入邮寄地址信息—确认订购,是否继续选购其它商品,列出所有选订商品,再次确认订购。建立两个文件,分别存放商品信息与订购信息。分步实施: 1、步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立一个小系统,包括10种产品能供顾客选择。 3、进一步要求:完成全部功能的系统。 要求: 1、用C语言实现系统; 2、函数功能要划分好(结构化程序设计); 3、界面友好(良好的人机交互),加必要的注释; 4、要提供程序测试方案,程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。 课程设计的最后成果是实验报告一份,内容包括: 1、预习报告(题目、流程图、程序的设计思想等); 2、实验总结报告(测试方案、源程序代码(需打印)、调试中问题及解决方案、小结等)。 C语言课程设计任务书7 题目:设备管理系统设计 功能:设备管理系统应包含各种设备的全部信息,每台设备为一条记录(同一时间同一部门购买的若干台相同设备可作为1条记录),包括设备号、设备名称、领用人、所属部门、数量、购买时间、价格等。能够显示和统计各种设备的信息。 分步实施: 1、步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立一个文件,包含一个部门10台设备的信息,能对文件进行补充、修订、删除,能统计所有设备的总价值。 3、进一步要求:完成设备按种类、按所属部门进行统计。 要求: 1、用C语言实现系统; 2、函数功能要划分好(结构化程序设计); 3、界面友好(良好的人机交互),加必要的注释; 4、要提供程序测试方案,程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。 课程设计的最后成果是实验报告一份,内容包括: 1、预习报告(题目、流程图、程序的设计思想等); 2、实验总结报告(测试方案、源程序代码(需打印)、调试中问题及解决方案、小结等)。 C语言课程设计任务书8 题目:学生计算机机房管理系统设计 功能:该计算机房共有100台计算机,分为20排,每排50台。管理系统应包含每台计算机一周内的使用全部信息,包括计算机序号、配置、位置、状态、使用情况的历史记录(包括使用者姓名、学号、使用时间段)等。本系统可以模拟学生上机和离开的登记过程,查询机房计算机的使用情况。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立一个文件,包括200个计算机的必要信息,能实现学生上机和离开的登记过程模拟。 4、进一步要求:完成机房计算机的使用情况查询和打印。 要求: 1、用C语言实现系统; 2、函数功能要划分好(结构化程序设计); 3、界面友好(良好的人机交互),加必要的注释; 4、要提供程序测试方案,程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。 课程设计的最后成果是实验报告一份,内容包括: 1、预习报告(题目、流程图、程序的设计思想等); 2、实验总结报告(测试方案、源程序代码(需打印)、调试中问题及解决方案、小结等)。 C语言课程设计任务书9 题目:商店销售管理系统。 功能:屏幕上出现一个界面,让售货员输入商品编号或者商品名称,可以进货,进货后商品库存同时增加。顾客买走商品后,售货员输入商品编号或者商品名称,可以生成销售清单,统计本次销售总的价钱,同时库存数量相应减少。完成前面的基本功能后,还可以完成增加新的商品或删除不需要的商品的功能,以及每天销售统计功能等。 分步实施: 1、步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:能按商品编号进货和销售; 3、进一步要求:完成增加新的商品或删除不需要的商品的功能,以及每天销售统计功能等。 要求: 1、用C语言实现系统; 2、函数功能要划分好(结构化程序设计); 3、界面友好(良好的人机交互),加必要的注释; 4、要提供程序测试方案,程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。 课程设计的最后成果是实验报告一份,内容包括: 1、预习报告(题目、流程图、程序的设计思想等); 2、实验总结报告(测试方案、源程序代码(需打印)、调试中问题及解决方案、小结等)。 C语言课程设计任务书10 题目:计算机辅助教学(CAI)软件开发:教小学生学英语。 功能:屏幕上随机出现一个汉语单词,英语单词,汉语词组,英语词组或一短句提示小学生给出相应答案,答错了要提示要求重新输入,直到答对为止。要统计给分,且累计,够一定分数后可进级,即从单词到词组,从词组到短句。同样,也可降级。起步阶段可各选30个,软件可扩充,即扩大词库的容量。 (rand(),#include 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:能教单词,并有统计功能,即一次答对的成功率为90%以上后可晋级; 3、进一步要求:完成词组和短语的问答,也有晋级功能。 要求: 1、用C语言实现系统; 2、函数功能要划分好(结构化程序设计); 3、界面友好(良好的人机交互),加必要的注释; 4、要提供程序测试方案,程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。 课程设计的最后成果是实验报告一份,内容包括: 1、预习报告(题目、流程图、程序的设计思想等); 2、实验总结报告(测试方案、源程序代码(需打印)、调试中问题及解决方案、小结等)。 C语言课程设计任务书11 题目:五子棋 功能:1.由两个玩家分别下棋,当某一玩家五子相连,则赢。 2.界面要求:初始状态——显示棋盘,并显示两个玩家的操作键及初始玩家号;游戏进行状态——动态显示棋盘,不同玩家的棋子用不同符号显示,屏幕上显示当前玩家号,结束时显示赢家号。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:由两个玩家分别下棋; 3、进一步要求:可以考虑人机对弈。要求: 1、用C语言实现系统; 2、函数功能要划分好(结构化程序设计); 3、界面友好(图形界面,良好的人机交互),加必要的注释; 4、要提供程序测试方案,程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。 课程设计的最后成果是实验报告一份,内容包括: 1、预习报告(题目、流程图、程序的设计思想等); 2、实验总结报告(测试方案、源程序代码(需打印)、调试中问题及解决方案、小结等)。 C语言课程设计任务书12 题目:井子棋 功能:1.计算机为一方,人为一方,交替下棋,谁先连成一条直线谁胜;允许人选择先下还是后下。 2.界面要求:初始状态——显示棋盘,并显示玩家的操作键;游戏进行状态——动态显示棋盘不同玩家的棋子用不同符号显示,屏幕上显示当前玩家号,结束时显示赢家号。 3.提示计算机自动下棋的规则:计算机下时,应考虑所有空位,并按行、列、对角线计算每个空位的分值,若在某行(列、对角线)上,(设计算机画X,人画O) 已有XX 加50分 已有OO 加25分 已有X空 加10分 已有O空 加8分 都是空 加4分 然后选分值最高的位置画X。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:由人机分别下棋; 3、进一步要求:可以考虑使用鼠标。要求: 1、用C语言实现系统; 2、函数功能要划分好(结构化程序设计); 3、界面友好(图形界面,良好的人机交互),加必要的注释; 4、要提供程序测试方案,程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。 课程设计的最后成果是实验报告一份,内容包括: 1、预习报告(题目、流程图、程序的设计思想等); 2、实验总结报告(测试方案、源程序代码(需打印)、调试中问题及解决方案、小结 等)。 C语言课程设计任务书13 题目:迷宫游戏 功能:1.随机生成迷宫,找出由入口经过迷宫到达出口的一条路径,允许选择人或计算机找出路。 2.界面要求:初始状态——显示迷宫的图面;用箭头指出入口外和出口外;游戏进行状态——选择人找出路时,显示每一步的结果,到边了和遇上障碍,发出“嘟”的叫声。走到出口处,应给出“胜利”的字样;选择计算机找出路时,用一条有颜色的线画出路径,若找不出出口就显示“无出路”的字样。3.计算机找出路部分可选做。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:由人选择出路; 3、进一步要求:可以考虑由机器选择出路。要求: 1、用C语言实现系统; 2、函数功能要划分好(结构化程序设计); 3、界面友好(图形界面,良好的人机交互),加必要的注释; 4、要提供程序测试方案,程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。 课程设计的最后成果是实验报告一份,内容包括: 1、预习报告(题目、流程图、程序的设计思想等); 任务书及指导书 自动化学院 2011年 C语言课程设计任务书及指导书1 题目:学院教学信息管理系统 功能:学院教学信息管理系统,每一条记录包括教师的职工号、姓名、职称、性别、3门讲授课程的名称,教学效果综合评分。系统要求实现以下功能: 1、输入:输入每一位教师记录,将其信息写入文件中。 2、显示:显示每位教师记录。 3、排序:按职工号或教学效果综合评分进行排序,并显示。 4、查找:完成按姓名或课程查找教师的相关记录,并显示。 5、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。 2、完成信息的录入和显示(即通过编程创建文件,输入教师信息并可将文件内容显示出来) 3、完成排序功能。 4、完成查找功能(可按职工号、姓名、讲授课程进行查找)要求: 1、用C语言实现程序设计; 2、利用结构体来实现教师信息的处理; 3、系统的各个功能要求用函数实现; 4、界面友好(良好的人机交互),程序必须有注释。课程设计实验报告要求: 1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。 2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。 C语言课程设计任务书及指导书2 题目:酒店房间登记与计费管理系统 功能: 1、屏幕上出现一个界面,让操作员能够方便的选择所需要进行的操作,包括登记入住、查询房间的入住情况、查询当前费用、结账退房等操作。 登记入住的信息主要有:客人姓名、房间号、入住时间、计费方式(按天或小时)、单价、押金 房间信息:房间号、是否有人入住、房间标准、每天单价、小时单价 2、对不同标准的房间实施不同的收费标准,也可以按天收费或按小时收费,可根据顾客需要在登记的入住的时候进行选择。 3、在结账退房时,根据入住的时间,计费方式和房间单价计算出总费用。 4、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立房间列表,完成登记入住、查询房间入住情况等功能。 3、进一步要求:完成计费和费用查询功能;每次登录时读取保存在磁盘文件中的入住情况。要求: 1、用C语言实现系统; 2、系统的各个功能模块要求用函数实现; 3、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求: 1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。 2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。C语言课程设计任务书及指导书3 题目:学生成绩管理系统 功能:学生成绩管理系统,每个学生信息为一个记录,包括学号,姓名,性别,3门课程成绩。 系统要求实现以下功能: 1、信息录入:录入成绩学生信息(包括学生学号、姓名、性别、3门课程的成绩等); 2、信息查询:可以按照姓名或学号查询学生各门课程的成绩,并显示。 3、排序:按平均成绩或各门课程成绩按由高到低进行排序,并显示。 4、信息删除与修改——输入学号,可删除或修改该学生的成绩信息。 5、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。 2、完成信息的录入和显示(即通过编程创建文件,输入学生信息并可将文件内容显示出来) 3、完成上述信息查询、排序、信息删除与修改功能。 要求: 1、用C语言实现程序设计; 2、利用结构体数组实现学生信息的数据结构设计; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序要有必要的注释。课程设计实验报告要求: 1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。 2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。 C语言课程设计任务书及指导书4 题目:职工档案管理系统设计 功能:职工档案管理系统设计,每个职工信息是一条记录,包括编号,姓名,性别,出生年月,所在部门,职称,工资级别、电话等。系统可实现以下功能: 1、输入功能:输入每一位职工的信息并将信息存入文件中。 2、显示功能:完成全部职工记录的显示。 3、查找功能:完成按编号或姓名查找职工的相关信息,并显示。 4、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。 2、完成信息的录入和显示(即通过编程创建文件,输入职工信息并可将文件内容显示出来) 3、完成上述查找功能 4、完成修改功能,即输入编号,可修改该职工的信息 5、进一步要求,在使用修改功能时要求输入密码,密码正确才能修改信息否则不行。 要求: 1、用C语言实现程序设计; 2、利用结构体进行职工信息的处理; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序必须加注释。课程设计实验报告要求: 1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。 2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。C语言课程设计任务书及指导书5 题目:学生管理系统设计 功能:学生管理系统设计,每个学生信息作为一条记录,包括姓名、学号、性别、出生年月、专业、班级、家庭地址、宿舍号码等。系统要求实现以下功能: 1、输入功能:录入学生信息(包括学生学号、姓名、性别、出生年月、专业等); 2、显示功能:完成学生记录的显示。 3、查找功能:完成按学号或姓名查找学生的相关记录,并显示。 4、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。 2、完成信息的录入和显示(即通过编程创建文件,输入学生信息并可将文件内容显示出来) 3、完成修改功能,即输入学号,可修改该学生的信息 4、进一步要求,在使用修改功能时要求输入密码,密码正确才能修改信息否则不行。要求: 1、用C语言实现程序设计; 2、利用结构体数组实现学生信息的数据结构设计; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序要有注释。课程设计实验报告要求: 1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。 2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。 C语言课程设计任务书及指导书6 题目:银行存取款管理设计 功能: 1、能够输入和查询客户存款取款记录。在客户文件中,每个客户信息是一条记录,包括编号、客户姓名、支取密码、客户地址、客户电话、账户总金额;在存取款文件中,每次存取款是一条记录,包括编号、日期、类别、存取数目、经办人。类别分为取款和存款两种。本系统能够输入客户存款或取款记录;根据客户姓名查询存款和取款记录。 2、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数; 2、完成信息的录入(即通过编程创建文件,输入客户信息并可将文件内容显示出来) 3、完成存取款功能(即通过编程创建文件,用来记录存取款信息并可将文件内容显示出来) 4、完成修改功能,输入客户编号可以修改该客户的信息 5、进一步要求:完成客户姓名查询存款和取款记录,并可显示帐户余额。要求: 1、用C语言实现系统; 2、利用结构体进行相关信息处理; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序要有注释。课程设计实验报告要求: 1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。 2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。C语言课程设计任务书及指导书7 题目:院职工工资管理系统设计 功能: 1、院职工工资管理系统应包含职工的全部信息。每个职工信息是一条记录,包括编号、姓名、性别、出生年月、年龄、婚姻状况、家庭住址、职称、工资级别情况等。本系统重点进行工资管理,系统登陆后可计算职工工资总额和平均工资,可按工资进行排序,并能够找出工资级别相同的职工名单。 2、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数; 2、完成信息的录入(即通过编程创建文件,输入职工信息并可将文件内容显示出来) 3、计算职工工资总额和平均工资,可按工资进行排序,并能够找出工资级别相同的职工名单。要求: 1、用C语言实现程序设计; 2、利用结构体进行相关信息处理; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序要有注释。课程设计实验报告要求: 1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。 2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。 C语言课程设计任务书及指导书8 题目:通讯录管理系统 功能:录入联系人信息(包括姓名、电话号码、地址、备注等);通讯录管理系统要求实现以下功能: 1、输入每一位联系人记录,将其信息存入文件中。 2、查询所有联系人的信息,并按可选的自定义规则进行排序; 3、记录修改,将修改的记录信息保存于文件中。 4、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。 2、完成信息的录入和显示(即通过编程创建文件,输入学生信息并可将文件内容显示出来) 3、完成查询功能(可按姓名、电话号码等进行查询) 4、完成信息删除与修改功能,输入联系人姓名后可删除或修改该条信息。 5、进一步要求,在使用修改功能时要求输入密码,密码正确才能修改信息否则不行。要求: 1、用C语言实现程序设计; 2、利用结构体进行相关信息处理; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序要有注释。课程设计实验报告要求: 1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。 2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。 C语言课程设计任务书及指导书9 题目:计算机辅助教学(CAI)软件开发:教小学生学算术。 功能: 1、可做个位数,十位数的加,减,乘和除,减法不能得负数,除法要除尽,屏幕上随机出现两个数,提示小学生给出答案,答错了要提示重新输入,直到答对为止。要统计给分,且累计,够一定分数后可进级,即从个位进到十位。同样,也可降级。 (rand(),#include 2、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成基本要求:能进行个位数的加法和减法,并有统计晋级功能,即一次答对的成功率为 90%上后可晋级,继续进行十位数的加减运算; 3、进一步要求:将当前晋级等级保存在磁盘文件,学生下次按这个等级开始做题。要求: 1、用C语言实现程序设计; 2、系统的各个功能模块要求用函数的形式实现; 3、界面友好(良好的人机交互),程序要有注释。课程设计实验报告要求: 1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。 2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。 C语言课程设计任务书及指导书10 题目:学生考勤系统设计 功能: 1、学生考勤系统应包含各班学生的全部信息。每个学生是一条记录,包括姓名、性别、学号、日期、节次、出勤情况等。本系统可模拟考勤过程,记录考勤结果,并能够在课程结束后按照设定的考勤评分标准自动给出每个学生的考勤分数。 2、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数; 2、完成考勤录入功能(即通过编程创建文件,输入学生信息并可将文件内容显示出来) 3、完成查询功能(可以按照学号或姓名进行查询) 4、完成修改功能,输入学号、日期、节次信息后可修改该条信息的内容。 4、进一步要求:自动给出每个学生的考勤分数 要求: 1、用C语言实现程序设计; 2、利用结构体进行相关信息处理; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序要有注释。课程设计实验报告要求: 1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。 2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。 C语言课程设计任务书及指导书11 题目:学生选修课程系统设计 功能: 1、假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息。试设计一选修课程系统。 2、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数; 2、完成课程信息的录入和显示(即通过编程创建文件,输入课程信息并可将文件内容显示出来) 3、完成查询功能(可以按照课程编号、课程名称、课程性质等进行查询) 4、完成修改功能输入课程编号后可以修改该课程信息。 5、进一步要求:实现学生选修课程功能 要求: 1、用C语言实现程序设计; 2、利用结构体进行相关信息处理; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序要有注释。 课程设计实验报告要求: 1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。 2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。 C语言课程设计任务书及指导书12 题目:商品订购系统设计。 功能: 1、屏幕上出现一个界面,让顾客或者输入商品名称,或者输入商品型号,或者给出商品选择列表供用户选择让用户输入所选商品编号,如查到所选商品,则列出商品编号、商品名称、商品型号、商品价格、商品产地、库存数量和已订购数量;然后给出选购流程:所选商品编号—列出对应商品的信息—要求顾客输入邮寄地址信息—确认订购,是否继续选购其它商品,列出所有选订商品,再次确认订购。建立两个文件,分别存放商品信息与订购信息。 2、保存:将相关数据写入磁盘文件,便于存、取操作。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立一个小系统,包括10种产品能供顾客选择。 3、进一步要求:完成全部功能的系统。要求: 1、用C语言实现程序设计; 2、利用结构体进行相关信息处理; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序要有注释。课程设计实验报告要求: 1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。 2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。C语言课程设计任务书及指导书13 题目:设备管理系统设计 功能: 1、设备管理系统应包含各种设备的全部信息,每台设备信息为一条记录,包括设备号、设备名称、领用人、所属部门、数量、购买时间、价格等。能够显示和统计各种设备的信息。 2、保存:将相关数据写入磁盘文件,便于存、取操作。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成信息的录入和显示(即通过编程创建文件,输入设备信息并可将文件内容显示出来) 2、能对文件进行追加、修改、删除,能统计所有设备的总价值。 3、进一步要求:完成设备按种类、按所属部门进行统计。 要求: 1、用C语言实现程序设计; 2、利用结构体进行相关信息处理; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序要有注释。 课程设计实验报告要求: 1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。 2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。 C语言课程设计任务书及指导书14 题目:学生计算机机房管理系统设计 功能: 1、该计算机房共有100台计算机,分为20排,每排5台。管理系统应包含每台计算机一周内的使用全部信息,包括计算机序号、配置、位置、状态、使用情况的历史记录(包括使用者姓名、学号、使用时间段)等。本系统可以模拟学生上机和离开的登记过程,查询机房计算机的使用情况。 2、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成信息的录入和显示(即通过编程创建文件,输入计算机信息并可将文件内容显示出来) 3、能实现学生上机的登记过程模拟; 4、进一步要求:查询机房计算机的使用情况。要求: 1、用C语言实现程序设计; 2、利用结构体进行相关信息处理; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序要有注释。 课程设计实验报告要求: 1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。 2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。C语言课程设计任务书及指导书15 题目:商店销售管理系统。 功能: 1、屏幕上出现一个界面,让售货员输入商品编号或者商品名称,可以进货,进货后商品库存同时增加。顾客买走商品后,售货员输入商品编号或者商品名称,可以生成销售清单,统计本次销售总的价钱,同时库存数量相应减少。完成前面的基本功能后,还可以完成增加新的商品或删除不需要的商品的功能,以及每天销售统计功能等。 2、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成信息的录入和显示(即通过编程创建文件,输入商品信息并可将文件内容显示出来) 3、能按商品编号进货和销售; 4、进一步要求:完成增加新的商品或删除不需要的商品的功能,以及每天销售统计功能等。要求: 1、用C语言实现程序设计; 2、利用结构体进行相关信息处理; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序要有注释。课程设计实验报告要求: 1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。 2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。 C语言课程设计任务书及指导书16 题目:计算机辅助教学(CAI)软件开发:教小学生学英语。 功能: 1、屏幕上随机出现一个汉语单词,英语单词,汉语词组,英语词组或一短句提示小学生给出相应答案,答错了要提示要求重新输入,直到答对为止。要统计给分,且累计,够一定分数后可进级,即从单词到词组,从词组到短句。同样,也可降级。起步阶段可各选30个,软件可扩充,即扩大词库的容量。 (rand(),#include 2、保存:将相关数据写入磁盘文件,便于存、取操作。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:能教单词,并有统计功能,即一次答对的成功率为90%以上后可晋级; 3、进一步要求:将词库、当前晋级等级保存在磁盘文件,每次登录时读取。要求: 1、用C语言实现程序设计; 2、利用结构体进行相关信息处理; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序要有注释。课程设计实验报告要求: 1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。 2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。 C语言课程设计任务书及指导书17 题目:飞机订票系统设计 功能: 1、本飞机共有80个坐位,分20排,每排4个位子。编号为A,B,C,D。如10D表示10排D座。A和D靠窗,19到20排为吸烟区。本系统可让乘客自己选座号和区域,直到乘客满意为止,无法满足的话,只能改乘另一个航班。定上票的乘客需给出姓名和身份证号,最后要打印出乘客清单。 2、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立一个小系统,包括5排座位,两个区域,能供乘客选择; 3、进一步要求:每次登录时读取上次保存在磁盘文件中的订票记录。要求: 1、用C语言实现程序设计; 2、利用结构体进行相关信息处理; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序要有注释。课程设计实验报告要求: 1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。 2、实验总结报告:按照模板的格式。(任务书和报告模板在http://3e.xaut.edu.cn/c下载)。 C语言课程设计任务书及指导书18 题目:高速公路计费系统设计 功能: 1、在某高速公路出口收费处,对三种类型的车辆计费,大型车每公里0。5元,中型车每公里0。4元,小型车每公里0。3元,来车验条,乘公里数即得该收的款项。在交班时要统计出总金额数。 2、保存:将相关数据写入磁盘文件,便于存、取操作。分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立一个只有三个入口的计费系统,并能进行统计计算,打印出报表; 3、进一步要求:1)每次登录时读取上次保存在磁盘文件中的收费总额。 2)完成任意多个入口的通用系统。 要求: 1、用C语言实现程序设计; 2、利用结构体进行相关信息处理; 3、系统的各个功能模块要求用函数的形式实现; 4、界面友好(良好的人机交互),程序要有注释。课程设计实验报告要求: 1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。 【C语言课程设计《高速公路联网收费系统》代码】推荐阅读: c语言课程设计106-20 C语言课程设计选题09-15 c语言程序设计课程教学大纲20107-26 A01_C语言程序设计课程说明05-14 c语言实现机票管理系统源代码09-26 C语言课程08-31 c语言课程心得07-23 c语言必背入门代码08-26 计算机语言课程设计07-31C语言课程设计《高速公路联网收费系统》代码 篇2
C语言课程设计《高速公路联网收费系统》代码 篇3
C语言 程序代码编写规范 篇4
c语言课程设计设计报告 篇5
C语言课程设计选题 篇6
C语言课程设计任务书 篇7