欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    学生信息管理系统 C 课程设计.docx

    • 资源ID:97676212       资源大小:53.20KB        全文页数:34页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    学生信息管理系统 C 课程设计.docx

    一、设计分析该设计是设计一种实用的小型学生成绩管理系统。它有录入,查询,修改,删除,保留 的基本功能,并且可以对指定文献操作,也可将多种文献构成一种文献。二、系统设计阐明1 .程序运行主界面再根据顾客H勺不一样需求来选择不一样H勺操作2 .模块功能设计2.1 .建立学生基本信息使用动态链表技术,用creat()函数实现学生基本信息的录入;2.2 查询记录(1)可以按学号方式查询记录。(2)能给出查询记录的信息。1 .在visual. C+里打开“学生管理.cpp”,编译与调试,最终运行程序;2 .根据运行界面上的文字提醒,选择不一样的任务编码,已到达不一样的操作 功能;五、设计体会及此后的改善意见通过这次欧I设计,我学到了诸多。首先,学会了怎样建立一种动态链接即就 是creat()函数;尚有本次设计用到了好多链表的操作,例如说:链表的输出、 链表的插入、链表的删除;这些都是有一定的编程难度的。再者,本次设计是一 种模块划分比较清晰地程序,每个模块均有自己的函数与应当实现的功能;最终, 用到了文献的操作,这是C+课最终所讲到的知识;本次设计所包括的知识面比较广,因此必须要把所学的知识融会贯穿才行; 当然,软件也有些许局限性之处,例如:没有实现从母表中提取子表;软件的某 些细节性问题还是有待深入完善的I。参照程序:#include<iostream>#include<fstream>#include<string>#include<ctime>#include<iomanip>#define NULL 0 using namespace std;int n;定义全局变量n用来确定学生的I人数struct student定义一种学生信息构造体 char class_020;string num;/学生W、J学号用九位字符表达,为使用以便用string类char name20;string subject6;float average6;float final_score6;student *next;stud100;/各个模块函数菜单函数char filename20|;void meun(int m);student *creat();/创立链表函数void print(student *head);输出链表函数void search(student *head);/查找信息函数void Insert(struct student *head);插入信息函数student *del(student *head,string num);void update(struct student *head);/修改信息函数void Dele(student *head);/删除信息函数文献操作日勺两个函数void save();保留函数void read();读入函数菜单函数void meun(int m)(static student *head;switch(m)(case 1: head=creat();print(head);break;case 2: Insert(head);break;case 3: search(head);break;case 4: update(head);break;case 5: Dele(head);break;case 6: save();break;)cout««endl;cout«n*1* *1* *1*X* kA*kJ* *1* *£* kJ*rjw rj*rj* rj*菜单*”«endl;int m;char c;do11 *.X* .J . .I,.> > > 匕.> >>.帖以£> 1,>, , 11q. rTw rTw <Tw <Tw *7* <T« rT» *T* 卜,卜 *1* *Tw *7、r* *Tw <Tw *T* <Tw rT» *Tw 卜 1 *J*7* *T* 卜,卜 *1* *Tw *T* rT* 卜 *T*7 *Tw rT* *Tw <Tw *Tw <7、*7* *T*cout<<"*1输入数据*”<<endl;coutvv"*2插入信息* ”<<endl cout«"*3查找信息*”endl;cout<<"*4修改信息* 八 <<endl coutvv"*5删除信息* 八 <<endl coutvv *6保留信息* ''v<endl coutvv”请输入您想完毕的操作:”;cin»m;meun(m);coutvv”你要继续操作吗?(y/n):"v<endl;cin»c;system(nclsn);while(c二二'y');if(c='n')/主函数入口int main()system(nclsn);time_t t;time(&t);密码设置cout«”*欢迎进入学生管理系统*n" vvendl« ”目前系统时间是:” ctime(&t) « endl ;cout«”请输入你日勺登录密码,只有四次机会!”V<endl;string str;int i=l;cin»str;if(str=M123456n)(cin.get();cout«”文献途径与文献名?格式应为:盘符:文献名.txt”endl;cin»filename;meunl();elsefor(i=l;i<=3;i+)(cout«iv<”次密码错误,请重新输入密码!”<<endl;cin»str;if(i=3)cout«n您无权使用本系统! n«endl;)return 0;)建立动态链表student *creat()(int i;student *head,*pl,*p2;n=0;pl=p2=new student;coutvv”请输入第" vvn+lvv”个学生的信息:" vvendl;coutvv”学号:"cin»pl->num;coutvv"班级:"cin»pl->class_O;coutvv” 姓名:”;cin»pl->name;cout«endl;pl->subjectO二"语文”;pl->subjectl二"英语”;pl->subject2="数学”;pl->subject3="物理”;pl->subject4=” 化学”;pl->subject5="生物”;for(i=0;i<6;i+)(cout«”科目:“;cout«pl->subjecti«endl;coutvv”平时成绩:”;cin»p l->averagei;coutvv”期末成绩:”;cin»p 1 ->final_scorei;cout«endl;)head=NULL;while(pl->num!=nn)(n=n+l;if(n=l)head=p 1;elsep2->next=pl;p2=pl;pl=new student;cout<< "请输入第" vvn+lvv”个学生的数据:"Vendl;cout«"学号:“;cin»pl->num;break;cout<< "班级:";cin»pl->class_O;cout<< "姓名:";cin»pl->name;p l->subj ectO="语文”;pl->subjectl二"英语”;pl->subject 口数学”;pl->subject3="物理”;pl->subject4="化学”;pl->subject5="生物”;for(i=0;i<6;i+)(coutv如科目:”;cout«p 1 ->subjecti«endl;coutv如平时成绩:cin»p 1 ->averagefi;coutvv”期末成绩:”;cin»p l->final_scorei;)p2->next=NULL;return(head);)/链表日勺输出void print(student *head)(student *p;p=head;int i,j=0;if(head != NULL)do(cout«"学号 ”<<”班级,«n姓名 n«endl;cout«endl;cout«p->num«H”;studfj.num=p->num;(3)假如查询的信息不存在,输出提醒信息。2.3 插入学生记录(1)可以在已经有记录背面追加新的J记录。(2)可以随时增长新的记录,他们仅保留在向量数组中。(3)假如没有记录存在,给出提醒信息。2.4 修改记录(1)可以按学号方式查找要修改的记录内容。(2)给出将被修改记录的I信息,经确认进行修改。(3)假如己经是空表,应给出提醒信息并返回主菜单。(4)假如没有找需要找到修改日勺信息,输出提醒信息。2.5 删除记录(1)可以按学号方式删除记录。(2)标志将被删除的记录,可以再次取消标志,经确认后删除已经标志的记录。(3)假如已经是空表,删除时应给出提醒信息并返回主菜单。(4)假如没有要删除的信息,输出信息。(5)删除操作及限于内存,只有执行存储操作时,才能覆盖原记录。2.6 文献存储(1)可以按默认名字或者指定名字存储记录文献。(2)更新存储标志。三、系统技术文档cout«p->class_0«nstrcpy(studj.class_O,p->class_O);cout«p->name«H ”;strcpy(studj.name,p->name);cout«endl;for(i=0;i<6;i+) cout«n科目平时成绩”<<”期末成绩“<<”最终成绩”endl;cout«p->subjecti«H”; studj.subjecti=p->subjecti;cout«p->averagei«nn;studj.averagei=p->averagei;cout«p->final_scorei«,' ”; studj.final_scorei=p->final_scorei;cout«(p->averagei)*0.3+(p->final_scorei)0.7)«endl;)j+;p=p->next;cout«setw(l OO)«endl;while(p!=NULL);save();)删除结点student *del(student *head,string num)student *pl,*p2;if(head=NULL)(coutvv”空链表,无删的I 对象” vvendl;meunl();)pl = head;while(num!=p l->num&&p l->next!=NULL)(p2 = pl;pl=pl->next;)if(num=p l->num)(if(pl=head)head = pl->next;elsep2->next = pl->next;n = n - 1;)else coutvv”查无此人”;return(head);)判断与否可以删除信息void Dele(student *head)(string del num;print(head);cout«”请输入你想删除的J学号:“;cin»del_num;while(del_num != nn)(head = del(head,del_num);print(head);cout«”请输入你想删除的J学号: cin»del_num;)查询信息void search(student *head)print(head);if(head=NULL)(cout<<”这是一种空链表,无查找项” <vendl;meunl();)int i;string num;student *p 1;cout« ”请输入你想查找H勺学生号:”;cin»num;pl=head;while(p 1 ->num!=n n)(if(p l->num=num) cout«p 1 ->num«n”;cout«p l->class_0«n”;cout«p l->name«"for(i=0;i<6;i+) cout«p 1 ->subjecti«n”;cout«p 1 ->averagei«n”;cout«p 1 ->final_scorei«n”;cout«(pl->averagei)*0.3+(pl->final_scorei)*0.7«endl;) break;if(pl->num!=num&&pl->next=NULL)cout<< ”没有该学生口勺信息匕else pl=pl->next;插入结点struct student *insert(struct student *head,struct student *stud)(struct student *p0,*pl,*p2;pl = head;pO = stud;if(head = NULL)head = pl;pO->next=NULL;)else(while(pO->num != p 1 ->num)&&(p 1 ->next! =NULL)(p2=p1;pl=pl->next;)if(pO->num<=p 1 ->num)(if(head = pl)head = pO;else p2->next = pO;pO->next = pl;)elsepl->next = pO;pO->next = NULL;)n = n+1;return(head);)插入判断void Insert(struct student *head)(struct student *stu;int i;cout«”输入你想插入H勺数据:“<<endl;stu 二 new student;cout<<“学号:";cin»stu->num;cout<< "班级:";cin»stu->class_O;coutvv”姓名:”;cin»stu->name;for(i=0;i<6;i+)cout<v”科目:”;cin»stu->subjecti;cout<< "平时成绩:";cin»stu->average| i ;cout<< ”期末成绩:";cin»stu->final_scorei;cout«endl;)head = insert(head,stu);print(head);while(stu->num !="")(coutv”输入你想插入的I数据:”;stu = new student;cout<< “学号:“;cin»stu->num;if(stu->numbreak;coutvv"班级:" cin»stu->class_O;cout« "姓名:"; cin»stu->name;stu->subjectO二"语文”;stu->subj ect 1 =" 英语”;stu->subject2="数学”;stu->subject3="物理”;stu->subject4=”化学”;stu->subject5="生物”;for(i=0;i<6;i+)(cout«”科目:“; cin»stu->subjecti;coutvv”平时成绩:”; cin»stu->averagei; coutvv”期末成绩:”; cin»stu->final_scorei;cout«endl;head = insert(head,stu);print(head);)修改信息void update(struct student *head)(struct student *stu;string del_num;int i;print(head);coutvv”请输入你想修改的|学号:";cin»del num;while(del_num !=(head = del(head,del_num);cout« ”请重输入此学生的数据:stu = new student;stu->num = del_num;1、系统各重要模块流程图1.1输入数据模块1.2查找信息模块cout<< ”班级:"cin»stu->class_O;cout«"姓名:";cin»stu->name;stu->subjectO二"语文”; stu->subject 1 二"英语”; stu->subject2="数学”; stu->subject3="物理”; stu->subject4="化学”; stu->subject5="生物”;for(i=0;i<6;i+)(coutv<“科目:"cin»stu->subjecti;COUtVV”平时成绩:"; cin»stu->averagei;coutvv”期末成绩:”;cin»stu->final_scorei;cout«endl«setw( 10);head = insert(head,stu);print(head);coutvv”请输入你想修改的学号:"cin»dei_num;)信息保留void save()ofstream outfile(filename,ios:out);int i,j;if(!outfile)cerr«"open error'1;exit(l);)for(j=0;j<n;j+)outfilevv” 学号,'«studj.num«n«endl;outfile" ”班级,«studj.class_O «nn«endl;outfile<< "姓名M«studj.name«M H«endl;outfile<<”科目“VV“期末总评 n«endl;for(i=0;i<6;i+)outfile«studj.subjecti«n”;outfile«studj.averagei«n”;outfile«studj .final_scorei«H” ;outfile«(studj.averagei)*0.3+(studj.final_scorei)>c0.7)«endl;)cout«setw(50)«endl;)outfile.close();读入信息void read()(int i,j;ifstream infile(filename,ios:in);if(! infile)cerr«nopen error! "«endl;)for(j=0;j<n;j+)cout<<studj.num<<" ";cout«stud|j .class_0 «n”;cout«studj.name«n H«endl;for(i=0;i<6;i+)(cout«studj.subjecti«n ”;cout«studj.averagei«n”;cout«stud|j.final_scorei«n”;cout«(studj.averagei)*0.3+(studj.final_scorei)*0.7)«endl;)cout«setw(50)«endl;) infile.closeQ;L4删除信息模块2软件总体测试方案与测试记录将程序编写完毕后,开始整体测试。分别就不一样的模块功能进行测试,看程序与否可以对的的运行出成果,与否有逻辑错误。2.2测试部分记录(1)数据欧I录入过程 *C:hlyDebughly. exe整勺 勺宓任 留.三 文汨耳6 完海01191勇 息尹/ 30与 酬静09层Z M储需 毙WIP整ZfIE型目:语文6 69 91责成 目时末 85 59 9目时末4 49 9 小绩绩 出成成 目时末型目:生物 平时成绩:93 期末成绩:93(2)数据的查询主力MXMXMMXXKXXX*«*XXXXXXc、 *C:Progra> FilesMicrosoft Visual StudiolyProj.hid据据息息息息息数数信信信信信4人一父找改臂.显插查修删保中1234S67品米你卡目11 、al % 一、c *C:Progra> Fileslicrosoft Visual StudioMyProjectsgDebugg. exe二日X08语学理必嬴要20英数物化生你3tel9d请输入你想查找的学生号:200820206语文 869088.880.697.889.587.791.6dI3局部测试方案与测试记录3. 1测试方案局部测试分别进行了数据的修改与数据时插入两个模块的测试;3. 2测试部分记录(1)修改模块|可X1I*C: Progra> Fileslicrosoft Visual StudioMyPro jects.XXXXXXXMXM1输入数强 2显不磬据 ;查找嚣: S修改信息请输入您想完成的操6删除信7保荐宿自心、自心、*请输入你想修改的学号:200820207重重修此学生的数据:姓名:jinli科巨:语文乎时成绩:92期末成绩:96科日茸语于时献93幽末成绩:95L目:数学平时成绩:92期末成绩:92目:物理,:89h92L目:化学平时成绩:94勒末成绩:96L目:生物平时成绩:99期末成绩:97(2)插入信息模块作:>据 网数成的15完、/0 1 6 8 杷心插8209年:9:9 .您想00ba战绩绩 X你:2:z甲成成1 -1施八号名目时末费掣姓簟期*C:Progra> Fileslicrosoft Visual StudiolyProjects科日茸语 至鬲蕊98 期末成绩:93 /目:数学 乎时成绩:89 期果成绩:92 必目:物理 乎时成绩:88 期末成绩:86型目:化学 乎时成绩:93 期末成绩:95 过目:生物 乎时成绩:93 南生成绩:894软件调试与修改记录4.1软件调试软件调试采用单步调试的措施,查看其运行过程。保证每一步执行和 预期是一致的I。然后进行大量时时尝试不一样的数据进行调试,保证没有 其他错误。4. 2修改记录在整个程序的编写过程中,总是伴伴随程序的修改。一直调试到可以 对时运行出成果为止。5测试结论通过以上的测试环节后,软件的运行成果没有任何问题。可以初步断定,这个软件的功能是比较稳定日勺。已经到达了设计的基本规定。6其他运行状况记录删除后的状况:C:hlyDebughly.exe班级61130目目目目目目09科文科语型有理鬟30130目目目目目目已09科文科语处有理赞狗.3X.U!信息091何立勇平时成绩 期末成绩 最终成绩989898平时成绩 期末成绩最终成绩979797平时成绩 期末成绩 最终成绩969696平时成绩 期末成绩 最终成绩军时成绩 扇条成绩 食冬成绩949494平时成绩 期末成绩最终成绩939393学号班级 姓名信息091侯欣雨平时成绩 期末成绩篌终成绩939393平时成绩 期末成绩 最终成绩949494平时成绩 期末成绩 最终成绩969696平时成绩 期末成绩 最终成绩959595平时成绩 期末成绩 最终成绩979797平时成绩 期末成绩 最终成绩989898、系统使用阐明书:

    注意事项

    本文(学生信息管理系统 C 课程设计.docx)为本站会员(太**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开