ImageVerifierCode 换一换
格式:DOC , 页数:14 ,大小:46.04KB ,
资源ID:4053943      下载积分:8 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

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

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(学生信息管理系统C++语言程序代码.doc)为本站上传会员【精****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

学生信息管理系统C++语言程序代码.doc

1、#include iostream。h include iomanip。h include fstream #include include malloc.h include stdlib.h #include string #include process。h include stdio。h define LEN sizeof(struct student) using namespace std; int n=0; /定义一个全局变量统计学生人数 struct student/定义一个学生信息的结构体 char name20; /用来存放姓名的 char sex20; /用来存放性别的 c

2、har yuanxi20;/用来存放院系的 long int id; /用来存放学号的 int score4; /用来存放分数的 int total; /用来存放总分数的 struct student *next; ; vector stu; class Information public: Information() ; /构造函数. Information() ; /析构函数。 student creat();/建立链表函数。 void output(student head); int count(student head);/定义函数count()统计考生总数 student *in

3、sert(studenthead);/指针函数insert()用来添加考生信息。 student cancel(student head,long int num);/指针函数*cancel()用来删除考生信息. student *find(student head,long int num); /指针函数*find()用来查找考生信息。 void inorder(student *head);/定义inorder()函数将考生的总分从大到小排列并输出 void average( student head);/求学生成绩的平均分的函数 void save(student head);/保存函数

4、 student Read();/读取函数 private: student p1,p2,*p3,head,st; ; Information::Information() /构造函数 cout” *n; cout” -欢迎您使用学生信息管理系统-n”; cout *nn”; Information:Information() /构造函数 cout” *n”; cout -n”; cout” *n”; student Information::creat(void) /定义一个指向struct student的结构体指针函数*creat()用来增加学生信息. char ch20;n=0; /用

5、来存放姓名的 p1=p2=(student *)malloc(LEN);/调用malloc()函数用来开辟一个新的存储单元 cout” -请建立学生考试信息表,在姓名处输入 ! 结束输入.-endl; coutch; head=NULL; /给指针head赋初值 while (strcmp(ch,”!)!=0) /调用字符比较函数strcmp()用来判断是否继续输入 char str10; int flag=0; p1=(student )malloc(LEN);/调用malloc()函数用来开辟一个新的存储单元 strcpy(p1name,ch); /将循环结构前面输入的姓名复制到结构体名为

6、p1的数组name中 cout” 性别:; cinp1-sex; cout院系: ; cinstr; coutid=atol(str); flag=1; while(flag=0); flag=0; coutstr; if(atoi(str)100 atoi(str)1) cout”对不起,请输入1100之间的数字!!n; else p1-score0=atoi(str); flag=1; while(flag=0); flag=0; coutstr; if(atoi(str)100 | atoi(str)1) cout”对不起,请输入1100之间的数字!n; else p1-score1=a

7、toi(str); flag=1; while(flag=0); flag=0; cout” 数学成绩:”; do cinstr; if(atoi(str)100 atoi(str)1) coutscore2=atoi(str); flag=1; while(flag=0); flag=0; cout” C+成绩:”; do cinstr; if(atoi(str)100 | atoi(str)1) couttotal=p1score0+p1score1+p1score2+p1score3;/计算总分 if(n=0)head=p1;/如果是输入第一组学生考试信息就将指针p1赋给指针head e

8、lse p2next=p1;/否则将p1赋给p2所指结构体的next指针 p2=p1;/将指针p1赋给指针p2 n+; /将n的值加1 coutch;/将输入的姓名存放到字符数组ch中 p2-next=NULL;/将p2所指结构体的next指针重新赋空值 return (head);/将输入的第一组学生考试信息返回 void Information:output(student *head) /定义output()函数将学生的信息从头指针所指内容开始输出 if(head=NULL) cout” 这是一个空表,请先输入考生成绩。n”; else cout-n”; cout 学生成绩信息表*n”;

9、 cout-n”; cout”学号 姓 名 性别 院系 语文 英语 数学 C+ 平均成绩 总分n; cout”-n”; p1=head;/将头指针赋给p do coutsetw(8)p1-id setw(9)p1-name sex score0 score1 setw(10)p1score2 setw(9)p1-score3 totalendl; coutnext;/将下一组学生信息的next指针赋给p while(p1!=NULL);/若指针p非空则继续,目的是把所有的学生信息都传给指针p然后输出. /统计学生人数的函数 int Information:count(struct studen

10、t *head)/定义函数count()统计考生总数 if(head=NULL) /若指针head为空返回值为0 return(0); else return(1+count(headnext));/函数的递归调用 /插入学生的成绩信息的函数 student Information:insert( student head) /插入新结点定义一个指向struct student的结构体指针函数insert()用来添加考生信息。 char str10; int flag=0; coutt-请输入新增学生成绩信息-nendl; p1=(student )malloc(LEN); /使p1指向插入的

11、新结点 cout” 姓名:”; cinp1name; /将输入的姓名存放到结构体名为p1的数组name中 coutp1sex; cout” 学号(9位):”; do cinstr; if(atol(str)99999999 atol(str)1) coutid=atol(str); flag=1; while(flag=0); flag=0; coutstr; if(atoi(str)100 atoi(str)1) cout对不起,请输入1-100之间的数字!n”; else p1-score0=atoi(str); flag=1; while(flag=0); flag=0; cout 外语

12、成绩:”; do cinstr; if(atoi(str)100 atoi(str)1) coutstr; if(atoi(str)100 | atoi(str)1) cout”对不起,请输入1100之间的数字!n; else p1-score2=atoi(str); flag=1; while(flag=0); flag=0; coutstr; if(atoi(str)100 atoi(str)1) coutscore0+p1-score1+p1score2+p1-score3;/计算总分 p2=head;/将头指针赋给p2 if(head=NULL) /若没调用次函数以前的头指针head为

13、空 head=p1;p1next=NULL;/则将p1赋给头指针head并将p1所指结构体成员指针next赋空值 else while((p1-idp2id)&(p2next!=NULL)) p3=p2;/p3指向原p2指向的结点 p2=p2next; /p2后移一个结点 if(p1id=p2id) if(head=p2) p1next=head; head=p1; /插入到第一个结点之前 else p3next=p1; p1next=p2; /插入到p3所指结点之后 else p2next=p1; p1-next=NULL; /插入到尾结点之后 n+;/将学生人数加1 coutt你输入的学生

14、信息已经成功插入id)/如果输入的学生准考证号是p1所指的学号结点找到后删除 if(p1=head) head=p1-next;/如果head指针和p1指针相等则将下一个结点赋给指针head else p2next=p1next;/否则将p1所指结点赋给p2所指结点将要删除的学生信息跳过去 cout” 删除学号为”next!=NULL) /寻找结点当p1所指的学号不是输入的学生学号并且p1所指的next指针不为空 p1=p1next; /p1后移一个结点 if(num=p1id)/如果要查找的学号是p1所指的学号 cout”-n”; cout学号 姓名 性别 院系 语文 英语 数学 C+ 平均

15、分 总分 n; cout-n”; coutsetw(8)p1id name setw(8)sex setw(13)p1score0 setw(16)p1score1 setw(10)p1score2 setw(9)p1score3 setw(6)p1-total/4。0 setw(11)totalendl; cout”-n; else cout 没找到学号为”num的学生.n; /结点没找到 return(head); void Information:inorder(student head) /定义inorder()函数将考生的总分从大到小排列并输出 int i,k,m=0,j; stud

16、ent p20;/定义一个指向struct student的结构体指针数组p if(head!=NULL)/如果头指针是空则继续 m=count(head); cout-n”; cout”学生成绩统计表n; cout”-n”; cout”学号 姓 名 性别 院系 语文 英语 数学 C+ 平均分 总分 名次n”; cout”-n”; p1=head; for(k=0;ktotalpj-total) p2=pk; pk=pj; pj=p2; for(i=0;im;i+) coutsetw(8)p1id name setw(8)p1sex setw(13)p1score0 score2 setw(9

17、)p1-score3 setw(6)p1total/4.0 setw(11)p1-totalendl; cout”-n; void Information::average(student *head) /求各科平均成绩的函数 int k,m; float arg1=0,arg2=0,arg3=0,arg4=0; if(head=NULL)/如果头指针是空则继续 cout” 这是一个空表,请先输入学生成绩.n; else m=count(head); p1=head; for(k=0;km;k+) arg1+=p1score0; arg2+=p1score1; arg3+=p1-score2;

18、 arg4+=p1score3; p1=p1-next; arg1/=m;arg2/=m;arg3/=m;arg4/=m; cout全班单科成绩平均分n; cout”-n”; cout” 语文平均分:”setw(7)arg1 ” 英语平均分:”setw(7)arg2 数学平均分:setw(7)arg3 ” C+平均分:”setw(7)arg4endl; cout”-n; void Information::save(student *head) /保存函数。 ofstream out(data。txt”,ios::out); outcount(head)endl; while(head!=NU

19、LL) outhead-nameid”t”t” sexscore1t” head-score2”t headscore3”t” i; if(i=0)cout” data。txt 文件中的数据为空,请先输入数据。”endl; return 0; else cout0;i-) p1=(student )malloc(LEN); cinst。namest。idst。sex st。score0st.score1st。score2st。score3 st。total; strcpy(p1name,st.name); p1id=st.id; strcpy(p1sex,st。sex); p1score0=s

20、t。score0; p1score1=st。score1; p1score2=st.score2; p1score3=st.score3; p1-total=st.total; if(n=0)head=p1;/如果是输入第一组学生考试信息就将指针p1赋给指针head else p2next=p1;/否则将p1赋给p2所指结构体的next指针 p2=p1;/将指针p1赋给指针p2 n+; /将n的值加1 cout p1-namet /显示读入数据 p1idt”t sex”t” p1score0”t p1score1score2”t p1-score3”t totalendl; cout” ”en

21、dl; / cout” 数据已经成功读取完毕.”endl; p2-next=NULL; return (head); int main() /主函数. system(color 4f”);/改变登陆界面颜色 Information person; student head=NULL; char str5; int flag=0; int choice; long int i; char admin20; char pass30; coutadmin; cout”请输入密码n”; cinpass; if(strcmp(admin,”1111”)=0&strcmp(pass,222”)=0) do

22、 cout” *”endl; cout 学生信息管理系统主菜单界面 *endl ; cout” ”endl; cout”endl; cout.输入学生信息 ”endl; cout。显示学生信息 endl; cout”.排序统计成绩 ”endl; cout”.查找学生信息 ”endl; cout”。增加学生信息 ”endl; cout.删除学生信息 ”endl; cout。保存退出系统 endl; cout”endl; coutstr; if(atoi(str)7 | atoi(str)1) cout”对不起,请输入17这几个数字!n”; else choice=atoi(str); switc

23、h(choice) case 1: head=person.creat(); break; case 2: person。output(head); break; case 3: person。inorder(head); person.average(head); cout 学生人数为:”person。count(head)”人n; break; case 4: coutstr; if(atol(str)999999999 atol(str)str; if(atol(str)999999999 atol(str)1) cout”对不起,请输入正确输入!!hn”; else i=atol(str); flag=1; while(flag=0); flag=0; head=person.cancel(head,i); person.output(head); break; case 7: person。save(head); cout”文件已保存!可以安全退出!!endl; break; default :cout 对不起,您的输入有误,请重新输入。n; break; while(choice!=7); else cout密码不对,重新输入”; return 0;

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服