C课程设计学生成绩管理系统.doc
《C课程设计学生成绩管理系统.doc》由会员分享,可在线阅读,更多相关《C课程设计学生成绩管理系统.doc(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);inser
11、t();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()/*原始数据录入模块*/ int i=0; char ch; do printf(tttt1.录入学生信息n5请输入第%d个学生的信息5n,i+1)
12、; printf(111111111111111111n); printf(111111111111111111n); printf(n6输入学生学号:); scanf(%d,&stui.no); fflush(stdin); printf(n6输入学生姓名:); fflush(stdin); gets(stui.name); printf(n6输入学生性别:); fflush(stdin); gets(stui.sex); printf(n6输入学生班级:); fflush(stdin); gets(stui.ban); printf(n6输入学生数学成绩:); fflush(stdin);
13、 scanf(%f,&stui.math); printf(n6输入学生英语成绩:); fflush(stdin); scanf(%f,&stui.english); printf(n6输入学生计算机成绩:); fflush(stdin); scanf(%f,&puter); printf(nn); i+; num=i; printf(是否继续输入?(Y/N); fflush(stdin); ch=getchar(); system(cls); while(ch!=n&ch!=N); system(cls);void output()/*显示数据函数*/ int i; char as; ave
14、rage(); do printf(ttt5班级学生信息表5n);for(i=0;i80;i+) putchar(-);printf(t|学号t|姓名t|性别t|班级t|数学t|英语t|计算机t|平均分t|总分);putchar(n); for(i=0;i80;i+) putchar(=); for(i=0;inum&stui.name0;i+) printf(t%dt%st%st%st%.2ft%.2ft%.2ft%.2ft%.2f,stui.no,stui.name,stui.sex,stui.ban,stui.math,stui.english,puter,stui.ave,stui.s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 学生 成绩管理系统

链接地址:https://www.31ppt.com/p-2384925.html