面向对象程序设计寒假作业1

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/2020OOP/
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/2020OOP/homework/10224
这个作业的目标 1)你认为C语言有什么缺陷.2)查看自己的C++编译器版本并使用命令行编译一份C语言/C++代码.3)编程题.
作业正文 问答题 实践题 编程题
其他参考文献 https://www.cnblogs.com/2002ljy/p/12233463.html https://www.cnblogs.com/031902522ycy/p/12234902.html

问答题
1)当使用不同的数据类型一起运算时c语言不会进行报错,导致结果无法与预期相同.
2)对数组边界进行访问时容易出现无效内存引用.
实践题
查看自己的C++编译器版本
面向对象程序设计寒假作业1_第1张图片
开始是一直使用gcc -v而无法查看,在参考其他同学的才发现问题所在。
使用命令行编译一份C语言/C++代码
面向对象程序设计寒假作业1_第2张图片
访问目录一直错误导致无法找到应该运行的代码。
编程题
编程题要求:
1)读题,提取出题目的要求。
对题目所提出的关键字进行处理,再进行简单的运算后以要求方式输出。
2)分解需求,把需求分解为几个你觉得不太相关的模块。
阿拉伯数字与中文之间的转换
计算
对输入错误的处理(未完成)
3)思考每个模块怎么写,可以从简单的模块开始写。
在输入时将中文转换为阿拉伯数字
由于没有想到更好的方法所以10以上的数字没有办法转换导致最终结果限制在30以内.
int zhuang1(char shuzi[10])
{
if(strcmp(shuzi,"零")==0)
return 0;
if(strcmp(shuzi,"一")==0)
return 1;
if(strcmp(shuzi,"二")==0)
return 2;
if(strcmp(shuzi,"三")==0)
return 3;
if(strcmp(shuzi,"四")==0)
return 4;
if(strcmp(shuzi,"五")==0)
return 5;
if(strcmp(shuzi,"六")==0)
return 6;
if(strcmp(shuzi,"七")==0)
return 7;
if(strcmp(shuzi,"八")==0)
return 8;
if(strcmp(shuzi,"九")==0)
return 9;
if(strcmp(shuzi,"十")==0)
return 10;
}
对于最后的输出也是如此
如果是对于100以内的数字输出也没有想到好的方法。
void zhuang2(int sum1)
{
switch(sum1)
{
case 0:printf("零");break;
case 1:printf("一");break;
case 2:printf("二");break;
case 3:printf("三");break;
case 4:printf("四");break;
case 5:printf("五");break;
case 6:printf("六");break;
case 7:printf("七");break;
case 8:printf("八");break;
case 9:printf("九");break;
case 10:printf("十");break;
case 11:printf("十一");break;
case 12:printf("十二");break;
case 13:printf("十三");break;
case 14:printf("十四");break;
case 15:printf("十五");break;
case 16:printf("十六");break;
case 17:printf("十七");break;
case 18:printf("十八");break;
case 19:printf("十九");break;
case 20:printf("二十");break;
case 21:printf("二十一");break;
case 22:printf("二十二");break;
case 23:printf("二十三");break;
case 24:printf("二十四");break;
case 25:printf("二十五");break;
case 26:printf("二十六");break;
case 27:printf("二十七");break;
case 28:printf("二十八");break;
case 29:printf("二十九");break;
case 30:printf("三十");break;
}
}
最终代码

include

include

int zhuang1(char shuzi[10]);
void zhuang2(int sum1);
int main()
{
int sum1,sum2;
char score1[10],qianbao[10],yunsuan[10],shuzi[10],cun1[10],cun2[10];
scanf("%s",score1);
scanf("%s",qianbao);
scanf("%s",yunsuan);
scanf("%s",shuzi);
sum1=zhuang1(shuzi);
scanf("%s",qianbao);
while(strcmp(qianbao,"看看")!=0)
{
scanf("%s",yunsuan);
scanf("%s",shuzi);
sum2=zhuang1(shuzi);
if(strcmp(yunsuan,"增加")==0)
{
sum1=sum1+sum2;
}
if(strcmp(yunsuan,"减少")==0)
{
sum1=sum1-sum2;
}
scanf("%s",qianbao);
}
if(strcmp(qianbao,"看看")==0)
{
scanf("%s",qianbao);
zhuang2(sum1);
}
return 0;
}
int zhuang1(char shuzi[10])
{
if(strcmp(shuzi,"零")==0)
return 0;
if(strcmp(shuzi,"一")==0)
return 1;
if(strcmp(shuzi,"二")==0)
return 2;
if(strcmp(shuzi,"三")==0)
return 3;
if(strcmp(shuzi,"四")==0)
return 4;
if(strcmp(shuzi,"五")==0)
return 5;
if(strcmp(shuzi,"六")==0)
return 6;
if(strcmp(shuzi,"七")==0)
return 7;
if(strcmp(shuzi,"八")==0)
return 8;
if(strcmp(shuzi,"九")==0)
return 9;
if(strcmp(shuzi,"十")==0)
return 10;
}
void zhuang2(int sum1)
{
switch(sum1)
{
case 0:printf("零");break;
case 1:printf("一");break;
case 2:printf("二");break;
case 3:printf("三");break;
case 4:printf("四");break;
case 5:printf("五");break;
case 6:printf("六");break;
case 7:printf("七");break;
case 8:printf("八");break;
case 9:printf("九");break;
case 10:printf("十");break;
case 11:printf("十一");break;
case 12:printf("十二");break;
case 13:printf("十三");break;
case 14:printf("十四");break;
case 15:printf("十五");break;
case 16:printf("十六");break;
case 17:printf("十七");break;
case 18:printf("十八");break;
case 19:printf("十九");break;
case 20:printf("二十");break;
case 21:printf("二十一");break;
case 22:printf("二十二");break;
case 23:printf("二十三");break;
case 24:printf("二十四");break;
case 25:printf("二十五");break;
case 26:printf("二十六");break;
case 27:printf("二十七");break;
case 28:printf("二十八");break;
case 29:printf("二十九");break;
case 30:printf("三十");break;
}
}
4)对于不会的问题进行查阅资料。
由于对语法的生疏,对switch语句以及strcmp函数进行查询
5)对于每一个模块设计测试用例。
面向对象程序设计寒假作业1_第3张图片
面向对象程序设计寒假作业1_第4张图片
最终的程序没有对计算结果出错的情况进行讨论,一旦结果不在范围0到30内则出错。

你可能感兴趣的:(面向对象程序设计寒假作业1)