c++大作业学生信息管理系统源代码.pdf
《c++大作业学生信息管理系统源代码.pdf》由会员分享,可在线阅读,更多相关《c++大作业学生信息管理系统源代码.pdf(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、学生信息管理系统源代码:#include#include#include#include#include#includestruct studentchar num30;int maths;char name30;int chinese;char clas30;int english;int total;float average;student*next;/1(1)void createlist(student*&head)/学生成绩文件导入功能(用链表储存)char t80,num030,name030,clas030;int chinese0,maths0,english0;studen
2、t*s,*p;ifstream instuf(student-score.txt,ios:in);if(!instuf)cerrfile could not be open.num0name0clas0chinese0maths0english0)s=new student;strcpy(s-num,num0);strcpy(s-name,name0);strcpy(s-clas,clas0);s-chinese=chinese0;s-maths=maths0;s-english=english0;s-total=s-chinese+s-maths+s-english;s-average=fl
3、oat(s-total)/3;if(head=NULL)head=s;else p-next=s;p=s;p-next=NULL;instuf.close();/1(2)void showlist(student*head)/学生成绩信息显示功能(遍历链表)int n=1;cout学号姓名班级语文数学英语总分while(head)均分序号;coutnumnametclast chinesetmathstenglishttotaltsetprecision(3)averaget nnext;/2void charu(student*head)/学生成绩信息插入功能(链表尾部插入学生成绩信息)st
4、udent*s,*p,*q;int n,i;coutn;cout请输入需插入的学生成绩信息(每人一行):endl;cout学号姓名班级语文数学英语next;for(i=1;is-nums-names-class-chineses-mathss-english;s-total=s-chinese+s-maths+s-english;s-average=float(s-total)/3;q-next=s;q=s;q-next=NULL;/3void shanchu(student*&head)/学生成绩信息删除功能student*p,*q;char a30;int n,i,b=1;coutn;co
5、ut请输入需要删除的学生的学号或姓名:endl;for(i=1;ia;if(strcmp(head-num,a)=0)|(strcmp(head-name,a)=0)b=0;p=head;head=head-next;delete p;p=NULL;elsep=head;while(p-next!=NULL)&(strcmp(p-next-num,a)!=0)&(strcmp(p-next-name,a)!=0)p=p-next;if(p-next!=NULL)b=0;q=p-next;p-next=q-next;delete q;q=NULL;if(b=1)cout无此学号或姓名的成绩记录!
6、endl;/4void change(student*head)/学生成绩信息的修改功能(修改指定学生信息)char a30;int b=1;couta;while(head)if(strcmp(head-num,a)=0)|(strcmp(head-name,a)=0)coutendl;b=0;cout此学生原来的学生成绩信息是:endl;cout学号姓名班级语文数学英语endl;coutnumnametclast chinesetmathstenglishendl;cout请输入修改后的学生成绩信息:endl;cout学号姓名班级语文数学英语head-numhead-namehead-cl
7、ashead-chinesehead-mathshead-english;head-total=head-chinese+head-maths+head-english;head-average=float(head-total)/3;head=head-next;if(b=1)cout无此学号或姓名的成绩记录!endl;/5(1)void geren(student*head)/查询个人成绩功能char a30;int b=1;couta;cout此学生的学生成绩信息是:endl;cout学号姓名班级语文数学英语总分均分num,a)=0)|(strcmp(head-name,a)=0)b=0
8、;coutnumnametclast chinesenext;if(b=1)cout无此学号或姓名的成绩记录!endl;/5(2)void chabanji(student*head)/查询班级成绩功能char a30;int b=1;couta;cout此班级的学生成绩信息是:endl;cout学号姓名班级语文数学英语总分均分clas,a)=0)b=0;coutnumnametclast chinesetmathstenglishttotaltsetprecision(3)averageendl;mathstenglishttotaltsetprecision(3)averagenext;i
9、f(b=1)cout无此班级的成绩记录!endl;/5(3)void chayuwen(student*head)/查询语文成绩功能int h,l,b=1;cout请输入您要查询的【语文】成绩的分数段:endl;cout起始分终止分l;cinh;cout此分数段的学生语文成绩信息是:endl;cout学号姓名班级语文数学英语总分均分chinese=l)&(head-chinese=h)b=0;coutnumnametclast chinesenext;if(b=1)cout无此分数段的语文成绩记录!endl;/5(4)void chashuxue(student*head)/查询数学成绩功能i
10、nt h,l,b=1;cout请输入您要查询的【数学】成绩的分数段:endl;cout起始分终止分l;cinh;cout此分数段的学生数学成绩信息是:endl;cout学号姓名班级语文数学英语总分均分maths=l)&(head-maths=h)b=0;coutnumnametclast chinesenext;if(b=1)cout无此分数段的数学成绩记录!endl;mathstenglishttotaltsetprecision(3)averageendl;mathstenglishttotaltsetprecision(3)averageendl;/5(5)void chayingyu(
11、student*head)/查询英语成绩功能int h,l,b=1;cout请输入您要查询的【英语】成绩的分数段:endl;cout起始分终止分l;cinh;cout此分数段的学生英语成绩信息是:endl;cout学号姓名班级语文数学英语总分均分english=l)&(head-english=h)b=0;coutnumnametclast chinesenext;if(b=1)cout无此分数段的英语成绩记录!endl;/5(6)void chazongfen(student*head)/查询总分成绩功能int h,l,b=1;cout请输入您要查询的【总分】成绩的分数段:endl;cout
12、起始分终止分l;cinh;cout此分数段的学生总分成绩信息是:endl;cout学号姓名班级语文数学英语总分均分total=l)&(head-total=h)b=0;coutnumnametclast chinesenext;if(b=1)cout无此分数段的总分成绩记录!endl;/6(1)void yuwen(student*head)/按语文成绩从高到低排序功能mathstenglishttotaltsetprecision(3)averageendl;mathstenglishttotaltsetprecision(3)averagenext;while(q)if(p-chinese
13、chinese)strcpy(a,p-num);strcpy(p-num,q-num);strcpy(q-num,a);strcpy(a,p-name);strcpy(p-name,q-name);strcpy(q-name,a);strcpy(a,p-clas);strcpy(p-clas,q-clas);strcpy(q-clas,a);b=p-chinese;p-chinese=q-chinese;q-chinese=b;b=p-maths;p-maths=q-maths;q-maths=b;b=p-english;p-english=q-english;q-english=b;b=p-
14、total;p-total=q-total;q-total=b;c=p-average;p-average=q-average;q-average=c;q=q-next;p=p-next;/6(2)void shuxue(student*head)/按数学成绩从高到低排序功能student*p,*q;char a30;int b;float c;p=head;while(p)q=p-next;while(q)if(p-mathsmaths)strcpy(a,p-num);strcpy(p-num,q-num);strcpy(q-num,a);strcpy(a,p-name);strcpy(p-
15、name,q-name);strcpy(q-name,a);strcpy(a,p-clas);strcpy(p-clas,q-clas);strcpy(q-clas,a);b=p-chinese;p-chinese=q-chinese;q-chinese=b;b=p-maths;p-maths=q-maths;q-maths=b;b=p-english;p-english=q-english;q-english=b;b=p-total;p-total=q-total;q-total=b;c=p-average;p-average=q-average;q-average=c;q=q-next;p
16、=p-next;/6(3)void yingyu(student*head)/按英语成绩从高到低排序功能student*p,*q;char a30;int b;float c;p=head;while(p)q=p-next;while(q)if(p-englishenglish)strcpy(a,p-num);strcpy(p-num,q-num);strcpy(q-num,a);strcpy(a,p-name);strcpy(p-name,q-name);strcpy(q-name,a);strcpy(a,p-clas);strcpy(p-clas,q-clas);strcpy(q-clas
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 作业 学生 信息管理 系统 源代码
限制150内