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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

学生信息管理系统C++.docx

1、学生信息管理系统C+【学生成绩管理】 实现功能:输入、输出、插入、删除、查找、追加、读入、显示、保存、拷贝、排序、索引、分类合计、退出。能实现对学生信息的简单管理。具体要求:建立一个4个学生的信息登记表,每个学生的信息包括:学号,姓名,和3门课程的成绩(FOX,C,ENGLISH)。程序运行时显示一个简单的菜单,例如: (1):信息输入(INPUT) (2):总分统计(COUNT) (3):总分排序(SORT) (4):查询(QUERY) 其中: (1):对4个学生的信息进行输入; (2):对每个学生的3门课程统计总分; (3):对4个学生的总分按降序排序并显示出来; (4):查询输入一个学号

2、后,显示出该学生的有关信息; 用的大一做的系统,由保存数据结构的object.cpp 主函数 main.cpp 方法头文件use.h组成Use.h#ifndef USE_H_INCLUDED#define USE_H_INCLUDED#endif / USE_H_INCLUDED#include #include void Meau() printf(-欢迎使用学生信息管理系统-n-n输入指令完成命令: n1.打印信息n2.插入新信息n3.删除学生信息n4.查找学生n5.更改学生信息n6.排序显示学生信息n7.文件另存为ne.保存并退出n-n请输入指令n);void ZhuangBSave()

3、 int T=2; while(T-) system(cls); Meau(); Sleep(500); printf(Saveing.r); Sleep(500); printf(Saveing.r); Sleep(500); printf(Saveing.r); Sleep(500); printf(Saveing.r); Sleep(500); printf(Saveing.r); void ZhuangBExit() int c=6; while(c-) printf(Saved!And he program will be close in %d second.r,c); Sleep

4、(1000); Object.h#include #include #include #include struct score long long num; char a10; int ch; int ma; int en; int c; int ph; int sum; struct score *next;void swap(score* p1,score* p2) int t; t=p1-num; p1-num=p2-num; p2-num=t; t=p1-ch; p1-ch=p2-ch; p2-ch=t; t=p1-ma; p1-ma=p2-ma; p2-ma=t; t=p1-en;

5、 p1-en=p2-en; p2-en=t; t=p1-c; p1-c=p2-c; p2-c=t; t=p1-ph; p1-ph=p2-ph; p2-ph=t; char c10; strcpy(c,p1-a); strcpy(p1-a,p2-a); strcpy(p2-a,c);bool cmp0(score* p1,score* p2) return p1-numnum;bool cmp01(score* p1,score* p2) if(p1-ch=p2-ch) return p1-numnum; return p1-chch;bool cmp11(score* p1,score* p2

6、) if(p1-ch=p2-ch) return p1-numnum; return p1-chp2-ch;bool cmp02(score* p1,score* p2) if(p1-ma=p2-ma) return p1-numnum; return p1-mama;bool cmp12(score* p1,score* p2) if(p1-ma=p2-ma) return p1-numnum; return p1-map2-ma;bool cmp03(score* p1,score* p2) if(p1-en=p2-en) return p1-numnum; return p1-enen;

7、bool cmp13(score* p1,score* p2) if(p1-en=p2-en) return p1-numnum; return p1-enp2-en;bool cmp04(score* p1,score* p2) if(p1-c=p2-c) return p1-numnum; return p1-cc;bool cmp14(score* p1,score* p2) if(p1-c=p2-c) return p1-numnum; return p1-cp2-c;bool cmp05(score* p1,score* p2) if(p1-ph=p2-ph) return p1-n

8、umnum; return p1-phph;bool cmp15(score* p1,score* p2) if(p1-ph=p2-ph) return p1-numnum; return p1-php2-ph;bool cmp06(score* p1,score* p2) if(p1-sum=p2-sum) return p1-numnum; return p1-sumsum;bool cmp16(score* p1,score* p2) if(p1-sum=p2-sum) return p1-numnum; return p1-sump2-sum;bool cmp07(score* p1,

9、score* p2) if(strcmp(p1-a,p2-a)=1) return 1; else return 0;bool cmp17(score* p1,score* p2) if(strcmp(p1-a,p2-a)=1) return 0; else return 1;void ScoreSort(struct score *head,bool (*cmp)(score* p1,score* p2) struct score *p1,*p2; for(p1=head; p1!=NULL; p1=p1-next) for(p2=p1-next; p2!=NULL; p2=p2-next)

10、 if(*cmp)(p1,p2) swap(p1,p2); void ScorePri(struct score *head) /int c=0; /system(cls); printf(=n); struct score *pri; pri=head; while(pri!=NULL) /printf(test %dn,c+); printf(学号:%I64d 姓名:%sn语文:%d 数学:%d 英语:%d nc语言:%d 物理:%d n总成绩:%d 平均成绩:%.2lf n=n,pri-num,pri-a,pri-ch,pri-ma,pri-en,pri-c,pri-ph,pri-sum

11、,pri-sum/5.0); pri=pri-next; printf(Endn);struct score *ScoreIns(struct score *head) struct score *p1,*p2,*newl; newl=(score*)malloc(sizeof(score); printf(请依次输入学号,语文,数学,英语,c语言,物理成绩n); scanf(%I64d%d%d%d%d%d,&newl-num,&newl-ch,&newl-ma,&newl-en,&newl-c,&newl-ph); newl-sum=newl-ch+newl-ma+newl-en+newl-

12、c+newl-ph; printf(输入学生姓名n); scanf(%s,newl-a); if(head=NULL) head=newl; newl-next=NULL; return head; p1=head; p2=p1-next; if(newl-numnum) newl-next=head; return newl; while(p2!=NULL) if(newl-nump1-num&newl-numnum) newl-next=p2; p1-next=newl; break; p1=p2; p2=p1-next; if(p2=NULL) p1-next=newl; newl-ne

13、xt=NULL; return head;void ZhuangBDel() Sleep(500); printf(删除中.r); Sleep(500); printf(删除中.r); Sleep(500); printf(删除中.r); Sleep(500); printf(删除中.r); Sleep(500); printf(删除中.r); Sleep(500); printf(已删除!n);struct score *ScoreDel(struct score *head) struct score *p1,*p2,*h; long long n=0; int flag,flag1=0;

14、 int ord; char n1100,s2; flag=0; printf(输入1学号查询,输入2姓名查询n); scanf(%d,&ord); if(ord=1) printf(请输入学号n); scanf(%I64d,&n); else if(ord=2) printf(请输入姓名n); scanf(%s,n1); else printf(Illegal inputn); return head; if(ord=1) printf(您要删除的学生学号为%I64d,是否删除?(Y/N),n); scanf(%s,s); if(strcmp(s,Y)!=0) return head; if

15、(ord=2) printf(您要删除的学生姓名为%s,是否删除?(Y/N),n1); scanf(%s,s); if(strcmp(s,Y)!=0) return head; p1=head; p2=p1-next; if(ord=1&p1-num=n)|(ord=2&strcmp(p1-a,n1)=0) h=p1-next; free(p1); flag=1; ZhuangBDel(); return h; else if(p1-next=NULL) flag1=0; while(flag1!=0&p2-next!=NULL) if(ord=1&p1-num=n)|(ord=2&strcm

16、p(p2-a,n1)=0) p1-next=p2-next; free(p2); flag=1; p1=p2; p2=p1-next; if(flag1!=0&p2-next=NULL) if(ord=1&p1-num=n)|(ord=2&strcmp(p2-a,n1)=0) p1-next=NULL; free(p2); flag=1; if(flag=0|flag1=1) printf(Error:Not Found!n); else ZhuangBDel(); return head;void ScoreSearch(struct score *head) struct score *p

17、1; long long n; int flag; flag=0; printf(输入需要查找的学号n); scanf(%I64d,&n); for(p1=head; p1!=NULL; p1=p1-next) if(p1-num=n) printf(姓名:%sn语文成绩:%dn数学成绩:%dn英语成绩:%dnC语言成绩:%dn物理成绩:%dn总成绩:%dn平均成绩:%.2lfn,p1-a,p1-ch,p1-ma,p1-en,p1-c,p1-ph,p1-sum,p1-sum/5.0); flag=1; if(flag=0) printf(Error:Not Found!n);void Scor

18、eChange(struct score *head) long long m; int n,a; char b100; struct score *p1; printf(请输入需要修改信息的学号n); scanf(%I64d,&m); for(p1=head; p1!=NULL; p1=p1-next) if(p1-num=m) break; if(p1=NULL) printf(Not Found!n); return; printf(输入1修改语文成绩n输入2修改数学成绩n输入3修改英语成绩n输入4修改c语言成绩n输入5修改物理成绩n输入6修改姓名n); scanf(%d,&a); if

19、(a=1) printf(该成员语文成绩为%d,请输入修改值n,p1-ch); scanf(%d,&n); p1-ch=n; printf(修改成功!n); else if(a=2) printf(该成员数学成绩为%d,请输入修改值n,p1-ma); scanf(%d,&n); p1-ma=n; printf(修改成功!n); else if(a=3) printf(该成员英语成绩为%d,请输入修改值n,p1-en); scanf(%d,&n); p1-en=n; printf(修改成功!n); else if(a=4) printf(该成员C语言成绩为%d,请输入修改值n,p1-c); sc

20、anf(%d,&n); p1-c=n; printf(修改成功!n); else if(a=5) printf(该成员物理成绩为%d,请输入修改值n,p1-ph); scanf(%d,&n); p1-ph=n; printf(修改成功!n); else if(a=6) printf(该成员姓名为%s,请输入修改值n,p1-a); scanf(%s,b); strcpy(p1-a,b); printf(修改成功!n); else printf(输入错误,退出修改n);void ScoreView(struct score *head) int a,b; /bool *cmp(score* p1,

21、score* p2); printf(输入1按语文成绩排列n输入2按数学成绩排列n输入3按英语成绩排列n输入4按C语言成绩排列n输入5按物理成绩排列n输入6按总成绩排列n输入7按名字排列n); scanf(%d,&a); printf(输入0升序排列,输入1降序排列n); scanf(%d,&b); if(a=1&b=0) ScoreSort(head,&cmp01); if(a=1&b=1) ScoreSort(head,cmp11); if(a=2&b=0) ScoreSort(head,cmp02); if(a=2&b=1) ScoreSort(head,cmp12); if(a=3&b

22、=0) ScoreSort(head,cmp03); if(a=3&b=1) ScoreSort(head,cmp13); if(a=4&b=0) ScoreSort(head,cmp04); if(a=4&b=1) ScoreSort(head,cmp14); if(a=5&b=0) ScoreSort(head,cmp05); if(a=6&b=0) ScoreSort(head,cmp06); if(a=6&b=1) ScoreSort(head,cmp16); if(a=7&b=0) ScoreSort(head,cmp07); if(a=7&b=1) ScoreSort(head,c

23、mp17); ScorePri(head); ScoreSort(head,cmp0);void Save(score *head,char a) FILE *fp; score* pri=head; fp=fopen(a,w); while(pri!=NULL) fprintf(fp,%I64d %d %d %d %d %d ,pri-num,pri-ch,pri-ma,pri-en,pri-c,pri-ph); fprintf(fp,%s ,pri-a); pri=pri-next; return;void NSave(score* head) char a100,b100,c=/,d=.

24、txt; printf(输入另存为的地址n); scanf(%s,a); printf(输入文件名称n); scanf(%s,b); strcat(a,c); strcat(a,b); strcat(a,d); Save(head,a); return;struct score *Load(score *head) /int c=0; FILE *fp; fp=fopen(E:data.txt,r); if(fp=NULL) /printf(No datan); return NULL; freopen(E:data.txt,r,stdin); score *newl,*p1,*p2; new

25、l=(score*)malloc(sizeof(score); while(scanf(%I64d%d%d%d%d%d,&newl-num,&newl-ch,&newl-ma,&newl-en,&newl-c,&newl-ph)!=EOF) /printf(test %dn,c+); newl-sum=newl-ch+newl-ma+newl-en+newl-c+newl-ph; scanf(%s,newl-a); if(head=NULL) head=newl; newl-next=NULL; p1=head; p2=p1-next; if(newl-numnum) newl-next=head; head=newl; while(p2!=NULL) if(newl-nump1-num&newl-numnum) newl-next=p2; p1-next=newl; p1=p2; p2=p1-next; if(p2=NULL) p1-next=newl; newl-next=NULL; newl=(score*)malloc(sizeof(sc

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

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