学生成绩管理系统9041308.doc_第1页
学生成绩管理系统9041308.doc_第2页
学生成绩管理系统9041308.doc_第3页
学生成绩管理系统9041308.doc_第4页
学生成绩管理系统9041308.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

学生成绩管理系统1.问题描述. 1-22.系统功能设计. 3-43.详细功能说明. 5-64.程序实现.7-115.心得体会.12-136.参考文献.14一问题描述 1.设计主菜单,可重复显示系统功能的提示信息。 2.学生信息输入,要求用户输入要添加的学生的学号、姓名、各门课程成绩等。 3.显示学生信息:显示所有录入的学生信息,并统计学生人数。 4.查询学生信息:要求按照学号和学生姓名进行查找。若指定的学生存在则输出该学生的全部信息;否则,输出不存在的提示信息。 5.插入学生信息。 6.删除学生信息。 7.更改学生信息。 8.学生成绩排名:对学生按总成绩从高到低的顺序排列。9.导出数据:把学生信息保存到磁盘文件里。 10.导入数据:从外部文件中读取学生信息至系统中以便进行各种处理。 11.退出:结束程序运行。二系统功能设计 1、模块设计 学生成绩管理输入记录查询记录更新记录统计记录从文件读入从键盘读入按学号查询按姓名查询修改记录插入记录排序记录删除记录各科最高分和不及格人数输出致文件输出致屏幕输出记录2、流程图开始以可读写的方式打开一个数据文件将此文件的内容读出,并存入一个新的单链表中调用菜menu()单函数进入while(1)主循环输入【0-9】中的一个数值,选择相应操作输入是否为0是否已对修改进行了存盘判断键值,调用相应函数,完成相应功能调用save()函数,进行写数据文件操作结束 五详细功能说明 1、主控main()函数(1)在判断键值时,有效的输入为0-9之间的任意数值,其他输入都被视为错误按键,若输入为0,它会继续判断在对记录进行了更新操作之后是否进行了存盘操作,若未存盘,则全局变量saveflag=1,系统会提示用户是否需要进行存盘操作,用户输入Y或y,系统会进行存盘操作。最后,系统执行退出成绩管理系统的操作。 (2)0-9数字键的功能u 1 Add()函数 增加学生记录u 2 Del()函数删除学生记录u Qur()函数 查询学生记录u 4 Modify()函数 修改学生记录u 5 Insert()函数 插入学生记录u 6 Tongji()函数 统计学生记录u 7 Sort() 函数 降序排列操作u 8 Save()函数 存盘u 9 Disp()函数 打印2、输入模块3、查询模块4、更新模块(1)修改记录:(2)删除记录(3)插入记录(4)排序记录5、统计记录模块 它主要通过循环读取指针变量p所指的当前节点的数据域中的各文字段的值,并对各个字段进行逐个判断的形式,完成了单科最高分学生的查找和不及格人数的统计。6、输入记录模块 当把记录输出至文件时,调用fwrite(p,sizzeo(Node),1fp)函数,将p指针所指节点中的各字段值写入文件指针fp所指的文件。当把记录输出至屏幕时,调用voidDisp(Link1)函数,将单链表1中存储的学生记录信息以表格的形式在屏幕上打印出来。7、 五程序实现 1主函数main()Main()函数主要实现了对整个程序的运行控制,及相关功能的调用。Void main() Link 1; FILE 1; Int select; Char ch; Int count=0; Node *p, *r; L=(node*)mallo(sizeof (node); If(!l) Printf(“n allocate memory failure”; Return; L-next=null; R=1; Fp=fopen(“c:student “,”ab+”); If(fp=NULL; Printf(“n=can not open file!n”); Exit(0); While(!feo2.主菜单界面用户运行学生管理系统时,需要对其显示主菜单,提示用户进行选择,完成相应任务。此代码被main()函数调用。Void menu()3.表格形式显示记录由于记录显示操作经常进行,所以将这部分由独立的函数来实现,减少代码的重复。它将显示单链表1中的存储的学生记录,内容为student结构中定义的内容。Void Disp(Link 1)4.记录查找定位用户进入学生成绩管理系统时,在对某个学生记录处理前,需要按照条件找到这条记录,此函数完成了节点定位的功能。Node* Locate(link 1,char findmess,char nameornum)5.格式化输入数据在此学生管理系统中,它要求用户输入的只有字符型和数值型数据,所以设计了两个函数来单独进行处理,并对输出的数据进行检验。Void stinginput (char *t,int less,char *notice)6.增加学生记录在进入学生成绩管理系统时,若当数据文件为空,它将从单链表的头部进行增加学生记录节点,否则,它将此学生记录节点添加在单链表的尾部。Void Add(Link 1)7.查询学生记录当用户执行此查询任务时,系统会提示用户进行查询字段的选择,即按学号或姓名进行查询。若此学生记录存在,则会打印出此学生的记录信息。Void Qur(Link 1)8.删除学生记录在删除操作中,系统会按用户要求先找到该学生记录的节点,然后从单链表中删除该节点。Void Del (Link 1)9.修改学生记录在修改学生记录操作中,系统会按输入的学号查询到该记录,然后提示用户修改学号之外的值,但学号不能修改。Void Modify (Link 1)10.插入学生记录在插入学生记录操作中,系统会按学号查询到要插入的节点的位置,然后在该学号之后插入一个新的节点。Void Insert (Link 1)11.统计学生记录在统计学生记录操作中,系统会统计该班的总分第一名、单科第一名和和各科不及格人数,并打印输出统计结果。Void Tongji (Link 1)12.排序学生记录在排序学生记录操作中,系统会利用插入排序算法实现单链表的按总分字段的降序排序,并打印出排序前和排序后的结果。Void Sort (Link 1)13.存储学生记录在存储学生记录操作中,系统会将单链表中数据写入至磁盘中的数据文件,若用户对数据有修改之后没有专门进行此操作,那么在退出系统时,系统会提醒用户是否存盘。Void Save (Link 1)六Main()Int I,j;flat;Printf(“input number100-200n”);For(i=100;1=200;i+)For(j=2;j=sqrt(i);j+)If(i%j=o)Flat=0;break;If(flat=1)Printf(“%dshi yi ge su shun”,i);ElsePrintf(“%dbu shi su shun”,i);Fibonacci问题N=12;求sumN=1;n=2;n3=n1+n2; nx=n(x-2)+n(x-1)Main()Long n1,n2,n3;Int I;N1=1;n2=2;Printf(“%8ldn%8ldn”,n1

温馨提示

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

评论

0/150

提交评论