C语言程序设计实习报告学生信息管理系统_第1页
C语言程序设计实习报告学生信息管理系统_第2页
C语言程序设计实习报告学生信息管理系统_第3页
C语言程序设计实习报告学生信息管理系统_第4页
C语言程序设计实习报告学生信息管理系统_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

C语言课程设计题目:学生信息管理系统设计者:梁天江专 业:机械设计制造及其自动化班级学号:072084-31所属院系:机电学院指引教师:吴湘宁1-题目和规定:NNNvoidde1()N(intiJ;charc[20];Printf("\n输入你要删除的学生学号:\n");printff'num:");scanf("%s",&c);for(i=0;i<3;i++)if(strcmp(c,stu[i].num)==O)break;for(j=i;j<=2;j++)stu[j]=stu[j+l];Printf你已经删除%s的信息\n",c);k--;outputgrode();)⑷显示模块(显示学生成绩总分)voidaIIgrade(){inti;floatsum=0;for(i=0;ivk;i++){Printf("\t%d\t%d\t%d\n"5stu[i].grade[0],stu[i].grade[1]zstu[i].grade[2]);sum=sum+stu[i].grade[0]+stu[i].grade[]]+stu[i].grade[2]; }printf("总成绩是%f",sum);)voidpaixu(){structstudenttemp;intij;for(i=0;i<k-l;i++)(for(j=i+l;j<k;j++)(if(stu[i].num<stu[j].num)(temp=stu[i];stu[i]=stu[j];stu[j]=temp;)})outputgraded;)2.上机操作1、数据源全班学生信息文献stud㊀nt.txt格式:每行储存一种学生信息,内容涉及学生学号、姓名、年龄、数学成绩、英语成绩、物理成绩。例如:2、编译、链接和运营(略)3、成果(1)主菜单函数[口[口I回I-abJ[口I[口I回I-abJwD:\user\DesktopXCg^^RXDebugX^^fiSc^^^^^t.exe"学生成绩管理系统作者:梁天江班级:072084-3工学号:20081004528123456123456123456学记记成成的生生生班人改除一春出插修删显要录一己与录录123456学记记成成的生生生班人改除一春出插修删显要录一己与录录分总口手^绩绩输入你要操作的序号:(2)插入模块在主界面浮现后输入1回车,即可插一种学生信息,涉及学号、姓名、年龄、数学、英语、物理成绩。如下图所示:学记记成成的生生生班人改除一矍出插显甯123456输入你要操作的序号:1输入学生信息:学号-I姓名:Hang年龄:202主贝成成绩3:95续,请输入学生信息〈y/n〉:.“一□KZIH(3)修改模块,D:\user\Desktop\C去定稿\Debug\学生成绩管理系统,exe”1212131213zhao 1213qian 19 88 76 80学生成绩管理系统作者:梁天江班级:072084-31学号:20081004528123456生录录绩绩学记记123456生录录绩绩学记记的生生生班入改除一寮出插修删显望输入你要操作的序号=2输入你要修改的学生学号:工2你确定要修改学号吗?<y/n>:n你确定要修改学生姓名吗?<y/n*n输入你要操作的序号:3输入你要删除的学生学号:nun:12你已经删除12的信息学生信息是:11 Hang 20 88 90 9513 qian 19 88 76 80学生成绩管理系统作者:梁天江班级:072084-31学号:20081004528.--..一机J..-TF-123456学记记成成的生生生班除一浪出插显昌.--..一机J..-TF-123456学记记成成的生生生班除一浪出插显昌记和名录录绩绩.B

tr号AJf(5)显示模块(显示全班学生成绩和总分)•D:\user\DesktopC7云造①ebjg,W生或落,式至流exe:123456生录录绩绩学记记命生生生班入改除一甭出癖修删显123456生录录绩绩学记记命生生生班入改除一甭出癖修删显输入你要操作的序号=488 90 9588 76 80总成绩是517.000000学生成绩管理系统作者:梁天江班级:072084-31学号:20081004528123456插修删显望生录录学记记123456插修删显望生录录学记记生生班人改除一部出输入你要操作的序号;'D:\user\Desktop\C乏定欲Drbug\学生成绩管统,exe分a和录录记记成成生生生班改除一南出19 88 76 802019 88 76 8020 88 90 9513 qian11 liang学生成绩管理系统作者:梁天江班级:072084-31学号:20081004528生录录学记记成成的生生生班人改除一南出插显甯123456输入你要操作的序号4.下面附上本次C语言课程设计的源程序include<stdio.h>incIude<string.h>incIude<stdIib.h>#incIude<conio.h>structstudent{charnum[10];charname[12];intage;intgrade[3];}stu[20];intk=0;voidinput();voidoutputgrade();voidchange();voidde1();voidaIIgrade();voidpaixu();voidmain()(inta;do(printf("\t\t\t\t\n");printf("\t\t\t\t学生成绩管理系统\n");printf("\n");primtf("\t\t\t作者:梁天江班级:072084-31学号:1004528\n");।t MiMMMM» MBMlMB*MM MBMBMO■—n\n");printf("\t 1.插入新的学生记录\n“);printf("\t2.修改学生记录\n");printf("\t 3.删除学生记录\n“);printf("\t 4.显示学生成绩和总分\n“);printf("\t 5.浏览全班成绩\n“);printf("\t 6.退出\n\rT);printf("输入你要操作曰勺序号:“);scanf("%d",&a);switch(a)(case1:printf("\n");input();break;case2:printf("\n");change();break;case3:printf("\n");del();break;case4:prin甘("\n");。1Igrade();break;case5:printf("\n");paixu();break;case6:printf("\n");exit(O);break;default:printf("\nThechoiceisbetween1to6.\n");)}whiIe(a!=0);voidinput(){intj;charch[20];printf("\n输入学生信息:\n");do{printf("\n学号:");scanf("%s",stu[k].num);printf("\n姓名:");scanf("%s",stu[k].name);printf("'n年龄:");scanf("%d",&stu[k].age);for(j=0;j<3;j++){printf("\n成绩scanff"%d",&stu[k].grade[j]);}k++;printf(“\n如要继续,请输入学生信息(y/n):");scanf("%s",ch);}whiIe(strcmp(ch,"y")==0||strcmp(ch,"Y")==0);outputgrade();)voidoutputgraded1.1问题提出与规定:学生成绩管理系统[规定]设计一种学生成绩管理系统,对在校某班学生几门课程的考试成绩进行统一管理。每个学生记录涉及学号、姓名、年龄、数学、英语、物理成绩,默认以学号为序寄存。(1)一种文献按以班为单位存储学生记录。。(2)将容许的操作分为六种A:插入一种新日勺学生记录(录入学生信息)B:修改学生记录C:删除一种学生记录D:登记成绩E:修改成绩F:浏览全班成绩(3)计算学生的总成绩(4)输出全班成绩表1.2需求分析.根据题目规定,由于学生信息是寄存在文献中,因此应提供文献时输入,输出等操作;在程序中需要浏览学生的信息,应提供显示,查找,排序等操作;此外还应提供键盘式选择菜单实现功能选择.2.功能实现设计:2.1总体设计:{inti;printf("学生信息是、n“);for(i=0;i<k;i++){printf("\t%s\t%s\t%d\t%d\t%d\t%d”,stu[i].num,stu[i].name,stu[i].age,stu[i].grade[O],stu[i].grade[1],stu[i].grade[2]);printf("\n"); })voidchange()(inti,j;chara[20],ch[10];Printf(”\n输入你要修改日勺学生学号:“);scanf("%$",a);for(i=0;i<k;i++)(if(strcmp(stu[i].num,a)==0){Printf("\n你拟定要修改学号吗?(y/n):");scanf("%s",ch);if(strcmp(chJy")==01|strcmp(ch,"Y")==0){printf("\nnum:");scanf("%s",stu[i].num);}Printf(“\n你拟定要修改学生姓名吗?(y/n):");scanf("%s",ch);if(strcmp(chy")==0||strcmp(chZ"Y")==0){printf("\nname");scant("%s",stu[i].name);}printf(“\n你拟定要修改学生成绩吗?(y/n):“);scanff'%s",ch);printf("\n");if(strcmp(ch,"y")==0||strcmplch,"Y")==0)for(j=0;j<3;j++){printf("grade%d:",j+1);seanf("%d",&stu[i].grade[j]);printf }})outputgrade();)voiddeI()(intizj;charc[20];printf(”\n输入你要删除的学生学号:\n");printf("num:");scanf("%s",&c);for(i=0;i<3;i++)if(strcmp(c,stu[i].num)==0)break;for(j=i;j<=2;j++)stu[j]=stu[j+1];printf("\t\t\t你已经删除%s的信息\n”,c);k—;outputgrade();)voidallgrade(){inti;floatsum=0;for(i=0;i<k;i++){printf("\t%d\t%d\t%d\n",stu[i].grade[0]zstu[i].grade[l],stu[i].grade[2]);sum=sum+stu[i].grade[0]+stu[i].grade[l]+stu[i].grade[2] ;}prin甘(”总成绩是%f",sum);)voidpaixu(){structstudenttemp;inti,j;for(i=0;i<k-l;i++)for(j=i+1;j<k;j++)if(stu[i].num<stu[j].num)(tempostu[i];stu[i]=stu[j];stu[j]=temp;)})outputgrade();)5.实习心得:通过7次曰勺C语言课程设计上机实习,我学到了诸多东西。开始上机实习时,面对着繁琐的程序构造,我无从下手,一头雾水日勺我看到了《C语言课程设计与学习指引》中的第五章,“举一反三”部分。看完后,我“依葫芦画瓢”地在VISUALC++上写了简朴日勺程序模块。在同窗的协助下我做完了程序的主体部分。C语言课程时学习已通过去了几种星期。刚开始学习这门课程时时候,我发现老师在课堂上讲授的东西很抽象,不能应用于实际的生活中,并且C语言中的构造,算法等很高深,不容易被我们消化吸取。在上机实习的过程中,我发现C语言才是真正可觉得现实生活中日勺问题提供一种简朴快捷并且蕴涵着深深智慧的一种工具,作为当今时代的大学生,我们应当好好学习并掌握C语言。实际应用中我发现,诸多的操作系统都可以C语言编出来,真正实现了办事效率的优化。在上机实习的过程中,我发现C语言中的算法和构造具有很深的智慧,一种看似复杂的问题,用很巧妙的c程序算法和构造能奇妙地解决。我们应当在后来的学习和生活中将C语言所特有的解决问题的思路和措施融入自己的智慧中。止匕外,c语言编出来的程序很清晰,整洁,将问题有条不紊地分离开来,在一种大框架日勺总体思路下,将规定化为几种并列的函数,一种函数又一种函数地将问题一一解决。C语言这门课程所涉及日勺东西还诸多,很深。作为一名初次接触日勺学生,我在c语言课程的学习和这7次的事实上机操作中,对C语言有了进一步时理解。从老师开始从C语言的历史开始解说,到目前,能在老师和同窗的协助下完毕一种简朴的程序设计,我获益匪浅。遇到问题,分析问题,着手解决问题,并总结问题,C语言程序设计将解决问题并完善问题的总体过程告诉了我们,这对我们都是大有裨益的。分析系统:根据题目曰勺需求分析,可将这个系统设计为六大模块(见下图):插入学生信息,修改,删除,登记,浏览,记录。图):插入学生信息,修改,删除,登记,浏览,记录。图):插入学生信息,修改,删除,登记,浏览,记录。图):插入学生信息,修改,删除,登记,浏览,记录。2.2具体设计:1、主函数主函数设计得比较简洁,主函数设计得比较简洁,主函数设计得比较简洁,只提供输入、功能解决和输出部分的函数调用。主函数设计得比较简洁,只提供输入、功能解决和输出部分的函数调用。其中各功能模块用菜单方式选择;其流程图如下:根据n时值调用各功能模(任击)[程序]voidmain()(inta;do(printf("\t\t\t\t\n");printf("\t\t\t\t学生成绩管理系统'n");printf("\n");printf("\t\t\t作者:梁天江班级:072084-31学号:1004528\n");—\n\n"):Printf("\t1.插入新日勺学生记录\n“);printf("\t 2.修改学生记录\n“);printf("\t3.删除学生记录\n“);printf("\t 4.显示学生成绩和总分\n”);printf("\t 5.浏览全班成绩\n“);printf("\t6.退出\n\n“);printff"输入你要操作的序号:");scanf(”%cT,&ci);switch(a)(case1:printf("\n");input();break;case2:printf("\n");change();break;case3:printf("\n");del();break;case4:printf("\n");allgrade();break;case5:printf("\n");paixu();break;case6:printf("\n");exit(0);break;defauIt:printf("\nThechoiceisbetween1to6.\n");)}whiIe(a!=0);2、各功能模块设计⑴插入模块voidinput()intj;charch[20];Printf("\n输入学生信息、n“);do(printf("\n学号:");scanf("%s",stu[k].num);printf("\n姓名:");scanf("%s",stu[k].name);printf("\n年龄:");scanf("%d"z&stu[k].cige);for(j=0;j<3;j++){printf("\n成绩%d:”,j+1);scanf("%d"stu[k].grade[j]);}k++;printf(“\n如要继续,请输入学生信息(y/n):)seanf("%s"zch);}while(strcmp(ch,"y")==0||strcmp(ch,"Y")==0);outputgrade();voidoutputgrade()inti;printf("学生信息是、n“);for(i=0;i<k;i++)

温馨提示

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

评论

0/150

提交评论