C语言课程设计学生成绩管理系统(

上传人:鲁** 文档编号:431206978 上传时间:2023-06-19 格式:DOC 页数:33 大小:196.50KB
返回 下载 相关 举报
C语言课程设计学生成绩管理系统(_第1页
第1页 / 共33页
C语言课程设计学生成绩管理系统(_第2页
第2页 / 共33页
C语言课程设计学生成绩管理系统(_第3页
第3页 / 共33页
C语言课程设计学生成绩管理系统(_第4页
第4页 / 共33页
C语言课程设计学生成绩管理系统(_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《C语言课程设计学生成绩管理系统(》由会员分享,可在线阅读,更多相关《C语言课程设计学生成绩管理系统((33页珍藏版)》请在金锄头文库上搜索。

1、 题目:学生成绩管理系统(1)一、课程设计时间2001011第2学期 第15周,共计1周,20学时。二、课程设计内容用C语言编写软件完成以下任务:1录入学生数据信息(不用考虑学期),学生信息至少包括姓名、学号、数学成绩三方面,学生信息应及时保存在文件中;2根据学号查询某生成绩;3插入新的学生数据信息。4统计分析:要求能够将成绩排序,并统计及格人数及及格率。三、课程设计要求:1. 程序质量:l 贯彻结构化程序设计思想。l 用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。l 用户界面中的菜单至少应包括“录入学生信息”、“查询某学生成绩”、“插入新生信息”、“统计分析”、“退出”5项。l

2、代码应适当缩进,并给出必要的注释,以增强程序的可读性。2. 课程设计说明书:课程结束后,上交课程设计说明书和源程序。课程设计说明书的格式和内容参见提供的模板。四、指导教师和学生签字指导教师:_ 学生签名:_五、成绩六、教师评语沈阳航空航天大学设计用纸目录一、需求分析1二、设计分析2三、主要界面截图3四、技术要点17五、个人总结20六、参考文献20七、源程序2131一、需求分析根据任务书给定的“课程设计内容”和“课程设计要求”作如下的需求分析。该系统是一个较典型的数据管理系统,其使用者被假定为某办公室的学生成绩管理人员,系统应该具有安全、稳定、功能齐全的特点。1. 安全性分析系统管理的数据涉及到

3、学院的所有同学,数据量较大且是一种基础性数据,能够为其它方面的学生管理工作提供重要参考,所以要通过设置密码等手段确保数据不能被随意的删减和修改。2. 稳定性分析指系统比较健壮,只要是用户的合理操作,系统都应给出合理正确的回应,而不是出现令用户感到意外的系统错误或系统崩溃。3. 主要功能分析(1)数据录入:允许用户输入学号、姓名、数学成绩。对用户由于疏忽录入的非法数据,能够及时提示并更正。(2)数据保存:对于输入的数据,或被修改的数据应该保存到某个磁盘文件中,实现永久存储。文件的具体格式题目未作具体要求,所以可采用随机文件,也可采用文本文件。不管采用哪种文件形式,文件中的数据应有固定的格式,以便

4、于程序自动读取或人工阅读。(3)数据查询:用户输入查询条件,系统规则地在界面显示查询结果,且显示的数据尽量全面。当输入学号时,可查询到该学生的学号、姓名、数学课程成绩信息。(4)统计分析:将录入学生成绩排序,统计及格率,且使显示尽量简洁,操作尽量简单。二、设计分析主要有6个功能模块,每个模块对应一个C语言自定义函数。这些函数原型及其功能简述如下:录入函数 (newrecord),查询函数(searchmenu),统计函数(listmenu),添加函数(addrecord),写入函数(writetofile),以及显示目录的主函数(main)。解决本题首先要解决两个问题:首先是录入文件或者读取文

5、件,录入相对,读取文件这一步我是参照书上可用 FILE *fp=fopen(),但是这一步又是非常麻烦,稍有不慎很可能就不能打开。其次,在读取文件时要先做一个循环,再构造一个主菜单的程序,即在用户界面首页输出简单的操作界面,为了能使用户在使用更加明了方便,可再构造子菜单。1、 主函数流程 void main()readfromfile();while (1)mainmenu(); 图2-1主函数流程图2.主要功能菜单流程图(1)主菜单流程void mainmenu()/主菜单 char choic;system(cls); printf(ntt*主菜单*); printf(ntt* 1-录入学

6、生信息 2-查询学生信息 *); printf(ntt* 3-插入新生信息 *); printf(ntt* 4-统计分析 *); printf(ntt* 5-保存退出 6-不保存退出*); printf(ntt*); printf(ntt请选择:); choic=getch();switch (choic) case 1:newrecord();break; case 2:searchmenu();break; case 3:addrecord();break; case 4:listmenu();break; case 5:writetofile();break; case 6:exit(0

7、); default:mainmenu(); 图2-2 执行主菜单流程图(2)case1执行录入函数该函数的核心内容是学生成绩信息被存在结构体里,需要把学生的姓名、学号、数学成绩、分别输入到结构体里。,实现多名学生信息的输入。具体的程序段如下void newrecord()/添加纪录 printf(ntt* 请输入学生信息 *n); printf(ntt输入学号:); scanf(%s,&studentnum.id); printf(ntt输入姓名:); scanf(%s,&studentnum.name); printf(ntt输入数学成绩:);scanf(%d,&studentnum.ma

8、cth);num+; printf(ntt是否继续添加?(Y/N):); if (getch()=y) newrecord(); return; 图2-3 录入函数流程图(3)case2执行查询函数该函数的核心内容是通过输入要查找的学生的学号,在结构体中逐一对照已有学生信息和要查找学生信息。如果和已有学生信息符合,则进行该学生数学成绩信息的输出,如果没有符合学生,则出现找不到学生信息!对话框。具体程序段如void searchmenu()/查询菜单 char choic;system(cls);printf(ntt* 查询菜单 *); printf(ntt* 1-显示所有 2-按学号查询 *)

9、; printf(ntt* 3-返回主菜单*); printf(ntt*); printf(ntt请选择:); choic=getch();switch (choic)case 1:showall();break; case 2:searchbyid();break; case 3:mainmenu();break; void searchbyid()/按学号查询 int mark=0; int i; int a=0; printf(ntt* 按学号查找 *n); char id10; printf(ntt请输入学号:); scanf(%s,id); for(i=0;inum;i+) if (

10、strcmp(studenti.id,id)=0) printf(ntt* 以下是您查找的学生信息 *); printf(ntt学号: %s,studenti.id); printf(ntt姓名: %s,studenti.name);printf(ntt数学成绩: %d,studenti.macth);printf(ntt*); printf(ntt按任意键返回主菜单:); mark+; getch(); return; if (mark=0) printf(ntt没有该学生的信息); printf(ntt按任意键返回主菜单); getch(); return; void showall()/

11、显示所有 int i; system(cls); if(num!=0) printf(ntt* 以下为学生系统所有信息*); for (i=0;inum;i+) printf(ntt学号: %s,studenti.id); printf(ntt姓名: %s,studenti.name); printf(ntt数学成绩: %d,studenti.macth); printf(tt); if (i+1num) printf(ntt_); system(pause); printf(ntt*); else printf(ntt学生系统中无任何纪录); printf(ntt按任意键返回主菜单:); getch(); return; 图2-4 查询函数流程图(3)case3执行添加函数该函数的核心内容是将新生成绩信息存在结构体里,需要把学生的姓名、学号、数学成绩、分别输入到结构体里。,实现多名学生信息的输入(与录入函数相似)。具体的程序段如下void addrecord()/插入新信息 printf(ntt* 请输入学生信息 *n); printf(ntt输入学号:); scanf(%s,&studentnum.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号