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

    c++课程设计实践报告.pdf

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

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

    c++课程设计实践报告.pdf

    中 南 大 学C+程序设计实践题目学生成绩档案管理系统成员姓名班级学号:指导教师学院完成时间年月日目 录一、二、三、四、程序设计目的程序使用说明程序结构和流程调试与分析12五、六、附录:参考文献一、程序设计目的:一、程序设计目的:总结与心得调试结果展示程序的不足分析程序源代码根据课题要求,设计一“学生成绩管理系统”,它的主要功能是对学生的成绩进行输入、修改和管理。包括录入学生的信息、查询、修改、输出所有信息、统计和退出等功能。在完成这个实验设计的过程中,更加全面地认识C+程序设计。在已有的知识基础上,自学结构体、面向对象等内容。让组员在设计期间,提升对 C+的认识与理解,更好地掌握相关知识,将理论知识运用于实践。具体表现在以下方面:1.熟练运用计算机语言,理解计算机语言的思想。能够合理运用计算机语言编写高效的程序;2.通过课程设计,加深 C+进行面向过程的结构化程序设计。能对系统功能进行分析,并设计合理的模块化结构;3.通过课程设计,理解 C+优越于 C 语言的面向对象的程序编辑。自学对文件操作与文件流等部分;4.通过课程设计,训练 C+程序调试能力,培养分析问题、解决问题和改进问题的能力;5.通过课程设计,开发一个中小型系统,掌握系统研发全过程;6.通过课程设计,培养团队协作能力,提升团队沟通与交流的技巧。二、程序使用说明:二、程序使用说明:该程序使用 C+设计的一个简单学生成绩管理系统,它外观大方,功能多样。它操作人性化,易于操作,能以简便高效的方式对学生成绩进行管理和查询。其具体的功能分为以下几个部分:1.输入学生的数据:只要输入学生的姓名和成绩,学号会自动生成,每输入完一个学生数据,不用再选择,可以继续;2.查询学生成绩:在这个功能里,你可以选择是按照学号还是姓名进行查询,一次只能查找一人;3.修改成绩:该功能是在学号的基础上对学生的姓名和成绩进行修改。学号不会改动;4.输出所有学生成绩:它会将所有录入的学生数据都显示出来;5.统计挂科和优秀人数:在所录入的信息中统计,会显示出优秀多少人和挂科多少人;6.退出系统:退出学生成绩管理系统。开始功能菜单用户选择功能判断执行选择服务三、程序结构和流程三、程序结构和流程:为实现系统功能,本程序主要分为七个模块。它们分别为:显示中文提示选单、录入新的信息、查询信息、修改信息、列出所有的信息、统计信息、退出该程序。这七个函数再通过主函数调用分别得以实现。主函数,首先提供了程序运行时的友好界面,列出了清单,以供用户做出选择,以便决定使用学生成绩管理系统的哪种功能。然后,通过执行选择语句,分别实现其它各个函数的调用功能。Main主函数menu菜单目录录入查询修改输出统计退出四、调试与分析:四、调试与分析:1、调试结果展示:学生成绩管理系统主页面:输入数据:查询成绩:修改学生信息:输出所有学生成绩:统计挂科和优秀人数:2、程序的不足分析由于本程序是分模块设计的,所以每次运行时选择完每一分块的任务并且执行完任务后,并于本次保存,再按任意键又会继续回到原来的用户选择界面,供用户继续选择所需要的任务并执行任务。对于本程序的调试运行,总体上情况良好,具有可实施性,操作简单,使用户能够接受并方便使用。但是,任何程序都有其改进的地方,发现问题并解决问题是追求只是的必经之路,也只有懂得发现问题才能更好的学习 C+程序设计,才能使自己更有效的提高,所以在百般思考的过程中我发现的主要问题有:对于本程序来说,对于本程序来说,录入后的信息不能删除,录入后的信息不能删除,这样的话这样的话只会让文件中的数据越来越多,却不能按照要求去删除。这会给使用者带来不只会让文件中的数据越来越多,却不能按照要求去删除。这会给使用者带来不便。便。五、源程序代码:五、源程序代码:#include#include#include#includeusing namespace std;const char*file=student.dat;const int LIM=10;int ct=0;inline void eatline()while(cin.get()!=n)continue;struct studentint num;char nameLIM;int grade;void menu()/主菜单coutt*endl;coutt 欢迎使用学生成绩管理系统 endl;coutt*endl;coutt*1-输入数据*endl;coutt*2-查询成绩*endl;coutt*3-修改学生信息*endl;coutt*4-输出所有学生成绩*endl;coutt*5-统计挂科和优秀人数*endl;coutt*6-退出系统*endl;coutt*endl;void menu2()/二级菜单coutt*endl;coutt*1-按学号查询*endl;coutt*2-按姓名查询*endl;coutt*a;int na;char snaLIM;fstream find;find.open(file,ios_base:in|ios_base:out|ios_base:binary);eatline();student stu;switch(a)case 1:cout请输入学生学号:na;break;case 2:cout请输入学生姓名:sna;break;default:cout选择执行的操作错误!n;cin.clear();while(cin.get()!=n);for(int i=1;i=ct;i+)streampos place=(i-1)*sizeof stu;find.seekp(place);if(find.fail()cerr 查找出错!程序将退出!n;system(pause);exit(EXIT_FAILURE);find.read(char*)&stu,sizeof stu);switch(a)case 1:if(stu.num=na)w=1;coutsetw(6)学号 setw(LIM)姓名 setw(6)成绩endl;coutsetw(6)stu.num:setw(LIM)stu.namesetw(6)stu.gradeendl;break;case 2:if(!strcmp(stu.name,sna)w=1;coutsetw(6)学号setw(LIM)姓名 setw(6)成绩endl;coutsetw(6)stu.num:setw(LIM)stu.namesetw(6)stu.gradeendl;break;default:cout选择执行的操作错误!n;cin.clear();while(cin.get()!=n);if(w=0)cout未找到此人!endl;find.close();void menu5()/二级菜单coutt*endl;coutt*1-按学号修改成绩*endl;coutt*2-按姓名修改成绩*endl;coutt*endl;void aver()/统计及格和优秀人数的函数fstream find;find.open(file,ios_base:in|ios_base:out|ios_base:binary);eatline();student stu;int A=0,C=0;for(int i=1;i=ct;i+)streampos place=(i-1)*sizeof stu;find.seekp(place);if(find.fail()cerr 查找出错!程序将退出!n;system(pause);exit(EXIT_FAILURE);find.read(char*)&stu,sizeof stu);if(stu.grade=90)A+;cout优秀人数为:A 人,挂科人数为:Cendl;find.close();void output()/输出全部学生成绩信息的函数student stu;ifstream find;find.open(file,ios_base:in|ios_base:binary);coutsetw(6)学号setw(LIM)姓名setw(6)成绩endl;while(find.read(char*)&stu,sizeof stu)coutfixedright;coutsetw(6)stu.num:setw(LIM)stu.namesetw(6)stu.gradeendl;find.close();int stu_num()/计算数据组数student stu;ifstream stunum;stunum.open(file,ios_base:in|ios_base:binary);if(stunum.is_open()stunum.seekg(0);while(stunum.read(char*)&stu,sizeof stu)ct+;stunum.close();return ct;void change()/修改数据函数fstream change;change.open(file,ios_base:in|ios_base:out|ios_base:binary);if(change.eof()change.clear();/清除 EOFcout请输入你要修改的学生学号:rec;eatline();if(recct)cout数据不存在!程序将退出!endl;system(pause);exit(EXIT_FAILURE);student stu;streampos place=(rec-1)*sizeof stu;change.seekg(place);if(change.fail()cerr 查找出错!程序将退出!n;system(pause);exit(EXIT_FAILURE);change.read(char*)&stu,sizeof stu);cout 你选择的是:n;coutsetw(6)学 号 setw(LIM)姓 名 setw(6)成绩endl;coutsetw(6)stu.num:setw(LIM)stu.namesetw(6)stu.gradeendl;if(change.eof()change.clear();/清除 EOF 标记 cout 请输入你要修改数据的姓名:;cin.get(stu.name,LIM);eatline();cout stu.grade)if(stu.grade100)cout输入的成绩错误!请重新输入:n;cin.clear();while(cin.get()!=n);continue;break;change.seekp(place);/回到查找到的地点 change.write(char*)&stu,sizeof stu)flush;if(change.fail()cerr 查找失败!程序将退出n;system(pause);exit(EXIT_FAILURE);change.close();void add()/输入数据,的函数student stu;ofstreamfout(file,ios_base:out|ios_base:appios_base:binary);if(!fout.is_open()|cerr Cant open file file for output:n;exit(EXIT_FAILURE);cout 请输入学生姓名:(按 Enter 键退出输入!):n;cin.get(stu.name,LIM);while(stu.name0!=0)eatline();cout stu.grade;if(stu.grade100)cout输入的成绩错误!n;cin.clear();while(cin.get()!=n);continue;stu.num=+ct;eatline();fout.write(char*)&stu,sizeof stu);cout 请输入学生姓名:(按 Enter 键退出输入!):n;cin.get(stu.name,LIM);fout.close();int main()ifstream fin;fin.open(file,ios_base:in|ios_base:binary);if(!fin.is_open()student st5=1,小张,100,2,小李,90,3,小王,67,4,小赵,38,5,小乐,59;ofstream fout(file,ios_base:out|ios_base:binary);for(int i=0;i5;i+)fout.write(char*)&sti,sizeof sti);fout.close();fin.close();stu_num();while(1)menu();coutn;switch(n)case 1:eatline();add();break;case 2:find();break;case 3:change();break;case 4:output();break;case 5:aver();break;case 6:exit(EXIT_FAILURE);default:cout选择执行的操作错误!n;cin.clear();while(cin.get()!=n);continue;/如果选择错误,cin.clear 等语句清除已经输入的内容,程序选择system(pause);system(cls);cin.clear();return 0;六、总结与心得:六、总结与心得:通过这次的课程设计,让我充分的感觉到了要自己设计一个程序是多么的难,这个程序的设计过程中,我清楚的意识到自己的水平有多么的薄弱,每增加一个函数就要调试好久,有时候应为少了一个大括号或是分号,导致要找很久很久。虽然系统可以运行,也具有了一些基本的功能,但我意识到了自己有太多的不足,现阶段还得依靠很多资料才能完成一个程序。附录:参考文献杨长兴主编C+程序设计中国水利水电出版社,2012.01谭浩民主编。C+程序设计实践指导北京:清华大学出版社,2005.7

    注意事项

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

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




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

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

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

    收起
    展开