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

上传人:桔**** 文档编号:447343979 上传时间:2024-01-09 格式:DOC 页数:25 大小:701.02KB
返回 下载 相关 举报
C课程设计学生成绩管理系统_第1页
第1页 / 共25页
C课程设计学生成绩管理系统_第2页
第2页 / 共25页
C课程设计学生成绩管理系统_第3页
第3页 / 共25页
C课程设计学生成绩管理系统_第4页
第4页 / 共25页
C课程设计学生成绩管理系统_第5页
第5页 / 共25页
点击查看更多>>
资源描述

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

1、二一二一一 学年第 一 学期信息科学与工程学院课程设计报告书课程名称: 班 级: 学 号: 姓 名: 指导教师: 二一 年 九 月学生成绩管理程序一、 需求分析:设计要求:u 能录入学生信息存储在文件中,每位学生录入的信息有:姓名、学号、性别、班级、和三门功课(数学,英语,计算机)的成绩。如: 学号 姓名 性别 班级 数学 英语 计算机 0701 王鹏 男 1班 70 58 980702 李燕 女 2班 68 88 950703 赵亚芳 女 3班 58 48 96 0704 刘飞 男 4班 67 78 58u 能够统计每个学生三门课程的总成绩;u 能按学生学号查询其三门功课成绩并显示;u 能浏

2、览全部学生成绩;u 能按总成绩由高到低显示学生信息。系统功能分析: 该学生成绩管理系统有八大功能:1. 录入功能:能录入学生的学号,姓名,性别,英语,计算机等2. 排序功能:能按总分排序3. 查询功能:能按姓名查找该生的成绩并且显示其全部成绩4. 删除功能:能按学号删除某一个学生的成绩5. 修改功能:能按姓名修改某个学生的成绩6. 插入功能:能在已输入的成绩中插入一个新学生的成绩7. 显示功能:操作完以上的功能后每次返回主菜单选择该项便可将结果显示出来8. 保存与读取功能:能将数据自定义的txt格式保存在外部磁盘并且读取,二、 概要设计:(1) 主函数结构图: 主 函 数 录 入 模 块 排

3、序 模 块 删 除 模 块 修 改 模 块 插 入 模 块 显 示 模 块 查 询 模 块保 存 和 入 读 模 块(2)模块功能详细说明及思路:A、录入模块:此模块可以连续输入80个学生的资料,若学生数少于80,录入完后输入n就可退出此模块,输入y可以继续B、排序模块:在此模块可以将已经输入进来的学生按总分进行排序,此处排序使用的冒泡排序法C、查询模块:此模块中使用学生姓名对比查找,如对比存在就显示出来D、修改模块:此模块中先通过姓名对比找到要修改的学生成绩,然后覆盖原来已有的成绩从而达到修改某一个学生的任何一门功课的成绩E、删除模块:此模块中用到的删除原理为覆盖要删除的学生的资料。过程简述

4、,先输入要删除的学生的学号,系统找到此学生的信息后会给一个提示,是否删除信息,如是系统会再次要求输入学号并给它复制下一个学生的信息,给下一个学生的纪录复制下下一个学生的信息,一直到最后一个学生的信息复制给倒数第二个学生的信息为止。然后文件中的学生总数减一。F、插入模块:此模块能是在定义num当前已有的学生个数后,通过循环在后面加入的,直到输入N或n为止,即可完成插入函数G、显示模块:此模块能是被其它函数调用执行一次操作,再回到主菜单调用显示出经过以上操作的最终结果H、保存和读入模块:此模块能将信息以txt形式保存在外部磁盘上,并且也能从外部磁盘读入给程序使用三、详细设计: (1)各个模块的程序

5、流程图开始输入添加的学号i输入各门科的成绩结束输入添加的姓名i输入添加的性别和班级录入模块: 删 除 模 块:stui=stunum-1;Multii=numstui.no=inumsystem(cls);i+inumi=0输入序号i求和函数:stui.sum=stui.math+stui.english+puter;Int i;i+inumi=0排序模块:temp=stuj;j+j=num-ij=1i+inumi=1Struct student temp;stuj-1.sumstuj.sum查询模块:Multii+inumi=0system(cls);!asInt i;printf(输入要查

6、询的学生姓名:);printf(tt按任意键返回主菜单.);插入模块ch!=n&ch!=NChar ch;printf(ntt输入新插入学生信息n);修改模块:break;system(cls);system(cls);i+inumi=0inti;保存模块:stui.sum=stui.math+stui.english+puter;printf(n保存失败!);fclose(fp);i+inumi=0FILE*fp;(fp=fopen(filepath,w)=NULL打开模块:fscanf(fp,t学号t姓名t性别t班级t数学t英语t计算机t平均分t总分n);fclose(fp);i+iMAX

7、&!feof(fp)i=0num=0;FILE*fp;(fp=fopen(filepath,r)=NULLprintf(找不到%s文件!n,filepath);三、 主要程序代码清单及关键注释1,程序源代码:#include#include #include#define MAX 80void input();/*原始数据录入函数*/void output();/*显示操作结果函数*/void sortall();/*对总分分排序*/void find();/*根据姓名查找成绩*/void insert();/*插入一个成绩*/void del();/*删除成绩记录*/void change(

8、);/*修改记录*/void save();/*保存函数*/void read();/*读入函数*/void average();/*求平均分*/int num=0; struct student /学生信息 int no; char name20; char sex4; char ban8; float math; float english; float computer; float ave; float sum;struct student stuMAX,*p;void main()/*主函数*/ int as; int i;start: printf(%55sn, 3武汉科技大学学生

9、成绩管理系统3n); printf(t444444444444444444444444444444444444444444444444444444444444n); printf( 制作者:武汉科技大学信息科学与工程学院自动化0901 肖小龙 n); do for (i = 0; i 80; i+) putchar(=); putchar(n); printf( 5 1 输入信息 5 2 输出信息n); printf( 5 3 按平均分排序 5 4 按姓名查找n); printf( 5 5 插入 5 6 按学号删除n); printf( 5 7 按姓名修改 5 8 保存到文件 n); prin

10、tf( 5 9 读取文件 5 0 退出n);for (i = 0; i= 79; i+) putchar(=); putchar(n); printf(%sn, 6请输入各操作对应的序号:); fflush(stdin); scanf(%d,&as); switch(as) case 1:system(cls);input();break; case 2:system(cls);output();break; case 3:system(cls);sortall();break; case 4:system(cls);find();break; case 5:system(cls);insert();break; case 6:system(cls);del();break; case 7:system(cls);change();break; case 8:system(cls);save();break; case 9:system(cls);read();break; case 0:system(exit);exit(0); default:system(cls);goto start; while(1);void input()/*原始数据录入模块*

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

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

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