ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:59.44KB ,
资源ID:11828881      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

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

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机专业学期三课程设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机专业学期三课程设计.docx

1、计算机专业学期三课程设计面向对象程序设计课程设计报告姓 名 小精灵学 号 20080808指导教师 徐嘉斌任务一. 1一、 任务内容:.1二、 设计思路.2三、 实现代码.2四、 运行结果及分析.3任务二. 4一、 任务内容:.4二、 设计思路.5三、 实现代码.5四、 运行结果及分析.6任务三. 6一、 任务内容:.6二、 设计思路.7三、 实现代码.7四、 运行结果及分析.9浙江理工大学科技与艺术学院机电系课程设计报告任务一一、 任务内容:完成内容:按照要求设计类(根据输出设计类)设计类就是根据数据封装的要求,抽象出适合的类。有如下测试程序和测试程序的输出结果,要求设计类Welcome。(

2、1)测试程序如下:voidmain()Welcomewe;Welcomeyou(we);you.Display();you.Set(“Thankyou.”);coutyou.Get()endl;you.talk();you.Display();(2)测试程序的输出结果如下:Welcome!Thankyou.输入:Howaboutyou?输出:Howaboutyou?输入:Fine,thankyou.输出:Fine,thankyou.输入:OKAllrightGoodbye!OKGoodbye!Goodbye!注:后面5行为倒数第6行输出后接下去的输出内容。(3)设计类Welcome的原则:1)

3、在头文件welcome.h中声明类2)在welcome.cpp中实现类3)使用内联函数定义Display()函数4)演示文件名用学号作主名。1浙江理工大学科技与艺术学院机电系课程设计报告二、 设计思路由给出的代码来构造此程序。开头部分,由Display输出Welcome,再用Get输出被Set存进的Thank you。利用循环函数While建立主体部分,输入OK时跳出循环。结尾部分,因为给出的代码中建立了两个对象,所以调用析构函数时可直接输出两个Goodbye。开始Welcome输入OKYdinlinevoidDisplay()voidSet(chara)char*Get()N输出输出“All

4、rightGoodbye”voidtalk()Welcome()Welcome(constWelcome&w)结束三、 实现代码/Welcome.h#include#includeusingnamespacestd;classWelcomeprivate:chard100;public:inlinevoidDisplay()coutdendl;voidSet(chara)strcpy(d,a);char*Get()returnd;voidtalk();Welcome();Welcome(constWelcome&a);Welcome()coutGoodbye!endl;Welcome()/12

5、1-2.cpp#include#include#includeWelcome.husingnamespacestd;voidmain()Welcomewe;Welcomeyou(we);you.Display();you.Set(Thankyou.);coutyou.Get()endl;you.talk();you.Display();2/121-1.cpp#include#include#includeWelcome.h浙江理工大学科技与艺术学院机电系课程设计报告;strcpy(d,OK);coutAllrightendl;coutGoodbye!endl;voidWelcome:talk(

6、)cout输入:;cin.getline(d,100);while(strcmp(d,OK)!=0)cout输出:dendl;cout和输出运算符,分数以1/2、-15/29这样的形式来输入和输出,注意分子、分母可能包含负号。在分数类中,还应重载+、-、*、/运算符。应有一个函数,对分数进行约分与规格化,在规格化之后,分母一定是正的,并且分子分母的最大分约数为1,如对4/-8正规化之后表示成-1/2。仿照计算器的运算过程,采用计算器方式进行有关分数运算。二、 设计思路(1)约分的关键是求分子分母的最大公约数,用Gcm(m,n)表示求m与n的最大公约数:当n=0时,Gcm(m,n)=m当n0时,

7、Gcm(m,n)=Gcm(n,m%n)可用递归编程实现Gcm(m,n)。(2)分数的四则运算可按如下方式进行:(3)利用Reduction函数将负号全都归到分子身上。(4)Operation函数来实现当运算符输入错误时的提示。(5)当除数为0时,main函数中有实现显示除数不能为0的设置。开始分数加法运算分数计分数减法运算分数乘法运算分数除法运算输入除数、被除数和除号分母为输出“不能为除数,请重新输入。Y算异常处理报告N0器自行约分负号转到分子为负数加括号输出结束4浙江理工大学科技与艺术学院机电系课程设计报告三、 实现代码#include#includevoidOperation(char&i

8、ndex);usingnamespacestd;classFractionprivate:intfz;intfm;intGcm(intm,intn);public:Fraction(intn=1,intd=1);Fraction();voidReduction();intGetFz()returnfz;intGetFm()returnfm;voidSetFz(intn);voidSetFm(intd);Fractionoperator+(Fraction&a);Fractionoperator-(Fraction&a);Fractionoperator*(Fraction&a);Fractio

9、noperator/(Fraction&a);friend ostream &operator(istream&is,Fraction&s);intFraction:Gcm(intm,intn)if(n=0)returnm;elsereturnGcm(n,m%n);voidFraction:Reduction()if(fm0)fz=-fz;fm=-fm;intf=Gcm(abs(fz),fm);fz=fz/f;fm=fm/f;voidOperation(char&index)for(;)coutindex;if(index=+|index=-|index=*|index=/)break;els

10、ecout(istream&is,Fraction&s)charch;intm,n;for(;)coutmchn;s.SetFz(m);s.SetFm(n);if(ch=/&n!=0)break;elsetryif(ch!=/)throw1;if(n=0)throw2;catch(inti)if(i=1)cout输入格式错误,请重新输入!iendl;elseif(i=2)cout分母为0,请重新输入!endl;5s.Reduction();returnis;浙江理工大学科技与艺术学院机电系课程设计报告r.fm=fm*a.fm;r.Reduction();returnr;FractionFrac

11、tion:operator*(Fraction&a)ostream&operator(ostream&os,Fraction&s)if(s.fz0)if(abs(s.fz)%s.fm=0)os(s.fz/s.fms.fm)os(s.fz/s.fm又s.fz%s.fm/s.GetFm();elseos(s.GetFz()/s.GetFm();elseif(s.fz%s.fm=0)oss.fz/s.fm;elseif(s.fz=0)oss.fm)oss.fz/s.fm又s.fz%s.fm/s.GetFm();elseoss.GetFz()/obj1;Operation(index);cinobj2

12、;if(index=+)r=obj1+obj2;elseif(index=-)r=obj1-obj2;elseif(index=*)r=obj1*obj2;elseif(index=/)6浙江理工大学科技与艺术学院机电系课程设计报告for(;)i=obj2.GetFz();coutobj1indexobj2=reif(i=0)ndl;cout不能为除数,couto;请重新输入。obj2;elsebreak;elsebreak;return0;r=obj1/obj2;四、 运行结果及分析图2分析:第一个加法运算体现了约分的功能,第二个减法运算体现了假分数的自行转换功能,第三个乘法运算体现了给负数

13、加括号的功能,第四个除法运算体现了自行将分母的负号提给分子的功能,以及最后五行体现了运算符错误的提示和分母为0的提示。7浙江理工大学科技与艺术学院机电系课程设计报告任务三一、 任务内容:要求:能够对文件进行存储和读取。要求用一个结构记载学生属性,编写一个学生类以完成各种操作。具体要求如下:(1)有10个小学生,每个学生有数学、语文两门课,从键盘输入学生的学号、姓名及成绩,计算每个学生的平均成绩,将数据存入stud.dat中。(2)学生的所有属性用一个结构进行描述。(3)要求对“”进行重载。(4)选作要求:可将两门课都不及格的学生信息从链表或数组中删除,并另存入bad.dat中;将学生姓名和平均

14、成绩抽取出来。(5)以下程序测试结果供参考(此处不列举)二、 设计思路建立两个类,并建立一个for循环来实现菜单的选择功能。使用链表储存输入的信息,当选择查找与删除数据时,通过链表来寻找用户要寻找的数据。菜单菜单功能选择增加原始记录显示各种文件保存原始文件查找学生成绩开始功能选择输入学生信息删除原始记录输入0?N修改学生信息Y结束程序运行结束8浙江理工大学科技与艺术学院机电系课程设计报告三、 实现代码#include#include#include#includeusingnamespacestd;classStudentpublic:charname20;charId20;intCnum;i

15、ntMnum;intsum;Student*Next;voidInput()coutname;coutId;coutCnum;coutMnum;sum=(Cnum+Mnum)/2;voidReadFile(istream&in)innameIdCnumMnumsum;voidShow()coutnametIdtCnumtMnumtsumtendl;classStudentmassagepublic:Studentmassage();Studentmassage();voidShowMenu();voidFind();voidSave();voidModifyItem();voidRemoveI

16、tem();voidSwap(Student*,Student*);voidSort();intListCount();voidDisplay()cout姓名t学号t语文t数学t平均Next;p!=End;p=p-Next)p-Show();coutInput();End-Next=newStudent;End=End-Next;cout添加成功!endl;coutNext!=End;p=p-Next)if(!strcmp(p-Next-name,name)returnp;returnNULL;Student*FindID(char*Id)for(Student*p=Head;p-Next!=End;p=p-Next)if(!strcmp(p-Next-Id,Id)returnp;9returnNULL;浙江理工大学科技与艺术学院机电系课程设计报告cout6.修改学生信息endl;cout0.结束程序运行endl;Studentmassage:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1