ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:185.90KB ,
资源ID:5937809      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5937809.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学生成绩管理doc.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

学生成绩管理doc.docx

1、学生成绩管理doc西北师范大学xxxx计算机与电子信息工程系 课程设计报告书课程名称: C语言程序设计 专 业: 计算机科学与技术(网络应用与技术) 课题名称: 学生成绩管理 班 级: 学 号: 姓 名: 指导教师: 2014-2015 学年 第二学期 学生成绩管理 (难易程度:中)1.课程设计要求学习成绩管理系统的主要要求为:1) 能按学期、按班级完成对学生成绩的录入、修改2) 能按班级统计学生的成绩,求学生的总分及平均分3) 能查询学生成绩,不及格科目及学生名单4) 能按班级输出学生的成绩单2.设计目的及意义课题的设计旨在训练我们的基本编程能力,使我们熟悉C语言图形模式下的编程。本程序中涉

2、及结构体、数组、绘图等方面的知识。通过本程序的训练,使我们能对C语言有一个更深刻的了解。开发一个学生成绩管理系统,采用计算机对学生成绩进行管理。3.课题说明 本系统主要用于对学生的成绩进行管理。通过本系统,可以将各个学生的成绩记录输入到系统中,保存到文件,便于查阅和相关管理。此外,该系统还能实现对学生成绩记录的显示,查询以及插入或删除学生的成绩记录等功能。4.功能模块图5.功能描述 主要功能用来对学生的成绩进行收集和输入。在学生信息保存在系统中的前提下,成绩录入需要输入学生资料,比如班级,学号,姓名。在准确输入学生资料后,就可以对该学生的各科成绩进行录入。该学生各科成绩输入成功后,系统会提示是

3、否继续进行操作,如果想继续输入学生成绩就输入y,不想再输入学生成绩的话就输入n,再输入n之后,系统返回到主菜单。输入学生资料是得分学期来进行处理,执行一次该模块只能输入一个学期的学生信息。在此过程中每输入一个学生的信息,通过循环在输入完成时将学生个数返回给n,case1中就是利用n=input(stud,n)这一赋值过程来执行该函数中的输入过程。输入完成后按任意键即可返回菜单。6.执行住流程图 7.程序运行结果8.设计过程遇到的问题 在输入了学生成绩之后,若不退出程序继续读取文件,同一个学生的信息会多次输出。输入的数据长度有要求,不能够输入的太长否则就会输出结果排列不整齐甚至无法输出数据。输入

4、学生成绩时只能连续输入相同学期的学生。输入的学生成绩等信息相同时如姓名,程序不提示出错,不能处理。 同时好多地方都不懂,不明白其中的原理,做起来不上手。9.课题总结第一次做这种设计面广、综合性强的课程设计刚开始难度还是有点大的,主要是在函数调用方面容易出现混乱,刚开始的时候功能少还容易解决,写到后面再在综合起来就容易出现问题。尤其是在修改删除函数中要调用文件操作函数,查找函数,然后找到具体删除的可行性办法还是不太容易,最后采用后一项覆盖前一项的方法解决。10.设计课题感想 这学期我们学习了C+这一编程语言,学的很浅薄,平时都只能编一些比较小的程序。这次课程设计花了很长时间,学到了不少的知识,开

5、拓了视野。并且,本设计不像平时编写的程序,运行一下直接推出操作界面。而是可以像一个计算机上使用的软件一样,可以不用退出系统,继续使用其功能,只需要在主函数中调用一个循环即可。除此之外,还学习到了课程设计的流程相关的知识。不过大多属于网上搜的,自己的能力很弱不能做出来。 附录 代码#include#include#include#include#include#include#includeusing namespace std;typedef classpublic: int cls; char nam10; char num10; int chinese; int english; int

6、computer; int math;Student;Student stud1100,stud2100;int menu() char a; while(a7|a0) system(cls); std:cout 欢迎使用学生成绩管理系统 ; std:coutstd:endl; std:cout* 学生成绩管理系统 * std:endl; std:coutsetw(32) 1.输入学生成绩 std:endl; std:coutsetw(32) 2.输出学生成绩endl; std:coutsetw(32) 3.查找并显示学生成绩endl; std:coutsetw(32) 4.按姓名查找,修改学

7、生资料endl; std:coutsetw(32) 5.显示所有学生名单endl; std:coutsetw(32) 6.查找并删除学生信息endl; std:coutsetw(32) 7.从文件读取数据endl; std:coutsetw(32) 0.储存学生资料并退出系统endl; std:coutsetfill(=)setw(80)=endl; std:cout请选择(0-7)endl; std:coutsetw(35) ; a=getchar(); return(a-0);/*/int Input(Student stud,int n) /输入数据(第一学期)。 int i=0; ch

8、ar sign,x10; for(;sign !=n&sign !=N;) std:coutsetw(15) studn+i.nam; std:coutsetw(15) studn+i.cls; std:coutsetw(15) studn+i.num; std:coutsetw(15) studn+i.chinese; std:coutsetw(15) studn+i.math; std:coutsetw(15) studn+i.english; std:coutsetw(15) studn+puter; gets(x); std:coutsetw(10) ; std:cout&sign;

9、i+; return(n+i);/*输出数据*/void Display(Student stud, int n) int i; std:coutsetw(15) setfill(-)setw(65)-endl; std:coutsetw(15) 班级 学号 姓名 语文 数学 英语 计算机 总分 平均分endl; std:coutsetw(15) ; std:coutsetfill(-)setw(65)-endl; for(i=1;in+1;i+) std:coutsetw(15) ; int s=studi-1.chinese+studi-1.math+studi-1.english+stu

10、di-puter; std:cout studi-1.cls studi-1.num studi-1.nam studi-1.chinese studi-1.math studi-1.english studi-puter s s/41 & i%10=0) std:coutsetw(15) setfill(-)setw(35)-endl; std:coutsetw(15) ; system(pause); std:coutsetw(15) setfill(-)setw(35)-endl; std:coutsetw(15) ; system(pause);/*查找学生显示其信息*/void Qu

11、ery(Student stud,int n) char nam20; std:coutsetw(15) 输入其姓名:nam; int i=0; while(strcmp(studi.nam,nam)!=0&in) i+; if(i=n) coutttt没有发现该学生的资料!endl; return; std:coutsetw(15) 学号:studi.numendl; std:coutsetw(15) 班级:studi.clsendl; std:coutsetw(15) 语文:studi.chineseendl; std:coutsetw(15) 英语:studi.englishendl;

12、std:coutsetw(15) 数学:studi.mathendl; std:coutsetw(15) 计算机:puterendl;/*删除学生信息*/int Delete(Student stud,int n) char s20; int i=0,j; std:coutsetw(15)请输入要删除的学生的姓名:s; while(strcmp(studi.nam,s)!=0&in) i+; if(i=n) printf(ttt没有发现该学生资料!n); return(n); for(j=i;jn-1;j+) strcpy(studj.num,studj+1.num); strcpy(stud

13、j.nam,studj+1.nam); studj.cls=studj+1.cls; studj.chinese=studj+1.chinese; studj.math=studj+1.math; studj.english=studj+1.english; puter=studj+puter; coutsetw(15) 当前信息已删除成功!na; while(strcmp(studi.nam,na)!=0&in) i+; if(i=n) coutttt没有发现该学生的资料!endl; std:cout修改班级:studi.cls; std:cout修改学号:studi.num; std:co

14、ut修改语文成绩:studi.chinese; std:cout修改英语成绩:studi.english; std:cout修改数学成绩:studi.math; std:cout修改计算机成绩:puter; std:cout修改成功endl; return(n);/*显示学生名单*/void show(Student stud,int n) for(int i=0;in;i+) std:coutsetw(15)studi.namendl; system(pause);/*从文件读取数据*/int AddfromText(Student stud, int n) int i=0,number,x

15、=0,y=0; FILE *fp; char filename20; coutsetw(15) filename; if(fp=fopen(filename,rb)=NULL) coutsetw(15) 无法打开文件endl; coutsetw(15) ; system(pause); return(n); fscanf(fp,%d,&number); for(;inumber;) fscanf(fp,%d%s%s%d%d%d%d%d%dn,&studn+i.cls,&studn+i.num,&studn+i.nam,&studn+i.chinese, &studn+i.math,&studn

16、+i.english,&studn+puter,&x,&y); i+; n+=number; fclose(fp); coutsetw(15) 读入成功!endl; coutsetw(15) ; system(pause); return(n); /*将所有记录写进文件*/void WritetoText(Student stud,int n) int i=0; FILE *fp; char filename20; coutsetw(15) 将资料输入文件endl; coutsetw(15) filename; if(fp=fopen(filename,w+)=NULL) coutsetw(1

17、5) 无法打开文件endl; system(pause); return; fprintf(fp,%dn,n); for(;in;) fprintf(fp,%-8d%-8s%-8s%-5d%-5d%-5d%-5d%-5d%-5dn,studi.cls,studi.num,studi.nam, studi.chinese,studi.math,studi.english,puter, studi.chinese+studi.math+studi.english+puter, (studi.chinese+studi.math+studi.english+puter)/4); i+;fclose(

18、fp);/*主函数调用*/void main() int n1=0,n2=0; for(;) switch(menu() case 1: int t; std:coutsetw(15) 输入学生资料endl; std:coutsetw(15) 输入学期endl; std:coutsetw(15)t; if(t=1) n1=Input(stud1,n1); else if(t=2) n2=Input(stud2,n2); break; case 2: std:coutsetw(15) 输出所有学生资料endl; if(n1!=0) std:coutsetw(15) 第一学期:endl; std:

19、coutsetw(15) ; Display(stud1,n1); if(n2!=0) std:coutsetw(15) 第二学期:endl; std:coutsetw(15) ; Display(stud2,n2); break; case 3: int r; std:coutsetw(15) 查找学生endl; std:coutsetw(15) 请输入学期:r; if(r=1) Query(stud1,n1); else if(r=2) Query(stud2,n2); std:coutsetw(15) ; system(pause); break; case 4: int p; std:

20、coutsetw(15) 修改学生资料endl; std:coutsetw(15) 请输入学期:p; if(p=1) std:coutsetw(15) 输入你要修改的学生的姓名:; n1=Revise(stud1,n1); else if(p=2) std:coutsetw(15) 输入你要修改的学生的姓名:; n2=Revise(stud2,n2); system(pause); break; case 5: std:coutsetw(15) 显示所有学生名单endl; if(n1!=0) std:coutsetw(15) 第一学期endl; show(stud1,n1); coutsetw(15) endl; if(n2!=0) std:coutsetw(15) 第二学期endl; show(stud2,n2); system(pause); break; case 6: std:coutsetw(15)查找并删除学生信息endl; int o; std:cout请输入学期:endl; std:coutsetw(15)o; if(o=1) std:coutsetw(15)第一学期endl; n1=Delete(stud1,n1); if(o=2) std:coutsetw(15) 第二学期endl; n2=Delet

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1