c++课程设计---学生成绩管理系统设计589.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《c++课程设计---学生成绩管理系统设计589.pdf》由会员分享,可在线阅读,更多相关《c++课程设计---学生成绩管理系统设计589.pdf(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 c+课程设计-学生成绩管理系统设计 2 课 程 设 计 课程设计名称:C 语言程序设计 专 业 班 级:xxxxxxxxxxxxxxxxx 学 生 姓 名:xxxxxx _ 学 号:xxxxxxx _ 指 导 教 师:_ 课程设计时间:2011 年 12 月 _ 3 计算机科学与技术 专业课程设计任务书 学生姓名 专业班级 学号 题 目 学生成绩管理系统设计 指导教师 同组姓名 主要内容 学习掌握并熟练运用 C 语言进行程序设计;学习使用数组、指针、结构体和文件等数据结构;根据具体题目进行简单的需求分析,给出设计方案。4 任务要求 综合运用和融化所学理论知识,提高分析和解决实际问题的能力,使
2、用 C语言设计一个简单的学生成绩管理系统;完成需求分析报告,报告中对关键部分给出图表说明。要求格式规范,工作量饱满。参考文献 C 语言程序设计基础与项目实训 中国人民大学出版社。C 语言程序设计案例教程 中国铁道出版社。C 语言程序设计案例实践 清华大学出版社 5 C 语言程序设计实验报告 一、需求分析 随着计算机的飞速发展,它的应用已经十分广泛,它在人们的生产、生活、工作和学习中发挥着重要的作用。例如一个高等教育的学校,拥有数千名乃至数万名的学生,那么如何管理这么庞大的学生成绩档案呢?这时,开发一个功能完善的学生成绩管理系统就必不可少了。从学生的成绩的查询到管理实现了自动化的模式,从而提高了
3、老师的工作效率和减少工作中的出错率,对学校的学生管理更加方便。本系统根据学生成绩管理的需要,而建立一个“学生成绩管理系统”,一方便对成绩各项管理操作。本系统能对成绩进行输入和输出:能按姓名对学生进行排序,并显示学生的资料、成绩等,不过得以系统输入学生资料、成绩为前提;能添加学生成绩资料;能根据学生的姓名来查询该学生的成绩资料,并修改或是删除该学生信息;能够从文件中读取学生信息,并且添加到系统中;能把对系统锁进行的操作进行保存,及时更新系统中的数据。二、人员分工 姓名 主要负责内容 总体设计;数据程序查询主菜单程序 主菜单程序、录入数据程序的编码与调试、输出、统计、删除、追加数据程序的编码与调试
4、 修改数据程序的编码与调试 三、运行环境 硬件环境:CPU(pentium4 2.4Hz)、内存(256MB)、硬盘(80G)6 软件环境:Windows7、VC6.0 四、系统模版功能 1、系统总体框图 2、模块设计 在我们设计的程序中:包括了个人成绩录入,修改学生成绩,查询个人成绩,删除个人成绩,四大模块组成。本系统定义了结构体 allstudentinfo,用于存放学生的基本信息和成绩管理信息。进入该程序后会看到总的页面菜单,包括 1、录入学生个人成绩;2、修改学生个人成绩;3、查询学生个人成绩;4、删除学生个人成绩;5、退出成绩管理系统;再按个人需求分别进入需要的界面。我们用到了 sw
5、itch 函数语句和 if 语句和 for 循环语句等本学期学到的相关知识。个人成绩录入:首先,打开文件“个人成绩录入.dat”如果成功,将输入学生姓名,学号及语、数、外,三科成绩录入到文件当中(在录入学生信息时,系统调用函数”inputsorc()”,将新的学生信息录入到文件中。),然后判断输入是否结束,如 7 果没有错误,请继续输入,否则推出录入模块。如有错误,要按照当前操作进行修正。再依次录入要输入的学生信息,按照之前的操作进行。修改学生成绩:当用户在“学生个人信息管理”界面中按“2”进入“修改学生个人成绩”。可以对当前已录入的学生成绩进行修改,在此界面中课选择“13”之间的数值,调用相
6、应功能进行操作,并将修改后的信息保存在“学生个人成绩.dat”中。如果成功,选择要修改的内容和要修改的姓名。(在修改学生信息时,调用mofsorc()函数实现对学生 3 科成绩的修改)如果学生存在,则输入新的信息,并保存在文件中;如果不存在,输入错误信息,并选择要重新修改的内容。如果打开文件有错误,输出错误信息并推出学生管理系统。主要功能是用来修改学生资料。在系统保存了某学生资料的前提下,想要查找学生资料,可以输入学生姓名,系统就会显示学生资料和各科成绩等信息,这样就可以修改学生的资料,成绩等信息。查询个人成绩:用户在“学生个人信息界面”中,按“3”,回车,便可进入“查询个人成绩”中。在查询学
7、生个人成绩时,可调用“seasorc()”函数实现,并按照 1、学生姓名;2、学号;进行查询。如果成功,则选择学生的姓名或学号,则显示该学生信息;如果不存在,重新输入要查询的内容。然后判断是否继续查询,否则退出模块。如果打开文件有错误,输出模块信息有错误并退出信息管理器。主要功能是用来查询学生资料。在系统保存了某学生资料的前提下,想要查找学生资料,可以输入学生姓名,系统就会显示学生资料和各科成绩等信息。删除学生个人成绩:当用户在“学生个人信息管理”界面中按“4”,回车,即可进入“删除个人信息“。即出现:printf(请选择你的操作选项:1.按姓名查找删除 2.按学号查找删除);在删除学生个人信
8、息时,可调用“delsorc()”函数,按学生的姓名字段或学号查找要删除的学生个人信息,并将删除后的信息保存在文件“学生个人成绩.dat”中。主要功能是用来删除学生资料。在系统保存学生资料的前提下,想删除某学生的资料,可以输入学生的姓名,系统查找学生资料后,就可以删除了。由于学生辍学,毕业等原因,即使对系统进行更新,删除一些没有用的信息,可以使系统更加优化。退出学生个人成绩:按照当前程序输入的步骤退出该程序。主要功能是在对系统进行一系列操作,比如添加、删除、修改学生资料后,对系统的最新操作进行保存,即使更新系统,方便下一次的操作。8 五、源程序代码 /*源程序:学生成绩管理系统*/*/学生学籍
9、管理系统./*/#include#include#include#include#include#define NAME 20#define SEX 10#define SORC 3#define STUDENTMAX 10000000 Struct studentsorc /学生成绩结构 char nameNAME;/学生姓名 int ID;/学生学号 float sorc6;/记录学生成绩 float aver;/平均分 float sum;/总分;/*学生个人成绩管理*/void sorcmeun(struct allstudentinfo*p_student)int in;char c
10、h;do 9 printf(nn);printf(t -n);printf(t|学 生 个 人 成 绩 管 理|n);printf(t|-|n);printf(t|1、录 入 学 生 个 人 成 绩|n);printf(t|2、修 改 学 生 个 人 成 绩|n);printf(t|3、查 询 学 生 个 人 成 绩|n);printf(t|4、删 除 学 生 个 人 成 绩|n);printf(t|5、浏 览 所 有 学 生 成 绩|n);printf(t|6、退 出 成 绩 管 理 系 统|n);printf(t|-|n);printf(t 请您正确的选择:);if(!scanf(%d,&
11、in)=1)while(ch=getchar()!=n)putchar(ch);printf(没有此选项,请正确选择!);getch();continue;fflush(stdin);switch(in)case 1:inputsorc(p_student);break;case 2:mofsorc(p_student);break;case 3:seasorc(p_student);break;10 case 4:delsorc(p_student);break;case 5:return;default:printf(没有此选项,请正确选择!);break;while(l);/*个人成绩录
12、入*/void inputsorc(struct allstudentinfo*p_student)int i.count,countinfo;char*tempname,ch;system(cls);if(sorcfile=fopen(filenamel,a+b)=NULL)printf(不能打开文件,请确认磁盘已满或文件是否存在);getch();exit(l);rewind(sorcfile);for(count=0;ferad(&p_studentcount.student1,sizeof(struct studentsorc),1,sorcfile)=1;count+)countin
13、e;tempname=(char*)malloc(20*sizeof(char);printf(请输入第%d 学生的姓名:,count+1);while(countSTUDENTMAX&gets(tempname)!=NULL&tempname0!=0)strcpy(p_studentcount.student1.name,tempname);printf(请输入该学生的学号:);scanf(%d,&p_studentcount.student1.ID);fflush(stdin);printf(请输入该个学生的 3 科成绩n);printf(-n);printf(n 语文:);11 scan
14、f(%f,&p_studentcount.student1.sorc0);fflush(stdin);printf(n 数学:);scanf(%f,&p_studentcount.student1.sorc0);fflush(stdin);printf(n 英语:);scanf(%f,&p_studentcount.student1.sorc0);fflush(stdin);printf(-n);fwrite(&p_studentcount+.student,sizeof(struct studentsorc),1,sorcfile);printf(确定要继续输入下一个学生的成绩吗?(y/n)
15、;ch=getchar();if(ch=y|ch=Y)system(cls);free(tempname);tempname=(char*)malloc(20*sizeof(char);printf(请输入第%d 个学生的姓名:,count+1);countinue;else system(cls);free(tempname);fclose(sorcfile);return;printf(输入有误请返回重新选择操作.!);free(tempname);fclose(sorcfile);getch();system(cls);return;/*修改学生成绩*/void mofsorc(stru
16、ct allstudengtinfo *p_student)int i,j,k,count;float sorc;12 char ch;char*tempname;count=sorcdatfile(p_student);if(!count)printf(“读取数据失败,请确认已成功录入或文件是否损坏”);getch();system(“cls”);return;tempname=(char*)malloc(20*sizeof(char);printf(“请输入要修改成绩的学生姓名:”);while(gets(tempname)!=NULL&tempname0!=o)if(strcmp(tem
17、pname,p_studenti.student1.name)continue;else printf(“请选择要修改的科目成绩:1.语文 2.英语 3.数学n”);scanf(“%d”&j);fflush(stdin);if(j=1)printf(“请重新输入%s 的语文成绩:”,tempname);scanf(“%f”&sorc);p_studenti.student1.sorc0=sorc;fflush(stdin);sorcfile=fopen(filenamel,”w+b”);/把修改后的重新写入文件夹 for(k=0;kcount;k+)if(fwrite(&p_studentk.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 课程设计 学生 成绩管理系统 设计 589
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内