c语言班级成绩管理系统_第1页
c语言班级成绩管理系统_第2页
c语言班级成绩管理系统_第3页
c语言班级成绩管理系统_第4页
c语言班级成绩管理系统_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

标准文案课程设计报告课程名称 C 语言程序设计课题名称 班级成绩管理系统专业网络工程班级1001学号201003120129姓名张剑指导教师唐北平、陈淑红、谭小兰2011年6 月20 日大全标准文案湖南工程学院课程设计任务书课程名称 C语言程序设计课 题 班级成绩管理系统专业班级网络工程学生姓名张剑学号201003120129指导老师唐北平、陈淑红、谭小兰审批任务书下达日期2011年6月20日任务完成日期2011年7月03日大全标准文案一、设计内容与设计要求1.设计内容: 对一个有N个学生的班级,每个学生有 M门课程。该系统实现对班级成绩的录入、 显示、修改、排序、保存等操作的管理。1、本系统采用一个结构体数组,每个数据的结构应当包括:学号、姓名、 M门课程名称。2、本系统显示这样的菜单:请选择系统功能项:a、 成绩录入、显示b、 成绩修改c、 成绩查询d、 成绩排序、统计e、 退出系统3、执行一个具体的功能之后,程序将重新显示菜单。2.设计要求:掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的问题,为将来编写软件积累一些典型的案例处理经验。设计正确,方案合理。界面友好,使用方便。程序精炼,结构清晰。设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。上机演示。6.按学号顺序选课题号,并在规定的时间内独自完成相关课题的 C源程序编写、调整和运行。源程序及编译生成各文件均保存在软盘中;7.按本任务书的要求,按附录的要求编写《课程设计报告》 (Word文档大全标准文案格式)。并用A4的复印纸打印并装订;二、进度安排第十八周星期18 时00分——11时30分星期214时30分——18时00分星期38 时00分——11时30分星期48 时00分——11时30分第十九周星期1 8 时00分——11时30分星期二 14时30分——18时00分大全标准文案目录一、功能简介6.1 主要功能介二、概要设计2.1程序的模块2.2程序流程三、详细设计3.1系统总体结构3.2学生信息录入3.3成绩查询系统3.4成绩删除模块3.5 排序统计系统3.6退出系统四、课程设计总结6.1课程设计心得6.2在程序设计中的问题和解决附录源程序清单(带注释)计算机与通信学院课程设计评分表大全标准文案一、功能简介1.1主要功能介绍1、本系统采用一个结构体数组, 每个数据的结构包括:学号、姓名、M门课程名称。2、本程序具有:(1)成绩录入(2)成绩显示(3)成绩删除(4)成绩排序、统计(5)退出系统二、概要设计2.1程序的模块统模块图如下:主函数主界面录显删查排统退入示除询序计出功功功功功功功能能能能能能能2.2 程序流程大全标准文案总流程开始输出界面1输入帐号N判断帐号Y输入密码NY判断密码输出界面2输入选项判断选项根据选项选择录入 修改 查询 排序 退出结束大全标准文案修改流程开始输出界面4Y输出界面3输入字符串输入学号N

判断匹配N判断学号输出界面 1Y输出姓名结束输入姓名输出英语成绩:输入英语成绩输出数学成绩:输入数学成绩输出c语言成绩输入c语言成绩大全标准文案查询流程开始输出界面 7输入学号输出各项成绩输出界面1结束结束流程

开始输出界面8输入字符串Y判断匹配N结束开始输出界面9结束大全标准文案三、详细设计3.1 系统总体结构3.2 学生信息录入3.3 成绩查询系统大全标准文案3.4 成绩删除模块3.5 排序统计系统3.6 退出系统六、课程设计总结6.1课程设计心得:课程设计给我一个学以致用的机会, 刚开始的时候还以为学这黑黑的东西没用,只是一些简单的计算。经过了这次的练习我才发现原来的黑屏有它自己的好处,通过学习也发现原来这种黑屏就是那些应用程序的原型, 不论你以后学程序开发还是网页的制作都有很好大好处,这些基础是培养学生综合运用所学知识 ,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节 ,是对学生实际工作能力的具体训练和考察过程 .随着大全标准文案科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。回顾起此次课程设计,至今我们仍感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。通过这次的学习我发现以后不管是哪一科我们尽量要把它拿过来使用,只有把知识应用到实际生活中才能说这知识是自己的啦。在以后找工作中这些作品就会是我的学习凭证,是我的能力的体现,不难想象一个公司要的是一些实际的东西不需要太多的理论。6.2在程序设计中的问题和解决:在调试过程中我们也遇到过不少的错误,警告等,有些错误多达二十多个,改得头都是晕的,有时就想放弃了,但是在老师的帮助下,我慢慢的将程序调好,这都归功于老师的帮助。有时我们在调试的时候无意间多打了一个空格或者是无意间删了一个字符,导致程序很多的错误,还有就是在建库的时候不能出错,一但出了一点错就得重新输入。所以,希望以后程序设计者一定要注意这点,一定要小心,三思而后行。还有就是程序本身存在很多不足,有待改进。比如修改模块,一次只能改一项数据。附录源程序清单(带注释)#include<stdio.h>#include<string.h>#include<windows.h>#include<conio.h>voidhomepage();//主界面voidinput();//录入插入voiddisplay();//显示全部成绩voiddel();//删除记录voidsort();//排序voidwaiting();//等待界面voidquit();//退出界面structstudent{intnum;大全标准文案charname[15];floatscore[3];floatavg;};intcount=0; // 当前学生个数intsort_type=0; // 当前排序类型structstudentstu[10];voidmain(){inti,k=0;charusername[15],pwd[6];system("color3d");printf("\n\n");printf("\t ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");printf("\t┃**********************************************************┃\n");printf("\t┃***┏━━━━━━━━━━━━━━━━━━━━━━━━┓***┃\n");printf("\t┃***┃************************************************┃***┃\n");printf("\t┃***┃*******┃***┃\n");printf("\t┃***┃****^__^*欢迎使用班级成绩管理系统*^__^*****┃***┃\n");printf("\t┃***┃*******┃***┃\n");printf("\t┃***┃***O(∩_∩)O湖南工程学院O(∩_∩)O****┃***┃\n");printf("\t┃***┃*******┃***┃\n");printf("\t┃***┃***网络工程1001张剑张贵廉开宇****┃***┃\n");printf("\t┃***┃*******┃***┃\n");printf("\t┃***┃***2011.06.25****┃***┃\n");printf("\t┃***┃*******┃***┃\n");printf("\t┃***┃************************************************┃***┃\n");printf("\t┃***┗━━━━━━━━━━━━━━━━━━━━━━━━┛***┃\n");printf("\t┃**********************************************************┃\n");printf("\t┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛大全标准文案\n");for(i=0;i<3;i++){printf("\n 请输入管理员账号 :");gets(username);printf("\n 请输入6位密码:");gets(pwd);if((strcmp(username,"wanggong1001")==0)&&(strcmp(pwd,"324520")==0)){printf("\n 您已经成功登录 \n");k=1;for(i=0;i<20;i++){printf(".");Sleep(100);}system("cls");homepage();break;}elseprintf("\n 用户名或密码无效 请重新输入:\n");continue;}if(k==0)printf("\n 连续输入错误 3次将退出程序\n");Sleep(2000);quit();}voidhomepage(){charn;printf("\n\n");printf("\t ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");printf("\t ┃ ************************************************************ ┃\n");printf("\t ┃* * * ┃\n");printf("\t ┃* 1. 录入成绩 * 2. 显示成绩 * ┃\n");printf("\t ┃* * * ┃\n");大全标准文案printf("\t┃************************************************************┃\n");printf("\t┃***┃\n");printf("\t┃*3.删除记录*4.排序成绩*┃\n");printf("\t┃***┃\n");printf("\t┃************************************************************┃\n");printf("\t┃**┃\n");printf("\t┃*0.退出程序*┃\n");printf("\t┃**┃\n");printf("\t┃************************************************************┃\n");printf("\t ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");while((n!='1')&&(n!='2')&&(n!='3')&&(n!='4')&&(n!='0')){printf("\n 请选择:");fflush(stdin);scanf("%c",&n);switch(n){case'1':input();break;case'2':if(count<10)display();else{printf(" 记录数已满\n");Sleep(2000);system("cls");homepage();}break;case'3':del();break;case'4':大全标准文案sort();case'0':quit();break;default:printf("\n 选项错误\n");}}}voiddisplay(){inti;charc;system("cls");switch(sort_type){case0:printf("\t\t 未排序:\n\n");break;case1:printf("\t\t 按学号排序:\n\n");break;case2:printf("\t\t 按c语言成绩排序:\n\n");break;case3:printf("\t\t 按数学成绩排序 :\n\n");break;case4:printf("\t\t 按英语成绩排序 :\n\n");break;case5:printf("\t\t 按平均成绩排序 :\n\n");break;}printf("\t 学号\t 姓名\tc 语言\t 数学\t 英语\t 平均成绩\n");for(i=0;i<count;i++){printf("\t%d\t%s\t%5.2f\t%5.2f\t%5.2f\t%5.2f\n",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].avg);}printf("\n\n 按任意键返回 \n");大全标准文案c=getch();system("cls");homepage();}voidinput(){inti,numcheck;charc;system("cls");do{printf(" 学号:\n");scanf("%d",&stu[count].num);numcheck=1;if(stu[count].num<0)printf(" 请输入正整数:\n");for(i=0;i<count;i++){if(stu[count].num==stu[i].num){numcheck=0;printf(" 学号重复,重新输入:\n");}}}while(!numcheck);printf(" 姓名:\n");fflush(stdin);gets(stu[count].name);for(i=0;i<3;i++){printf(" 第%d门课成绩:\n",i+1);scanf("%f",&stu[count].score[i]);}stu[count].avg=(stu[count].score[0]+stu[count].score[1]+stu[count].score[2])/3;printf(" 是否继续输入(y/n):\n");do{c=getchar();if(c=='y'||c=='Y'){count++;大全标准文案if(count<10)input();else{printf(" 记录数已满\n");Sleep(2000);system("cls");homepage();}}elseif(c=='n'||c=='N'){count++;system("cls");homepage();}else;}while((c!='y')&&(c!='n')&&(c!='Y')&&(c!='N'));}voiddel(){inti,j,del_num,match=0;charc;system("cls");printf(" 请输入要删除的学生学号 :\n");scanf("%d",&del_num);waiting();for(i=0;i<count;i++){if(stu[i].num==del_num){match=1;for(j=i;j<count;j++)/* {stu[j].num=stu[j+1].num;strcpy(stu[j].name,stu[j+1].name);stu[j].score[0]=stu[j+1].score[0];stu[j].score[1]=stu[j+1].score[1];stu[j].score[2]=stu[j+1].score[2];stu[j].avg=stu[j+1].avg;}*/stu[j]=stu[j+1];}}大全标准文案if(!match)printf(" 没有要找的学号 .\n");printf(" 是否继续删除?(y/n)");fflush(stdin);do{c=getchar();if(c=='y'||c=='Y'){count--;del();}elseif(c=='n'||c=='N'){count--;system("cls");homepage();}else;}while((c!='y')&&(c!='n'));}voidsort(){inti,j;intchoice;structstudenttemp;system("cls");printf("\t\t 请选择排序功能 :\n");printf("\t1. 按学号排序\n");printf("\t2. 按c语言成绩排序\n");printf("\t3. 按数学成绩排序 \n");printf("\t4. 按英语成绩排序 \n");printf("\t5. 按平均成绩排序 \n");do{scanf("%d",&choice);}while((choice!=1)&&(choice!=2)&&(choice!=3)&&(choice!=4)&&(choice!=5));switch(choice){case1:{for(i=0;i<count-1;i++){大全标准文案for(j=0;j<count-i-1;j++){if(stu[j].num>stu[j+1].num){temp=stu[j];stu[j]=stu[j+1];stu[j+1]=temp;}}}sort_type=1;break;}case2:{for(i=0;i<count-1;i++){for(j=0;j<count-i-1;j++){if(stu[j].score[0]<stu[j+1].score[0]){temp=stu[j];stu[j]=stu[j+1];stu[j+1]=temp;}}}sort_type=2;break;}case3:{for(i=0;i<count-1;i++){for(j=0;j<count-i-1;j++){if(stu[j].score[1]<stu[j+1].score[1]){temp=stu[j];stu[j]=stu[j+1];stu[j+1]=temp;}}}sort_type=3;大全标准文案break;}case4:{for(i=0;i<count-1;i++){for(j=0;j<count-i-1;j++){if(stu[j].score[2]<stu[j+1].score[2]){temp=stu[j];stu[j]=stu[j+1];stu[j+1]=temp;}}}sort_type=4;break;}case5:{for(i=0;i<count-1;i++){for(j=0;j<count-i-1;j++){if(stu[j].avg<stu[j+1].avg){temp=stu[j];stu[j]=stu[j+1];stu[j+1]=temp;}}}sort_type=5;break;}}system("cls");waiting();homepage();}voidwaiting(){大全标准文案inti;printf("\n\t

请稍侯

");for(i=0;i<25;i++){switch(i%4){case1:printf("\b\\");break;case2:printf("\b-");break;case3:printf("\b/");break;case0:printf("\b|");br

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论