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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、C语言课程设计学生成绩管理系统C课程设计报告专业:班级:学号:姓名:指导老师: 日期: 一、 设计任务与要求1.设计内容: 按班级完成对学生成绩的录入,修改,能按班级统计学生的成绩;求学生的总分及平均分;并能根据学生的平均成绩进行排序,能查询学生成绩,不及格科目及学生名单;能按班级输出学生的成绩单。 设置学生的成绩信息:学生学号、姓名、所选课程名称、显示学生的姓名、所选课程名称以及平时成绩、期末成绩和总评成绩信息。能根据学生的姓名、学号、班级进行相应成绩的查询。2.课程设计的要求:根据C+课程所学的概念、理论和方法,按照C+程序设计的基本步骤,设计出一个适当规模的程序来实现设计课程内容中的全部

2、功能;设计主控模块程序对给出的程序源代码要给出各部分的详细注释自己根据能力及需要添加相应功能模块,增强模拟系统功能。包括系统的功能分析、系统的功能模块设计、程序流程图或结构框图、逻辑结构设计,数据库中的表、课程设计体会。二、 系统分析1.要求分析:1)能对学生各科成绩进行录入2)能对学生的成绩进行增加、删除、修改3)能对学生的姓名、学号、班级进行修改4)能对学生的成绩按总成绩,姓名,学号进行查询 5)能输出学生的姓名、学号、班级、成绩 6)能进行成绩统计、分析、排序7)能进行总分查询排名 4.系统功能模块学生成绩查询系统有:成绩录入、增加、删除、修改,数据查询,排序显示构成。5.模块框架图 三

3、、程序代码#include #include#include#include#include#includeusing namespace std;struct xueshengguanli string name; string banbie; int num; float Clanguage; xueshengguanli *next; typedef xueshengguanli* xueshengGL;xueshengGL Input(xueshengGL head) char SEL=y; int m=0; xueshengGL p1,p2,top; ofstream out_str

4、eam; out_stream.open(student.txt,ios:app); /以追加数据信息打开文件 if(out_stream.fail() coutnext=NULL; coutp1-name; coutp1-num; coutp1-banbie; coutp1-Clanguage; if(m=0) head=p1; p2=head; m=1; else p2-next=p1; p2=p1; coutSEL; top=head; /写入文件 while(head!=NULL) out_streamname numtbanbietClanguage; head=head-next;

5、 out_stream.close(); /关闭文件 if(SEL=n|SEL=N) cout输入完毕.n; return top; /返回链表头结点地址/从文件里读取数据xueshengGL WenJian(xueshengGL top) int n=0; xueshengGL p,h; ifstream in_stream; in_stream.open(student.txt); if(in_stream.fail() coutnext=NULL; in_streamp-namep-nump-banbiep-Clanguage; if(n=0) top=p; h=top; n=1; el

6、se h-next=p; h=p; in_stream.close(); return top;void xuanzhe(xueshengGL top) int h; while(h2) couth; if(h=1) couttop-banbie; break; else if(h=2) couttop-Clanguage; break; else coutn输入错误!请重输!n; /修改xueshengGL Change(xueshengGL top) string NAME; int NUM,l=0; char SEL=y; xueshengGL q,head; coutNAME; cou

7、tNUM; top=WenJian(top); q=top; while(top!=NULL) if(top-name=NAME&top-num=NUM) l=1; while(SEL=y|SEL=Y) coutn 1:班级 2:C语言成绩n; xuanzhe(top); coutn这是修改后的学生信息:n; coutn姓名t学号t班级tC语言成绩n; coutnametnumtbanbietClanguageendl; coutSEL; if(SEL=n|SEL=N) coutnext; /修改后学生信息写入文件 if(l=1) head=q; ofstream out_stream; ou

8、t_stream.open(student.txt,ios:trunc); /以覆盖文件原数据方式打开文件 if(out_stream.fail() cout打开文件失败.n; exit(1); while(head!=NULL) out_streamname numttbanbietClanguage; head=head-next; out_stream.close(); else coutn对不起,没有你要修改的人.nn; return q;/删除xueshengGL Del(xueshengGL top) string NAME; int NUM,l=0,n=0; xueshengGL

9、 p,h,q,back,head; coutNAME; coutNUM; ofstream out_stream; ifstream in_stream; in_stream.open(student.txt); if(in_stream.fail() cout打开文件失败.n; coutnext=NULL; in_streamp-namep-nump-banbiep-Clanguage; if(n=0) top=p; h=top; n=1; else h-next=p; h=p; in_stream.close(); q=top; while(1) if(NAME=top-name&NUM=

10、top-num&top-next=NULL) l=2; top=q-next; out_stream.open(student.txt,ios:trunc);/删除文件 break; if(NAME=top-name&NUM=top-num&top-next!=NULL) l=1; top=q-next; coutnext=NULL) printf(n对不起,没有找到此人!n); break; back=q; q=q-next; if(NAME=q-name&NUM=q-num) l=1; back-next=q-next; coutn删除成功.n; break; /删除学生信息后重新写入文件

11、 if(l=1) head=top; out_stream.open(student.txt,ios:trunc); if(out_stream.fail() cout打开文件失败.n; exit(1); while(head!=NULL) out_streamname numtbanbietClanguage; head=head-next; out_stream.close(); else if(l=2) coutn删除成功.n; else coutn找不到此人信息!n; return top;/查询 xueshengGL LookUp(xueshengGL top) string XM;

12、 int number,l=0; coutXM; coutnumber; top=WenJian(top); while(top!=NULL) if(XM=top-name&number=top-num) l=1; coutendl; coutn这是你要查询人的信息.n; coutn姓名t学号t班级t综合成绩n; coutnametnumt banbietClanguagenext; if(l=1) coutn谢谢你的查询.n; else coutn对不起,没有你要查询人的信息.n; coutendl; return top;xueshengGL sort(xueshengGL top) st

13、ring name1,banbie1; int num1; float Clanguage1; int n=0,l=0; xueshengGL p1,p2,p3,p,h,head; ifstream in_stream; in_stream.open(student.txt); if(in_stream.fail() cout打开文件失败.n; coutnext=NULL; in_streamp-namep-nump-banbiep-Clanguage; l=1; if(n=0) top=p; h=top; n=1; else h-next=p; h=p; in_stream.close();

14、 for(p1=top;p1-next!=NULL;p1=p1-next) l=1; for(p2=p1-next;p2!=NULL;p2=p2-next) if(p1-ClanguageClanguage) name1=p1-name; p1-name=p2-name; p2-name=name1; num1=p1-num; p1-num=p2-num; p2-num=num1; banbie1=p1-banbie; p1-banbie=p2-banbie; p2-banbie=banbie1; Clanguage1=p1-Clanguage; p1-Clanguage=p2-Clangua

15、ge; p2-Clanguage=Clanguage1; p3=top; coutn以下是全部学生的综合成绩由高到低的排序:n; coutn姓名t学号t班别tC语言成绩n; while(p3!=NULL) coutnametnumt banbietClanguagenext; if(l=1) head=top; ofstream out_stream; out_stream.open(student.txt,ios:trunc); /以覆盖文件原数据方式打开文件 if(out_stream.fail() cout打开文件失败.n; exit(1); while(head!=NULL) out_

16、streamname numttbanbietClanguage; head=head-next; out_stream.close(); else coutn谢谢.n; coutendl; return top;void display(xueshengGL top) int l=0,n=0; xueshengGL p,h; ifstream in_stream; in_stream.open(student.txt); if(in_stream.fail() cout打开文件失败.n; coutnext=NULL; in_streamp-namep-nump-banbiep-Clangua

17、ge; l=1; if(n=0) top=p; h=top; n=1; else h-next=p; h=p; in_stream.close(); if(l=1) coutn以下是全部学生信息:n; coutn姓名t学号t班别tC语言成绩n; while(top!=NULL) coutnametnumt banbietClanguagenext; coutendlendl; return; int main() xueshengGL head; int sel; while(1) couttt-n tt 欢迎使用学生信息管理系统n tt 1输入学生信息n tt 2修改学生信息n tt 3删除

18、学生信息n tt 4查找学生信息n tt 5学生综合成绩排序信息n tt 6显示学生信息n tt 0返回n tt-nnn; coutsel; coutn; switch(sel) case 1:head=Input(head); break; case 2:head=Change(head); break; case 3:head=Del(head); break; case 4:head=LookUp(head); break; case 5:head=sort(head); break; case 6:display(head);break; case 0: cout谢谢使用再见nn; exit(0); default : cout输入有错误请重新输入!nn; return 0; 四、 程序相关的截图每一步的过程截图如下,读者可以将程序的代码输入进去进行相关的操作,也可以得到相应的结果!五、心得体会

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2