已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.中南大学C+程序设计实践报告学 院: 材料院 专业班级: 学 号: 姓 名: 一、 实践目的C+是一种运用广泛的电脑程序式设计语言。在学完C+程序设计课程后,为了加深和巩固课程的每个知识点,训练并培养自己运用所学知识独立进行程序设计、解决实际问题的能力,学会编制结构清晰、风格良好、数据结构适当的C+语言程序。我们在老师的指导下进行了C+程序设计实践,用C+语言编制学生档案管理软件。二、实践要求 1)、进行C+程序设计实践要求我们利用面向对象的方法以及C+的编程思想来完成该软件的设计。2)、建立学生档案管理软件,要对所包含的学生的全部信息,能进行相应的学生信息输入、学生信息输出、学生信息删除、学生信息添加以及学生信息修改。3)、系统的主程序中,要求会使用口令判断功能函数。使得程序体对信息的修改更为方便。4)、程序主函数中也要提供菜单选项,该选项具有一定的选择信息,以方便使用者使用。三、实践内容实践内容包括了:学生档案管理软件的总设计框架,系统口令函数的框图,以及数据的输入、添加、修改、删除、显示等的子框图还有退出系统的框图。学生档案管理软件总框架:5、数据显示4、数据删除3、数据修改2、数据添加1、数据输入显示主菜单系统口令开始 N Y结束系统口令流程图:开始password()输入系统口令str1=system?NY进入管理系统主界面主菜单流程图:main()输入要操作的选项代码flag=0输入pNflag=0P=0&p=9 Yflag=1Y输入数据选项为0?NY添加数据选项为1?NY修改数据选项为2?NY选项为3?删除学生信息NY选项为4?输出所有学生成绩NY选项为5?退出系统是否继续其他操作(y/n)YW=y结束N输入w数据录入数据输入流程图:初始化i,j=0依次输入学生的姓名、学号、专业、成绩等信息输出总成绩输出平均成绩录入到file并将j指向下一个录入到student并将i指向下一个Y/flage=1Else/flage=0判断是否继续y/nN/flage=1初始化flage是否继续y/n主菜单Y/flage=1Else/flage=0N/flage=1Break 数据添加数据添加流程图:依次输入学生的姓名、学号、专业、成绩等信息输出总成绩输出平均成绩录入到file并将j指向下一个录入到student并将i指向下一个Y/flage=1Else/flage=0判断是否继续y/nN/flage=1Else/flage=0Y/flage=1主菜单初始化flage是否继续y/nN/flage=1Break数据修改流程图:数据修改I=0/没数据初始化定义I=0?/判断是否有数据I!=0/有数据输入要修改的学生姓名Flag=0/无没找到strcmp(name,)/查找Flag=1/有依次输入学生的学号、专业、成绩等信息输出总成绩输出平均成绩录入到file录入到studentY/flage=1Else/flage=0判断是否继续y/nN/flage=1Else/flage=0Y/flage=1初始化flage是否继续y/n主菜单N/flage=1Break数据删除流程图: 数据删除Else/flage=0N/flage=1Y/flage=1没找到主菜单Break初始化flage是否继续y/n成功数据依次覆盖Strcmp(name,)/查找输入要删除的学生姓名 精选范本数据显示流程图:数据显示标题-数据如下没数据I=0?/是否有数据?数据依次输出主菜单Y/flage=1Else/flage=0初始化flage是否继续y/nN/flage=1Break退出流程图:Bye bye!exit(0)退出四、实践体会在指导老师的耐心教导下,我们完成了此次C+程序设计实践。在实践过程中,我们学会了如何运用C+语言编写一个学生档案管理软件。首先,我们要对所编软件有相应的认识,了解该学生档案管理系统应有的功能,对相应的功能思考需要运行的函数。例如整个程序体的主函数,系统口令函数以及数据输入输出修改删除等的函数。然后对课堂所学内容进行灵活运用,如源程序中多次使用到的指针与数组等。此外还需用到部分课外知识,这就考查了我们对C+程序语言的自主学习能力。通过此次程序设计实践,用理论联系实际,加深了我对C+语言的理解与掌握,提高了我的实践能力及计算机操作能力。编程的过程也锻炼了我运用多种方法完成编程任务的思维转换能力。编程虽然不易但收获颇丰。同时自身编程能力还存在一定不足,我也会在日后的学习生活中不断改进。学生档案管理软件源代码#include#include#include#include using namespace std;class student private: char name4; /姓名 char xibie8; char banji4; double cpro,english,math,sport,computer,allscore,average;/课程 int order, number; /名次,学号 public: student() password();/这个是用于系统口令的,函数声明 student(char n4,int nu,double cc,double eng,double ma,double sp,double com,double as,double av) strcpy(name,n); number=nu; cpro=cc; english=eng;math=ma;sport=sp;computer=com;allscore=as;average=av; friend void main(); ;void password()/从这里开始,口令函数string str1;system(cls); coutendlendlendl; coutsetw(30)str1; coutendlendlendl; if (str1!=system) coutsetw(40)口令不正确!请重新输入!n; system(pause); password(); return;void main()password(); double allscore; double average; cout 欢迎使用学生管理系统endl; cout *endl; cout * 学生成绩管理系统 *endl; cout *endl; cout 0、输入数据 endl; cout 1、添加数据 endl; cout 2、修改数据 endl; cout 3、删除学生信息 endl; cout 4、输出所有学生成绩 endl; cout 5、退出系统 endl; cout =endl; cout 选择0-5数字进行操作endl; cout =p;if(p=0&p=9) flag=1;else cout 指令错误!请重新输入:endl; while(flag=0);do switch(p) /接收功能选项 case 0: /输入数据 char c; char name4;int number;char xibie8;char banji4;double cpro,english,math,sport,core,computer; do coutendlname; coutendlnumber; coutendlxibie; coutendlbanji; coutendlcpro; coutendlenglish; coutendlmath; coutendlsport; coutendlcomputer; coutendl; allscore=cpro+english+math+sport+computer; cout 总成绩:allscoreendl; average=(cpro+english+math+sport+computer)/5; cout 平均成绩:averageendl; filej=new ofstream(D:student.dat,ios:ate); *filej 姓名 name 学号 number C+成绩 cpro 英语成绩 english 线代成绩 math 体育成绩 sport 微积分成绩 computer总成绩allscore平均成绩endl; j+; si= student(name, number,cpro,english,math,sport,computer,allscore,average); i+; coutc; coutendl;do if(c!=y&c!=n) cout 指令错误!请重新输入!endlc; else flag=1; while(flag=0); while(c=y);break; case 1: /增加数据 char name20; int number;double cpro,english,math,sport,computer; char c; do coutname; coutendlnumber; coutendlcpro; coutendlenglish; coutendlmath; coutendlsport; coutendlcomputer; coutendl; allscore=cpro+english+math+sport+computer; cout 总成绩:allscoreendl; average=(cpro+english+math+sport+computer)/5; cout 平均成绩:averageendl; filej=new ofstream(d:student.dat,ios:ate); *filej 姓名 name 学号 number C+成绩 cpro 英语成绩 english 线代成绩 math 体育成绩 sport 微积分成绩 computer 总成绩 allscore 平均成绩 averageendl; j+; si= student(name, number,cpro,english,math,sport,computer,allscore,average); i+; coutc; coutendl; if(c!=y&c!=n) cout 指令错误!请重新输入!endlc; while(c=y); break; case 2: /修改数据 char name20;int nu;double cc,eng,ma,sp,l,hb,com,as,av;flag=0; char c; if(i=0) cout系统中找不到这个学生; do coutname; coutendl; for(int h=0;hi;h+) /h纪录要修改学生的位置 if(strcmp(name,)=0) flag=1; coutnu; coutendlcc; coutendleng; coutendlma; coutendlsp; coutendlcom; as=cc+eng+ma+sp+com; coutendl 总成绩:as; av=as/5; coutendl 平均成绩:av; coutendl; sh.cpro=cc; sh.english=eng; sh.math=ma; sh.sport=sp; sh.number=nu; cout 数据修改成功!endl; if(flag=0) cout 您要修改的学生本来就不存在!请检查重新输入!endl; coutc; coutendl; if(c!=y&c!=n) cout 指令错误!请重新输入!endlc; while(c=y); break; case 3: coutm; for(int a=0;ai;a+) if(strcmp(,m)=0) int w; w=a; for(w;wi;w+) sw=sw+1; i=i-1; cout 删除成功!endl; break; case 4: /输出 cout 本系统所有学生数据如下:endl; if(i=0) cout 管理系统中没有输入数据!endl; cout姓名 学号 c+ 英语 线代 体育 微积分 总成绩 平均成绩 endl; for(int k=0;ki;k+) setw(7)sk.numbersetw(4) (sk).cprosetw(5)(sk).englishsetw(5) (sk).mathsetw(4)(sk).sportsetw(5) (sk).computersetw(6) sk.allscoresetw(10)(sk).
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小小科学家:培养科学精神小学主题班会课件
- 服务业酒店总经理服务水平KPI考核表
- 电影制作组摄影导演拍摄质量评估绩效衡量表
- 年度品牌报告发送时间确认通知函4篇
- 5.6 函数y=Asin(ωx+φ)(一)-高一上学期必修一数学课件人教A版
- 食品行业食品安全追溯流程手册
- 合作伙伴交流成果反馈函(6篇)
- 业绩评估与合作展望确认函(4篇)
- 关于2026年春季产品更新公告函3篇
- 紧急救助员试题模拟试题及答案
- 人工智能+乡村振兴中国式现代化道路上的农村智能治理策略报告
- 青桐鸣大联考2025-2026学年高一上学期10月月考物理试卷
- 失独老人课题申报书
- 简单的详细房屋抵押合同模板7篇
- GJB1032A-2020 电子产品环境应力筛选方法
- 血透室水处理维护课件
- 工会经费审计条例课件
- 2025年机关事业单位工勤技能人员职业道德试题及答案
- 镀锌工安全教育培训手册
- 第三届全国技能大赛竞赛(软件测试赛项)选拔赛备考试题(附答案)
- 消化道出血的业务学习
评论
0/150
提交评论