欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    c++程序设计实践报告.docx

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

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

    c++程序设计实践报告.docx

    c+程序设计实践报告中南大学c+程序设计 中南大学 本科生课程设计(实践)任务书、设计报告 题 目 学生姓名 指导教师 学 院 专业班级 学生学号 计算机基础教学实验中心 年 月 日 1 中南大学c+程序设计 目 录 设计任务书3 课程实践报告4 一、实践内容4 二、实践成果4 三、程序功能4 四、设计思路5 五、源程序7 六、运行情况13 七、实践心得16 八、实践收获与不足18 2 中南大学c+程序设计 C+语言程序设计任务书 指导老师:李力 课程编号: 一、学时与学分 学时:40 学分:2 二、实践目的 计算机实践是本科计算机基础教学的一个重要环节。它对于巩固学生的计算机基础知识,增强学生的计算机应用水平,改善学生的知识结构,具有重要意义。 三、实践任务与要求 用C+语言编程。编程题目如下: 统计一个班的学生成绩,要求能实现如下功能:输入每个学生的学号和6门课程的成绩。计算每个学生的平均分和总分。按总分从高到低排出名次,并按名次输出每个学生的情况,包括学号、各科成绩、平均分和总分。根据用户要求输出某门课程成绩在90分以上且总分在前5名的学生情况,包括学号、各科成绩、平均分和总分。(5)根据统计,绘制总成绩五分制百分比饼图。(自学利用C+提供的库函数绘制曲线图)。要求:利用类来实现,学生学号和成绩采用文件输入,排序。 数据的组织可采用对象数组 。查阅相关资料并写出系统设计说明书。写出实践报告。 统计商品销售数据,要求能用菜单实现如下功能:输入每件商品的名称,编号,入库日期,标价,成本。输入每件商品的售价,出售日期。按总销售量从高到低排出每种商品的名称,售出件数,销售额。根据用户要求输出某商品某月的平均售价、售出件数、总利润。(5)根据统计,绘制商品销售利润百分比饼图。(自学利用C+提供的库函数绘制曲线图)。要求:利用类实现,数据采用文件输入,排序。 数据的组织可采用对象数组 。查阅相关资料并写出系统设计说明书。写出实践报告。 统计足球比赛数据,要求能用菜单实现如下功能:输入每场比赛的主队名称,客队名称,比赛日期,主队得分,客队得分。按总得分从高到低排出每个队的名称,总得分,胜,和,负的次数。根据用户要求输出某队某月的所有比赛数据。根据用户要求输出某队主场总得分,客场总得分(5) 根据用户输入,绘制某队成绩历史趋势图。(自学利用C+提供的库函数绘制曲线图)。要求:利用类实现,数据采 3 中南大学c+程序设计 用文件输入,排序。 数据的组织可采用对象数组 。查阅相关资料并写出系统设计说明书。写出实践报告。 统计稿件管理数据,要求能用菜单实现如下功能:输入每件稿件的第一作者名字,稿件名称,投稿日期,作者的省份。输入每件稿件的发表日期,审稿意见。按作者的省份,从高到低排出每个省的总发表篇数。根据用户要求输出某作者某月的所有稿件数据。 (5) 根据用户输入,绘制稿件按省份的百分比饼图。(自学利用C+提供的库函数绘制曲线图)。要求:利用类实现,数据采用文件输入,排序。 数据的组织可采用对象数组 。查阅相关资料并写出系统设计说明书。写出实践报告。 统计用电管理数据,要求能用菜单实现如下功能:输入每个电表的用户名,楼栋号,抄表日期,电表读数。按作者的用电量,从高到低排出每个用户的总用电量。根据用户要求输出某用户某月的总用电量。(4)统计某楼栋从某月到某月(从键盘输入)的总用电量 (5) 绘制按的楼栋的用电百分比饼图。(自学利用C+提供的库函数绘制曲线图)。要求:利用类实现,数据采用文件输入,排序。 数据的组织对象数组。查阅相关资料并写出系统设计说明书。写出实践报告。 以上五题任选一题。 四、实践纪律 学生除了要遵守实践期间学院的基本规定外,还要求做到: 1必须在规定的时间、地点,独立完成以上任务; 2不得迟到、早退。尤其不得擅自缺席。 五、设计报告要求 1 任务书必须作为报告第一页 2 报告不得少于3000字:主要总结实践心得、实践成果 、程序功能、设计思路、源程序、运行情况、课程设计的收获与不足等 六、时间安排 两周时间 七、成绩评定规则 成绩分为优、良、中、及格、不及格五等。 优:程序功能完备,报告有深度, 遵守实践纪律。 良:程序功能满足要求,报告有内容, 遵守实践纪律。 中:程序和报告基本满足要求, 遵守实践纪律。 及格:程序有错误但大体能运行,有报告书, 基本遵守实践纪律。 不及格:程序完全错误或严重违反实践纪律。 4 中南大学c+程序设计 C+语言程序设计报告 一、 实践内容 统计稿件管理数据,要求能用菜单实现如下功能:输入每件稿件的第一作者名字,稿件名称,投稿日期,作者的省份。输入每件稿件的发表日期,审稿意见。按作者的省份,从高到低排出每个省的总发表篇数。根据用户要求输出某作者某月的所有稿件数据。 (5) 根据用户输入,绘制稿件按省份的百分比饼图。(自学利用C+提供的库函数绘制曲线图)。 二、实践成果 灵活运用C+程序设计课程所学的基础知识,独立设计大型程序的能力;该程序必须用户界面友好、操作简洁方便,大大提高工作效率。 此程序先由用户输入数据,并存储。再作各种功能处理。整个程序基本可以实现稿件管理数据系统的统计。 三、 程序功能 a) 录入功能:可以写入关于稿件的基本信息,并进行以下几项功能。 b) 排序功能:用户可按作者的省份,将每个省的总发表篇数进行排序,并输出。 c) 查询功能:用户可根据作者与月份查出某作者某月的稿件数据,没找到的给予提示。 d) 绘制饼状图功能:系统根据输入的数据绘制高价男生份的百分比饼图。 e) 各项退出功能:在每个环节里都设有退出功能。 四、设计思路 统计稿件管理数据系统程序框图 5 中南大学c+程序设计 开始 1 输入每一稿件第一作者名字,稿件名称,投稿日期,作者的省份 输出菜单及提示信息 2 输入每件稿件的发表日期,审稿意见。 3 按省份排序 4 按作者名与月份查找 输入功能数字 5 绘制百分比饼状图 1 N Y 2 3 N AddNew Y N Y 4 AddNew N N Y 5 Sort_by_province Y 退出 N DoFind Do print 结束 6 中南大学c+程序设计 五、源程序 #include <windows.h> #include <conio.h> #include <stdio.h> #include <stdlib.h> #include <tchar.h> #include <math.h> #include <cstdlib> #include <iostream.h> #include <string.h> extern "C" WINBASEAPI HWND WINAPI GetConsoleWindow ; /定义稿件数据类/ class Document public: int flag; char name20; char person_name20; char date120,date220; char province20; char suggest50; Document this->flag=0; ; /定义稿件省份类/ class Pro_count public: char province20; double count; Pro_count this->count=1; ; /函数声明语句/ void display; void input; void input2; void qsort; void outputDateDoc; void inspect; void Print; /定义主函数/ int main(int argc, char *argv) int n; while(1) system("cls"); display; cin>>n; if(n=0)break; system("cls"); switch(n) case 1: input;break; case 2: 7 中南大学c+程序设计 input2;break; case 3: qsort;break; case 4: outputDateDoc;break; case 5: inspect;break; case 6: Print;break; default: cout<<"你输入的方式有误,请重新输入!"<<endl;system("pause"); return EXIT_SUCCESS; int i=1; fread(&doc0,sizeof(Document),1,fp); /cout<<"Document"<<1<<" "<<doc0.person_name<<endl;/ while(!feof(fp) /cout<<"Document"<<i<<" "<<endl; /* cout<<doci-1.person_name<<endl;/ cout<<doci-1.name<<endl;/ cout<<doci-1.date1<<endl;/ cout<<doci-1.province<<endl<<endl;/ */ fread(&doci,sizeof(Document),1,fp); i+; /system("pause"); fclose(fp); /cout<<"cheng"<<endl; int j,k=-1; for(j=0;j<i;j+) if(strcmp(docj.name,name)=0) k=j;break; /*-*/ if(k!=-1) dock.flag=1; cout<<"请输入发表日期"<<endl; cin>>date2; cout<<"请输入审稿意见"<<endl; cin>>suggest; strcpy(dock.date2,date2); strcpy(dock.suggest,suggest); FILE *fp; if(fp=fopen("Mydata.dat","wb")=NULL) cout<<"文件打开失败!"<<endl; system("pause"); exit(1); for(j=0;j<i;j+) fwrite(&docj,sizeof(Document),1,fp); 8 中南大学c+程序设计 fclose(fp); else cout<<"不存在该稿件名,请确认后在输入!"<<endl; system("pause"); /稿件按作者的省份输出以及排序/ void qsort Document doc50; FILE *fp; if(fp=fopen("Mydata.dat","rb")=NULL) cout<<"文件打开失败!"<<endl; system("pause"); exit(1); int i=1; fread(&doc0,sizeof(Document),1,fp); while(!feof(fp) /cout<<doci-1.person_name<<endl;/ /cout<<doci-1.name<<endl;/ /cout<<doci-1.date1<<endl;/ /cout<<doci-1.province<<endl;/ fread(&doci,sizeof(Document),1,fp); i+; fclose(fp); /system("pause"); int n=i-1,j,k=1; /if是空的话要返回 Pro_count pro50; /if(doc0.flag!=0) /cout<<pro0.province<<endl; strcpy(pro0.province,doc0.province); /cout<<n<<endl; /cout<<pro0.province<<endl;system("pause");/ for(i=1;i<n;i+) int flag=0; for(j=0;j<k;j+) if(strcmp(proj.province,doci.province)=0) proj.count+;flag=1;break; if(flag=0) strcpy(prok.province,doci.province); 9 中南大学c+程序设计 int max; n=k-1; char temp20,num; for(i=0;i<n;i+) max=i; for(j=i+1;j<n;j+) if(promax.count<proj.count) max=j; if(max!=i) strcpy(temp,proi.province); strcpy(proi.province,promax.province); strcpy(promax.province,temp); num=proi.count; proi.count=promax.count; promax.count=num; /打印出来 cout<<"-"<<endl; cout<<"序号"<<" "<<"省份"<<" "<<"发表数量"<<endl; cout<<"-"<<endl; for(i=0;i<=n;i+) cout<<i+1<<": "<<proi.province<<" "<<proi.count<<endl; system("pause"); void outputDateDoc Document doc50; FILE *fp; if(fp=fopen("Mydata.dat","rb")=NULL) cout<<"文件打开失败!"<<endl; system("pause"); exit(1); int i=1; fread(&doc0,sizeof(Document),1,fp); /cout<<"Document"<<1<<" "<<doc0.person_name<<endl;/ while(!feof(fp) /cout<<"Document"<<i<<" "<<endl; /* 10 中南大学c+程序设计 cout<<doci-1.person_name<<endl;/ cout<<doci-1.name<<endl;/ cout<<doci-1.date1<<endl;/ cout<<doci-1.province<<endl<<endl;/ */ fread(&doci,sizeof(Document),1,fp); i+; /system("pause"); fclose(fp); char name20,date15; cout<<"请输入作者名字:"<<endl; cin>>name; cout<<"请输入投稿日期的月份,如八月-08"<<endl; cin>>date1; /cout<<i<<endl; int j; for(j=0;j<i-1;j+) /cout<<"-"<<docj.name<<endl; if(strcmp(docj.person_name,name)=0) cout<<name<<endl; if(docj.date14=date10&&docj.date15=date11) cout<<"*"<<endl; cout<<"*"<<endl; cout<<"作者名字: " cout<<docj.person_name<<endl; cout<<"稿件名称: " cout<<docj.name<<endl; cout<<"投稿日期: " cout<<docj.date1<<endl; cout<<"作者的省份: " cout<<docj.province<<endl; if(docj.flag!=0) cout<<"发表日期: " cout<<docj.date2<<endl; cout<<"审稿意见: "<<endl; cout<<docj.suggest<<endl; system("pause"); cout<<"文件打开失败!"<<endl; system("pause"); exit(1); int i=1; fread(&doc0,sizeof(Document),1,fp); 11 中南大学c+程序设计 while(!feof(fp) cout<<"-"<<endl; cout<<"-"<<endl; cout<<"作者名字: " cout<<doci-1.person_name<<endl; cout<<"稿件名称: " cout<<doci-1.name<<endl; cout<<"投稿日期: " cout<<doci-1.date1<<endl; cout<<"作者的省份: " cout<<doci-1.province<<endl; if(doci-1.flag!=0) cout<<"发表日期: " cout<<doci-1.date2<<endl; cout<<"审稿意见: "<<endl; cout<<doci-1.suggest<<endl; fread(&doci,sizeof(Document),1,fp); i+; system("pause"); fclose(fp); 六、运行情况 运行程序:出现主页面 按“1”号键输入稿件相关数据,按任意键回到主页面 12 中南大学c+程序设计 按“2”号键输入每件稿件的发表日期,审稿意见,按任意键回到主页面 按“3”号键按省份排序,按任意键回到主页面 按“4”号键输出某作者某月的所有稿件数据,按任意键回到主页面 13 中南大学c+程序设计 按“5”号键显示稿件相关数据,按任意键回到主页面 七、实践心得 考前的自以为是 这是第二次上计算机实践课程了,第一次是网页设计。虽然两次要完成的任务不同,但14 中南大学c+程序设计 给人的感觉都是较迷茫的。由于我上课时没有认真听C+课程老师的讲解,学得相当糟糕,但要设计的又是一个较大的程序,便去请教老师。老师建议我们找一个模板,认真仔细地看,去理解它,看懂它,然后根据自己的实践内容适当修改,应该就没多大问题了。 老师的话给了我莫大的鼓励,但不自觉地滋生了傲慢的态度。只要有个模板不就行了嘛,小事一桩啊!但结果并非如此,在后来的实践过程中,我还是碰到了许多麻烦。 开始时急于求成 一个大程序都是环环相扣的,类的对象,函数的定义,变量的使用都是互相有联系的。我认为只要把模板略加改动,就能够完成这次作业了。这种投机取巧的想法让我很快尝到了苦头。程序编好后,执行时出现了许多错误,大多是定义的不规则,究其原因,我根本没看懂模板。还是仔细研究模板吧! 摆正心态,认真面对 我首先声明头文件,然后分别定义稿件数据类、稿件省份类,再是函数声明语句,主函数的定义。接着,我浏览了成员函数,每个成员函数看起来并不很难,简单的输入输出,指针取值(基本都涉及到了)还有交换变量的数据域。但对指针还是相当模糊的,不能透彻地理解它,在C+机试中就是因为不了解指针,导致相关的试题都不会做。看完每一个函数,心里算是有些程序雏形了。 对于按省份给每个省的总发表篇数进行排序这一问题,刚开始真的不会弄,老师让我用一维数组,可还是不太明白。于是,我询问了周边同学。他们用了多重循环语句,并且调试成功了,听他们讲解后我便用了他们的方法。,与同学讨论、向同学请教有时候也不失为一个好方法,一个人的智慧毕竟是不全面的,集体的力量才是强大的! 敢于挑战自己不会的东西 对于绘制稿件按省份的百分比饼图,我真是丈二和尚摸不着头脑,对如何编程一窍不通。我想放弃算了,能得及格就行。但又不忍这样轻易地放弃,心想先看教程真不懂再说。下定决心后,于7月4号晚上捧起c+教材仔细研读,刚开始觉得相当的枯燥乏味,耐着性子读下去,觉得很有意思的。一边看书我一边编程,居然能编出一部分。第二天,我请教班上其他同学,然后我们一起合作完成了编程。“一分耕耘一分收获”,看着自己辛苦换来的劳动成果,心里着实美滋滋的。虽然熬了一夜,但在这过程中我收获了许多。在今后遇到困难时,我会像这次一样,不去放大挫折,慢慢做就一定能成功! 15 中南大学c+程序设计 八、课程设计的收获与不足 对于选定的设计题目,我学会了如何进行分析,理清思路,并给出相应的数学模型;掌握自顶而下的设计方法,将大问题进行模块化,领会结构化程序设计的方法;熟练掌握C+语言的基本语法,灵活运用各种数据类型;进一步掌握在集成环境下如何调试程序和修改程序;树立正确的程序设计思想,培养我们的程序设计能力和创新能力;学会面向对象的程序设计的方法,掌握面向对象程序设计的一般规律;进行程序设计的基本技能训练,如算法分析与设计、类的设计与使用。 通过这次实践让我认识到C+程序设计是一门实践性很强的课程,学习程序设计不能仅限于纸上谈兵,许多程序方法和技巧不是光靠听课和看书就能学得到的,而是必须通过大量的上机实践慢慢积累起来,程序设计能力的培养必须以实践为重,几天的学习给了我锻炼的机会.另外通过这次实践,培养了自己做事认真,严谨的态度。 还有程序设计,程序编译及运行过程中不可避免会出现不会、不懂的地方,出现程序错误以及不能编译运行等种种困难,让我必须非常严谨对待每一个语句,锻炼了严谨的思维。 不足:看教材和例题时感觉都很明白,说明原理都掌握了。但自己上机是总是错误百出。看来只掌握理论知识是远远不够的。 16

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开