软件152-《面向对象程序设计课程设计》报告_第1页
软件152-《面向对象程序设计课程设计》报告_第2页
软件152-《面向对象程序设计课程设计》报告_第3页
软件152-《面向对象程序设计课程设计》报告_第4页
软件152-《面向对象程序设计课程设计》报告_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、青岛理工大学面向对象程序设计课程设计题目 用英文单词模拟数学计算 指导教师: 周全强 姓名: 王磊 学号: 班级: 软件152 专业: 软件工程 地点: 现代教育中心305 时间: 2016.07.04 至 2016.07.08 一、内容(标题:宋体,粗体,四号字)用英文单词模拟数学计算读入两个小于100的正整数A和B,计算A+B,需要注意的是:A和B的每一位数字对应的英文单词给出(正文:宋体,非粗体、非斜体,非下划线,五号字)二、上机环境操作系统:win10开发工具:vc6.0三、需求分析1.选做此课题或项目的目的综合运用所学知识,解决实际问题提高学生的程序设计能力和开发能力2.程序所实现的

2、功能用英文输入代替数字进行计算四、内容设计1.根据所选题目,给出类的设计1.建立define预编命令,定义static 数据类型,pmin用来存放+及其左边的字符,qmin用来存放+右边的字符及=。2.建立Data类,构建PRIVATE私有成员和PUBLIC公有成员。定义Amin,Bmin两个私有数组,Input(),Xchg()两个公有成员函数。3.建Input()函数,变量k用来控制行数,输入字符放到数组Amin中赋值给a,通过for循环,找到与输入字符相匹配的英文数字,若匹配放入pk,flo1=1,当输入字符为+跳出第一个do while语句,执行下一个do while循环,输入字符赋值

3、给b,for循环判断字符是否与英文数字匹配,匹配则放入qk,flo2=1,当输入字符为=时跳出执行if语句;if语句功能是判断输入字符若不匹配,即(flo1!=1|fol2!=1),则提示“输入错误,请重新输入:”,返回执行Input()函数。直到输入的两个字符都为0,即if(pk=0&qk=0),跳出该循环。2.画出重要函数的程序流程图3.编写程序关键代码关键代码void Data: Input() char a,b; int i,j,flo1,flo2; char Amin;char Bmin; cout请输入要相加的数(英文格式 例:one + three =);endl输入zero +

4、 zero =为结束标记;endl;for(k=0;kA; a=A0; for(i=0;iB; b=B0; for(j=0;j10;j+) if(strcmp(B,numj)=0) qk=qk*10+j; flo2=1; while(b!=); if(flo1!=1|flo2!=1) cout输入错误,请重新输入:endl; Input(); if(pk=0&qk=0) break; 4.建立Xchg函数,定义x,y,z三个变量,用来存放计算结果的百位,十位和个位, Ei存放每行的计算结果,Ei=pi+qi。用if语句判断结算结果的位数,用switch()控制字符与英文数字的匹配。程序段如下:

5、void Data: Xchg() int x,y,z; for(int i=0;ik+1;i+) Ei=pi+qi; x=Ei/100; /百位 y=Ei/10%10; /十位 z=Ei%10; /个位if(x=0&y=0) switch(z)case 1:coutone;break; case 2:couttwo;break; case 3:coutthree;break; case 4:coutfour;break; case 5:coutfive;break;case 6:coutsix;break; case 7:coutseven;break; case 8:couteight;b

6、reak; case 9:coutnine;break; case 0:break; else if(x=0&y!=0) switch(y) case 1:coutone;break; case 2:couttwo;break; case 3:coutthree;break; case 4:coutfour;break; case 5:coutfive;break; case 6:coutsix;break; case 7:coutseven;break; case 8:couteight;break; case 9:coutnine;break; case 0:break;cout ; sw

7、itch(z) case 1:coutone;break; case 2:couttwo;break; case 3:coutthree;break; case 4:coutfour;break; case 5:coutfive;break; case 6:coutsix;break; case 7:coutseven;break; case 8:couteight;break; case 9:coutnine;break; case 0:coutzero;break; else switch(x) case 1:coutone;break; case 2:couttwo;break; cas

8、e 3:coutthree;break; case 4:coutfour;break; case 5:coutfive;break; case 6:coutsix;break; case 7:coutseven;break; case 8:couteight;break; case 9:coutn*ine;break; case 0:break; cout ; switch(y) case 1:coutone;break; case 2:couttwo;break; case 3:coutthree;break; case 4:coutfour;break; case 5:coutfive;b

9、reak; case 6:coutsix;break; case 7:coutseven;break; case 8:couteight;break; case 9:coutnine;break; case 0:coutzero;break; cout ; switch(z) case 1:coutone;break; case 2:couttwo;break; case 3:coutthree;break; case 4:coutfour;break; case 5:coutfive;break; case 6:coutsix;break; case 7:coutseven;break; c

10、ase 8:couteight;break; case 9:coutnine;break; case 0:coutzero;break; coutendl; 4.建立一个主函数main(),#includevoid main()Data a; /给类定义一个对象a a.Input(); /调用Input函数 a.Xchg(); /调用Xchg函数三、调试分析1.实际完成的情况说明(完成的功能,支持的数据类型等)。可以完成预期功能2.程序的性能分析。功能齐全,可读性强界面友好,健壮性好符合设计要求健壮性好:用户输入非法数据时,系统应及时给出警告信息。3.上机过程中出现的问题及其解决方案。数组操作

11、有点混乱,一些功能不会实现,通过和同学的讨论和查找资料已完美解决4. 程序中可以改进的地方说明。可以采用另一种思路来减少部分代码5.程序中可以扩充的功能及设计实现构想。可以扩充到多位数的计算,以及乘除发的运算四、用户手册(说明程序的运行环境,程序执行结果,详细列出每一步的操作步骤。可以插图)Win10输入格式:测试输入包含若干测试用例,每个测试用例占一行,格式为“A + B =”,相邻两字符串有一个空格间隔,当A和B同时为zero时输入结束输出格式:对每个测试用例输出1行,即A+B的值。输入样例:one + two =three four + five six =zero seven + ei

12、ght nine =zero + zero =输出样例:threenine zeronine six五、设计总结(可谈一谈本次课程设计的经验和体会) 经过一个星期的上机实践学习,使我对c+语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,通过实践,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改进;再有对c+语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对c+语言中经常出现的错误也不了解,通过实践,使我在这几个方面的认识有所提高。通过实践的学习,我认到学好计算机要重视实践操作,不仅仅是学习c+语言,

13、还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。六、参考文献1 李兰, 任凤华. C+面向对象程序设计. 西安: 西安电子科技大学出版社, 20102 李兰, 任凤华. C+面向对象程序设计实验指导及习题解析. 西安: 西安电子科技大学出版社, 20103 郑莉, 董渊. C+程序设计基础教程. 北京: 清华大学出版社, 20104 郑莉. C+程序设计基础教程学生用书. 北京: 清华大学出版社, 2010七、附录(要加上注释。)#includeusing namespace std;#define max 100#de

14、fine min 20static int pmin,qmin,Emax,k;char num108=zero,one,two,three,four,five,six,seven,eight,nine;class Data /定义data类char Amin,Bmin; /定义两个字符变量public: void Input(); /定义成员函数void Xchg();void Data: Input() char a,b; /定义两个字符变量 int i,j,flo1,flo2; /定义整形变量char Amin;char Bmin; cout请输入要相加的数(英文格式 例:one + th

15、ree =);endl输入zero + zero =为结束标记;endl;for(k=0;kA; /输入字符 a=A0; /输入的字符赋值为a for(i=0;iB; /输入字符 b=B0; /输入的字符复制给b for(j=0;j10;j+) if(strcmp(B,numj)=0) /比较匹配 qk=qk*10+j; flo2=1; while(b!=); /若不为=则继续,否则退出 if(flo1!=1|flo2!=1) /字符不匹配 cout输入错误,请重新输入:endl; Input(); if(pk=0&qk=0) /若两个数都为0则退出 break; void Data: Xch

16、g() /计算结果 int x,y,z; for(int i=0;ik+1;i+) Ei=pi+qi; x=Ei/100; /百位 y=Ei/10%10; /十位 z=Ei%10; /个位if(x=0&y=0) /结果只有一位的时候 switch(z)case 1:coutone;break; case 2:couttwo;break; case 3:coutthree;break; case 4:coutfour;break; case 5:coutfive;break;case 6:coutsix;break; case 7:coutseven;break; case 8:couteigh

17、t;break; case 9:coutnine;break; case 0:break; else if(x=0&y!=0) /结果为两位数时 switch(y) case 1:coutone;break; case 2:couttwo;break; case 3:coutthree;break; case 4:coutfour;break; case 5:coutfive;break; case 6:coutsix;break; case 7:coutseven;break; case 8:couteight;break; case 9:coutnine;break; case 0:bre

18、ak;cout ; switch(z) case 1:coutone;break; case 2:couttwo;break; case 3:coutthree;break; case 4:coutfour;break; case 5:coutfive;break; case 6:coutsix;break; case 7:coutseven;break; case 8:couteight;break; case 9:coutnine;break; case 0:coutzero;break; else /结果中三位都存在 switch(x) case 1:coutone;break; cas

19、e 2:couttwo;break; case 3:coutthree;break; case 4:coutfour;break; case 5:coutfive;break; case 6:coutsix;break; case 7:coutseven;break; case 8:couteight;break; case 9:coutnine;break; case 0:break; cout ; switch(y) case 1:coutone;break; case 2:couttwo;break; case 3:coutthree;break; case 4:coutfour;break; case 5:coutfive;break; case 6:coutsix;break; case 7:coutseven;break; case 8:couteight;break; case 9:coutnine;break; case 0:coutzero;break; cout ;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论