学生信息管理系统C语言编写-编辑学生信息如何写_第1页
学生信息管理系统C语言编写-编辑学生信息如何写_第2页
学生信息管理系统C语言编写-编辑学生信息如何写_第3页
学生信息管理系统C语言编写-编辑学生信息如何写_第4页
学生信息管理系统C语言编写-编辑学生信息如何写_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

-.z.目录1设计目的………………………32设计题目及要求……………………33设计算法分析………………33.1模块调用层次图………33.2核心算法描述………43.3系统特点………64程序代码………………………65调试情况……………………86结论……………11-.z.学生信息管理1.设计目的本课程设计的目的就是要通过一次集中的强化训练,使学生能及时巩固已学的知识,补充未学的但又必要的内容。进行课程设计目的在于加深对程序设计基础中基础理论和基本知识的理解,促进理论与实践的结合,进一步提高程序设计的能力。具体目的如下:1.使学生更深入地理解和掌握该课程中的有关基本概念,程序设计思想和方法。2.培养学生综合运用所学知识独立完成课题的能力。3.培养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。4.提高学生对工作认真负责、一丝不苟,对同学团结友爱,协作攻关的基本素质。5.培养学生从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。6.对学生掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力、书面及口头表达能力进行考核。2.设计题目及要求【1】设计题目【2】要求实现如下功能:(1)建立学生信息的结构体(2)学生信息的初始化(可以从文件获取)(3)学生信息的添加、修改、删除、查找(4)学生信息的输出(5)对学生信息按**、成绩排序(6)计算一门课的平均分和总分(7)将学生信息保存为文件综合应用数组、指针、结构体、文件等,对该设计题目进行设计和实现。课程设计完成后,提交课程设计报告。3.设计算法分析3.1模块调用层次图【1】变量描述定义形式/名称含义/作用数组charname[20]定义**数组结构体structstudentstu[50]声明一个结构数组全局变量intinput=0;floatave,sum;FILE*fp;全局变量标记当前录入学生个数文件stu_list2.doc保存学生信息函数SaveInputStuDelStuModifyStuFindStuInsertStuSortStuListStu保存录入删除修改查找插入排序显示学生信息【2】系统模块调用层次图MMListStuSortStuInsertStuFindStuModifyStuDelStuInputStuSaveListStuSortStuInsertStuFindStuModifyStuDelStuInputStuSave3.2核心算法描述1.总体模块流程图:开始开始!(scanf("%d",&in1)==1NT学生信息学生信息保存排序删除插入保存排序删除插入查询修改结束2.修改模块:结束for(i=0;i<=15;i++)for(i=0;i<input;i++)stu[i].num==idT(flag!=0)F(flag!=0)输出修改后学生信息printf("\n\nnull")3.查询模块:for(i=0;i<=15;i++)for(i=0;i<input;i++)(stu[i].num==id)T(flag=0)F(flag!=0)输出查询后学生信息printf("\n\nnull")(stu[i].classid==id)T(flag=0)F(flag!=0)输出查询后学生信息printf("\n\nnull")T(flag=0)(!strcmp(stu[i].name,name))F(flag!=0)输出查询后学生信息无找到有关信息4.插入模块:for(i=0;i<input;i++)stu[i].num=idT(flag=0)F(flag!=0)**信息已经存在输入要插入学生信息5.删除模块:ask!='n'TFi=0;i<input;i++stu[i].num==delnumT(flag=0)F(flag!=0)for(j=i;j<input;j++)删除成功且显示删除后数据删除指定学生的信息没有要删除的学生6.排序模块:chose==1TF(chose==2)for(i=0;i<input-1;i++)for(i=0;i<input-1;i++)for(j=i+1;j<input;j++)for(j=i+1;j<input;j++)stu[i].num>stu[j].numstu[i].ave<stu[j].aveTFTFtemp=stu[i]temp=stu[i]stu[i]=stu[j]stu[i]=stu[j]stu[j]=tempstu[j]=temp3.3系统特点【1】特点:这个学生信息管理系统建立了学生信息的结构体,实现了学生信息的录入、添加、修改、删除、查找等功能,并能计算学生的平均分和总分,对学生进行排序。4.程序代码【1】程序代码voidHelp();voidSave(structstudentstu[]);voidInputStu(structstudentstu[]);voidDelStu(structstudentstu[]);voidModifyStu(structstudentstu[]);voidFindStu(structstudentstu[]);voidInsertStu(structstudentstu[]);voidSortStu(structstudentstu[]);voidListStu(structstudentstu[]);voidmain(){structstudentstu[50];structstudent*p;intin;intin1;charch;voidInputStu(structstudentstu[]){pp=stu;system("cls");inti;printf("Numberofstudentsyouwanttoenterinformation:");scanf("%d",&input);if((fp=fopen("inputdata.sys","wb+"))==NULL){printf("Cannotopenfilestrikeanykeye*it!");getch();e*it(1);}voidModifyStu(structstudentstu[]){system("cls");pp=stu;intid,i,flag=1;if((fp=fopen("modifydata.sys","wb+"))==NULL){printf("Cannotopenfilestrikeanykeye*it!");getch();e*it(1);}voidFindStu(structstudentstu[]){system("cls");inti=0,id,flag=1,chose;printf("\nPleaseselectquery:1.No.inquiriesbyschool;2.Querybyclass;3.Querybyname\n");scanf("%d",&chose);switch(chose){case1:printf("PleaseenteryourqueryNo.students:");scanf("%d",&id);for(i=0;i<input;i++){if(stu[i].num==id){flag=0;stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3;stu[i].ave=stu[i].sum/3;printf("\nNo.Studies\Name\No.classes\Thefirstsubjec\Thesecondsubject\Thethirdsubject\Average\Total\n");voidInsertStu(structstudentstu[]){system("cls");intflag=1;pp=stu;inti,id;if((fp=fopen("insertdata.sys","wb+"))==NULL){printf("Cannotopenfilestrikeanykeye*it!");getch();e*it(1);}voidListStu(structstudentstu[]){inti=0;for(i=0;i<input;i++){stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3;stu[i].ave=stu[i].sum/3;}printf("\nNo.Studies\Name\No.classes\Thefirstsubjec\Thesecondsubject\Thethirdsubject\Average\Total\n");for(i=0;i<input;i++){printf("\n%d%s%d\t%d\t%d\t%d\t%d%d",stu[i].num,stu[i].name,stu[i].classid,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave,stu[i].sum);}getch();}voidDelStu(structstudentstu[]){system("cls");pp=stu;intdelnum,flag=1;charask;inti,j;if((fp=fopen("Deldata.sys","wb+"))==NULL){printf("Cannotopenfilestrikeanykeye*it!");getch();e*it(1);}voidSortStu(structstudentstu[]){system("cls");inti,j,chose;structstudenttemp;printf("Tosortthedatabefore:\n");printf("\nNo.Studies\Name\No.classes\Thefirstsubjec\Thesecondsubject\Thethirdsubject\Average\Total\n");for(i=0;i<input;i++){printf("\n%d%s%d%d\t%d\t%d\t%d\t%d\n",stu[i].num,stu[i].name,stu[i].classid,stu[i].score1,stu[i].score2,stu[i].scor

温馨提示

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

评论

0/150

提交评论