c语言课程设计学生成绩管理系统_第1页
c语言课程设计学生成绩管理系统_第2页
c语言课程设计学生成绩管理系统_第3页
c语言课程设计学生成绩管理系统_第4页
c语言课程设计学生成绩管理系统_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

目录学生成绩管理程序标题要求2设计目的2整体设计3详细设计3调试和测试12源代码14汇总30学生成绩管理程序一.标题要求1.问题说明:统一管理在校学生几门考试的分数。每个学生记录包括学号、名字、年龄、数学、英语、物理分数,基本上按学号顺序存档。请求:(1)文件以班级为单位存储学生记录。(2)将允许的操作分为显示A、B、C、D、E和F的:四个类别插入A:学生记录。B:修改学生记录;C:删除学生记录;D:查找学生记录;E:浏览学生成绩:F:结束请计算学生的总成绩。4.按学号打印全体学生成绩单.二.设计目的根据主题要求,学生信息保存在文件中,因此必须提供文件的输入、输出等。程序中需要浏览学生的信息,并提供显示、查找、排序等。还应该提供用于选择功能的基于键盘的选择菜单。三.整体设计根据上述要求分析,该系统可以分为以下模块:输入模块:修改模块、删除模块、查找模块、显示模块。学生成绩管理系统输入数据显示数据修改数据删除数据查看数据四。详细设计1.主函数3360主函数的设计相对简单,通常只提供输入、处理和输出部分的函数调用,每个功能模块都是通过菜单方式选择的。流程图:显示一系列功能模块n输入n以确认n是否为a-fy根据n的值调用每个功能模块函数程序:/include head.h Int menu_select()char c;printf(“ n n”);Printf( | 1 .学生记录增加5。统计| n );Printf( | 2 .查询学生记录6。打开文件| n );Printf( | 3 .修改学生记录7。保存文件| n );Printf( | 4 .学生记录排序8。显示记录| n );Printf( | 0 .关机| n );printf(“ n n”);Printf(选择(0-8): );c=getchar();getchar();return(c-0);2.输入模块:分析:每个数据信息、学号、名称都是字符型的,可以使用字符型的数组。分数是整数,使用整数。数据信息保存在文件中,一个记录对应学生,习惯性,信息管理方便。要保留多个学生信息,请使用结构阵列:Void addrecord(student stud)Int i=0,j,numchar str5;If(numstus!=0)Printf(“是否有现有记录?(y/n) n );gets(str);If(str0=Y|str0=y)I=0;Else i=numstus请输入Printf(“增加的学生信息项目数:”)。);scanf(“% d”,num);If(i=0)Numstus=numElseinums tus=numIf(numstuslens)Lens=50pointer=(student *)realloc(pointer,lens * len);Printf(输入学生信息: n );for(;I0)I=menu _ select();/*控制菜单*/交换机(I)case 13360 add record(pointer);Break/*学生信息增长*/case 23360 find record(pointer);Break/*查看学生信息*/case : amend record(pointer);Break/*修改学生信息*/Case 4:sort(点);Break/*对学生信息排序*/Case静态(点);Break/*统计数据*/case 63360 openfile(pointer);Break/*打开文件*/case 7: write to text(pointer);Break/*保存文件*/case 83360 display(pointer,0,nums tus-1);Break/*显示记录*/Case 0:If(numstus!=0) printf(是否保存当前记录?(y/n);gets(str);If(str0=y|str0=Y)write totext(pointer);I=-1;Break/*关机*/请输入Default:printf(数字0到8: n )。);I=1;/*输入错误*/Printf(tt欢迎再次使用此系统。 n n );display 1();3.修改模块:分析:用户输入要修改的学生的学号,根据学生的学号等信息查找学生记录,然后询问用户修改该记录的哪个部分。根据您的选择修改相应的信息。流程图:输入要修改的学号找到吗?Y N显示未找到的消息显示记录,调用修正函数返回主菜单继续吗?yn程序:Void xiugai()If (FP=fopen (s _ score.txt , Rb )=null | |(fp1=fopen( temp . txt ,)Printf(Cannot open this file . n );exit(0);printf( n please shuru xiu Gai Xue Hao : );scanf(“% d”,I);getchar();While (fread (data,sizeof (data),1,FP)=1)j=atoi(data . Xue Hao);If(j=i)printf(“Xue Hao :% s nming zi :% s nnunling :% s n”,data.xuehao,data.mingzi,)printf( Please shuru mingzi : );gets(data . Ming zi);printf( please shuru shuxue score : );gets(temp);data . score0=atof(temp);printf( please input yingyu score : );gets(temp);data . score1=atof(temp);printf(“please input Wuli score :”);gets(temp);data . score2=atof(temp);data . score3=data . score0data . score1data . score2; fwrite (data,sizeof (data),1,fp1);Fseek(fp,0L,0);/*将位置指针从头文件移动到零字节*/Fseek(fp1,0L,0);While (fread (data,sizeof (data),1,fp1)=1)Fwrite(data,sizeof(data),1,FP);f close(FP);f close(fp1);4.删除模块:分析:这个模块的功能是输入用户要删除的学生的学号,根据学生的学号查找和删除记录。流程图:输入要删除的学号找到吗?Y N显示未找到的消息显示记录,调用删除函数返回主菜单继续吗?yn程序:删除Void deleteecord (student stu ,int I)/*信息*/int j;While(i=0)for(j=I;Jstudi。score)Studi。索引;5.寻找模组:需求分析:这个模块的功能是根据输入的学生的名字查找并找到相应的记录,然后显示相应的学生信息。流程图输入:学生学习编号返回主菜单询问是否继续显示未找到的消息显示找到的记录是否查找学生记录Y Nny程序:/include head.h Int find record (student stud /*查找信息*/char str2;Int i,numIf(numstus=0)Printf(找不到记录。 n );return-1;Else如何查找P

温馨提示

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

评论

0/150

提交评论