最新c语言程序设计报告学生成绩管理系统.docx
- 文档编号:28494140
- 上传时间:2023-07-15
- 格式:DOCX
- 页数:30
- 大小:171.29KB
最新c语言程序设计报告学生成绩管理系统.docx
《最新c语言程序设计报告学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《最新c语言程序设计报告学生成绩管理系统.docx(30页珍藏版)》请在冰豆网上搜索。
最新c语言程序设计报告学生成绩管理系统
(4)创新能力薄弱
3、消费“多样化”
成功秘诀:
好市口+个性经营
创新是时下非常流行的一个词,确实创新能力是相当重要的特别是对我们这种经营时尚饰品的小店,更应该勇于创新。
在这方面我们是很欠缺的,故我们在小店经营的时候会遇到些困难,不过我们会克服困难,努力创新,把我们的小店经营好。
我们认为:
创业是一个整合的过程,它需要合作、互助。
大学生创业“独木难支”。
在知识经济时代,事业的成功来自于合作,团队精神。
创业更能培养了我们的团队精神。
我们一个集体的智慧、力量一定能够展示我们当代大学生的耐心.勇气和坚强的毅力。
能够努力克服自身的弱点,取得创业的成功。
标题:
大学生究竟难在哪?
—创业要迈五道坎2004年3月23日
2、Google网站www。
people。
com。
cn
随着社会经济、文化的飞跃发展,人们正从温饱型步入小康型,崇尚人性和时尚,不断塑造个性和魅力的现代文化价值观念,已成为人们的追求目标。
因此,顺应时代的饰品文化显示出强大的发展势头和越来越广的市场,从事饰品销售是有着广阔的市场空间。
(二)DIY手工艺品的“热卖化”
成功秘诀:
好市口+个性经营
课程设计报告书
学生成绩管理系统
单位:
分院
班级:
学号:
姓名:
指导老师:
完成日期:
2010年7月14日
内容摘要
摘要:
本次课程设计的课题是学生成绩管理系统,本文介绍课程设计课题的选题意义,说明了本系统提供的主要功能,对设计思路、功能模块、流程图、功能模块、中心算法进行了详细的说明,并画出流程框图。
本文提供了完整的源程序代码,并展示了系统使用和运行效果。
最后给出了在小学期高级语言程序设计过程中的总结,其中包含本程序独特设计,作者的设计收获、设计中遇到的困难和问题,以及作者对设计题目及功能的改进意见,查阅的参考文献等方面的内容。
索引关键字
关键词:
源程序代码,学生成绩管理,流程框图
内容目录
1题目要求------------------------------------4
1.1内容要求--------------------------------------------------4
1.2设计要求--------------------------------------------------4
2设计思想------------------------------------5
3功能模块及流程图----------------------------5
4数据结构------------------------------------7
5中心算法代码说明----------------------------7
6系统实现------------------------------------8
6.1程序代码-------------------------------------------------8
6.2系统使用-------------------------------------------------21
6.3运行效果说明---------------------------------------------21
7总结---------------------------------------24
8致谢词-------------------------------------25
9参考文献-----------------------------------25
.正文
1题目要求
1.1内容要求
要求能够实现输入记录、查询记录、更新记录、统计记录、输出记录等功能。
1.输入记录。
对每个学生的学号、姓名、班级、数学、英语、计算机成绩进行输入并存储,在程序的运行过程中,数据的存储可以采用结构体数组或者链表,但是最终应该存储在文件中。
2.维护记录。
能够实现添加、删除、修改学生记录,但是一定要将最终数据存储到文件中。
3.查询记录。
根据班级、学号、科目等查询学生的成绩。
如果查询时学生数据并没有读入到结构体数组或者链表中,则应该先从文件中读出数据并存储在结构体数组或者链表中,然后在结构体数组或者链表中查询满足条件的数据。
4.统计记录。
完成对各门功课最高分和不及格人数的统计。
1.2设计要求
①各级菜单及功能间必须建立必要的联系,要定义参照完整性规则。
②使用二进制文件方式存储数据。
③要求有菜单界面,结果显示时应达到界面友好。
④将完成的全部内容连编成一个.exe文件。
。
2设计思想
1.在设计时考虑以下几个方面:
操作简单。
因为使用者多为非计算机专业人员,所以该系统要求设计的界面美观,操作方便。
要充分考软件界面友好和操作方便,便愈使用人员快速上手。
易于维护。
一个软件的好坏,关键在于产品的可靠,稳定,便于维护。
2.开发语言的选择
针对世界上流行的大量软件和开发工具,经过认真分析其优缺点,结合目前的软硬件开发环境,选用微软WINDOWS平台下的VisualC++作为软件开发工具。
选用工具有几下几方面优点:
1C语言简洁、紧凑、使用方便、灵活。
有32个关键字。
C语言程序比其他许多高级语言简练,源程序短,因此输入程序时工作量小。
2运算符丰富。
3数据类型丰富,具有现代语言的各种数据结构。
4C语言是完全模块化和结构化的语言。
用函数作为程序的模块单位,便于实现程序的模块化。
5语法限制不太严格,程序设计自由度大。
6生成目标代码质量高,程序执行效率高。
7用C语言编写的程序可移植性好。
综上所述,VisualC++可以满足学生成绩管理的要求,所以用来开发学生成绩管理系统是非常合适的。
3功能模块及流程图
学生成绩管理系统对学校加强学生基本情况及学生成绩管理有着重要的作用。
为了能使该系统具有更为广泛的功能:
应该将该系统细分为学生操作系统、教师操作系统、教务处操作系统,以满足不同身份的人的需求。
总体来说,该系统应分为输入模块、维护模块、查询模块以及统计模块。
由于本软件为学校中多个身份的人的定制开发的。
我们经过反复论证,最终确定了学生成绩管理系统的设计方案,主要流程图如下所示:
通过系统主菜单,可以使学校中不同身份的人选择不同的操作系统,从而合理的使用不同的功能。
4数据结构
结构体:
程序设计中用到的结构体类型:
学生信息结构体类型:
structstudent
{
intnum;
charnam[20];
charclas[20];
floatmath;
floatenglish;
floatcomputer;
}stu[SIZE];
5中心算法代码说明说明
1.voidsave()
{
FILE*fp;
intj;
if((fp=fopen("stu_list","wb"))==NULL)
{
printf("cannotopenfile\n");
return;
}
for(j=0;j if(fwrite(&stu[j],sizeof(structstudent),1,fp)! =1) printf("filewriteerror\n"); fclose(fp); } 以上代码将数据存入文件中,操作起来避免了直接对内存进行操作,可对文件进行操作。 2.for(i=0;i for(j=0;j {if(stu[i].math>stu[i+1].math) { t=stu[i].math; stu[i].math=stu[i+1].math; stu[i+1].math=t; } } for(j=0,i=0;i {if(stu[i].math<60) j=j+1; } 统计函数中使用起泡法排序再统计的方法 6.系统实现 6.1程序代码 代码如下: #include #include #defineSIZE34 structstudent { intnum; charnam[20]; charclas[20]; floatmath; floatenglish; floatcomputer; }stu[SIZE]; voidsave()/*将数据储存于文件*/ { FILE*fp; intj; if((fp=fopen("stu_list","wb"))==NULL) { printf("cannotopenfile\n"); return; } for(j=0;j if(fwrite(&stu[j],sizeof(structstudent),1,fp)! =1) printf("filewriteerror\n"); fclose(fp); } search(intn)/*查询学号函数*/ {intj; for(j=0;j if(n==stu[j].num) returnj;/*将j的值返回,通过search带回调用处*/ if(j>SIZE) return-1; } voidfunction1()/*添加记录*/ { voidxt2(); inti; chark; printf("****************************添加学生信息********************************\n"); for(i=0;i { printf("请输入该生学号: \n"); scanf("%d",&stu[i].num); printf("请输入该生姓名: \n"); scanf("%s",&stu[i].nam); printf("请输入该生所在班级: \n"); scanf("%s",&stu[i].clas); printf("请输入该生数学成绩: \n"); scanf("%f",&stu[i].math); printf("请输入该生英语成绩: \n"); scanf("%f",&stu[i].english); printf("请输入该生计算机成绩: \n"); scanf("%f",&stu[i].computer); getchar(); printf("完成本次操作! ! ! \n"); printf("是否返回上一菜单? y/n: \n"); k=getchar(); if(k=='n') continue;/*判断*/ else break; } save(); xt2(); } voidfunction2()/*删除学生记录*/ { voidxt2(); inti,j; chara,k; printf("****************************删除学生信息******************************\n"); printf("请输入要删除学生的学号: \n"); scanf("%d",&i); j=search(i); if(j==-1) {loop: printf("该学生不存在,请重新输入! \n"); printf("输入0退出\n"); for(j=0;j { if(j==-1) gotoloop; elsebreak; } } else {for(i=0;i {printf("原数据为: \n"); printf("学号%d,姓名%s,班级%s,数学成绩%4.1f,英语成绩%4.1f,计算机成绩%4.1f\n",stu[j].num,stu[j].nam,stu[j].clas,stu[j].math,stu[j].english,stu[j].computer); stu[j].num=0; stu[j].nam[20]=0; stu[j].clas[20]=0; stu[j].math=0; stu[j].english=0; stu[j].computer=0; printf("删除结果为\n"); printf("学号%d,姓名%s,班级%s,数学成绩%4.1f,英语成绩%4.1f,计算机成绩%4.1f\n",stu[j].num,stu[j].nam,stu[j].clas,stu[j].math,stu[j].english,stu[j].computer); save(); printf("完成本次操作! ! ! \n"); k=getchar(); if(k=='y') continue;/*判断*/ else break;} } printf("是否返回主菜单y/n: \n"); scanf("%c",&a); if(a=='y') xt2(); else function2(); } voidfunction3()/*修改*/ {charname[20],phy[10]; voidxt2(); printf("请输入要修改的学生姓名: "); scanf("%s",name); printf("\n"); inti; floatt; for(i=0;i change: if(strcmp(stu[i].nam,name)==0) { printf("请输入要修改的科目: "); scanf("%s",phy); if(strcmp("math",phy)==0) { printf("输入成绩: "); scanf("%f",&t); stu[i].math=t; printf("成绩为: %4.2f\n",stu[i].math); } elseif(strcmp("english",phy)==0) { printf("输入成绩: "); scanf("%f",&t); stu[i].english=t; printf("成绩为: %4.2f\n",stu[i].english); } elseif(strcmp("computer",phy)==0) { printf("输入成绩: "); scanf("%f",&t); stu[i].computer=t; printf("成绩为: %4.2f\n",stu[i].computer); } else { printf("错误,请重新输入: "); gotochange;} } save(); printf("完成本次操作! ! ! \n"); xt2(); } voidway1()/*按班级查询*/ { voidfunction4(); inti; charclas[20]; chara; loop: printf("请输入要查询学生的班级: \n"); scanf("%s",clas); for(i=0;i { if(strcmp(clas,stu[i].clas)==0) printf("学号%d,姓名%s,班级%s,数学成绩%f,英语成绩%f,计算机成绩%f\n",stu[i].num,stu[i].nam,stu[i].clas,stu[i].math,stu[i].english,stu[i].computer); if(i==SIZE) {printf("您所查询的信息不存在,请重新输入"); gotoloop;} } printf("完成本次操作! ! ! \n"); scanf("%c",&a); if(a=='y') way1(); else function4(); } voidway2()/*按学号查询*/ { voidfunction4(); inti; intnumber; chara; loop: printf("请输入要查询学生的学号: \n"); scanf("%d",&number); for(i=0;i { if(number==stu[i].num) printf("学号%d,姓名%s,班级%s,数学成绩%f,英语成绩%f,计算机成绩%f\n",stu[i].num,stu[i].nam,stu[i].clas,stu[i].math,stu[i].english,stu[i].computer); if(i==SIZE) {printf("您所查询的信息不存在,请重新输入\n"); gotoloop;} } printf("完成本次操作! ! ! \n"); scanf("%c",&a); if(a=='y') way2(); else function4(); } voidcheck1()/*按学生数学成绩查询*/ { voidway3(); inti; chara; charname[20]; loop: printf("请输入要查询的学生姓名\n"); scanf("%s",name); for(i=0;i {if(strcmp(name,stu[i].nam)==0) printf("%s的数学成绩是%f\n",name,stu[i].math); } printf("完成本次操作! ! ! \n"); scanf("%c",&a); if(a=='y') gotoloop; else way3(); } voidcheck2()/*按学生英语成绩查询*/ { voidway3(); inti; chara; charname[20]; loop: printf("请输入要查询的学生姓名\n"); scanf("%s",name); for(i=0;i {if(strcmp(name,stu[i].nam)==0) printf("%s的英语成绩是%f\n",name,stu[i].english); } printf("完成本次操作! ! ! \n"); scanf("%c",&a); if(a=='y') gotoloop; else way3(); } voidcheck3()/*按学生计算机成绩查询*/ { voidway3(); inti; chara; charname[20]; printf("请输入要查询的学生姓名\n"); scanf("%s",name); for(i=0;i {if(strcmp(name,stu[i].nam)==0) printf("%s的计算机成绩是%f\n",name,stu[i].computer); } printf("完成本次操作! ! ! \n"); scanf("%c",&a); if(a=='y') check3(); else way3(); } voidway3()/*按科目查询*/ { voidfunction4(); intcheck; printf("***************************请输入要查询的科目: **********************\n"); printf("1按学生数学成绩查询\n"); printf("2按学生英语成绩查询\n"); printf("3按学生计算机成绩查询\n"); printf("4.返回上一菜单\n"); printf("请选择: \n"); scanf("%d",&check); switch(check) { case1: check1();break; case2: check2();break; case3: check3();break; case4: function4();break;} } voidfunction4()/*查询记录*/ { voidmain(); intway; printf("**************************查询学生成绩********************************\n"); printf("1按班级查询\n"); printf("2按学号查询\n"); printf("3按科目查询\n"); printf("4返回主菜单\n"); printf("**********************************************************************\n"); printf("请选择: \n"); scanf("%d",&way); switch(way) { case1: way1();break; case2: way2();break; case3: way3();break; case4: main();break;} } voidfunction5()/*统计*/ { voidmain(); charphy[10]; inta; printf("请输入要统计的科目: "); shuru: scanf("%s",phy); if(strcmp("math",phy)==0) { inti,j; floatt; for(i=0;i for(j=0;j {if(stu[i].math>stu[i+1].math) { t=stu[i].math; stu[i].math=stu[i+1].math; stu[i+1].math=t; } } for(j=0,i=0;i {{if(stu[i].math<60) j=j+1; }} printf("数学最高分为%4.1f,不及格人数为%d\n",stu[SIZE].math,j); } if(strcmp("english",phy)==0) { inti,j; floatt; for(i=0;i for(j=0;j
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 语言程序设计 报告 学生 成绩管理系统