面向对象程序设计寒假作业3
面向对象程序设计寒假作业3
这个作业属于哪个课程 | 2020面向对象程序(福州大学 - 数学与计算机科学学院) |
---|---|
这个作业要求在哪里 | 面向对象程序设计寒假作业3 |
这个作业的目标 | 1.继续完成编程题。2.发布博客。 |
作业正文 | 编程题 |
其他参考文献 | 暂时没有 |
编程要求 | |
编写一个程序,输入满足以下语法要求的一段文字,输出运行后的结果。 | |
变量定义:整数 钱包 等于 零 | |
运算(加法):钱包 增加 四 | |
运算(减法):钱包 减少 四 | |
输出:看看 钱包 | |
我终于写出来这个代码了!!!!(皆大欢喜嘿嘿嘿) | |
我把整个代码分成了几个模块,主要是先把输入的大写数字变为咱电脑可以识别的阿拉伯数字,然后把识别加法减法得出结果,最后用一个switch语句再把阿拉伯数字变为大写数字,每个模块用函数,这样就比较清楚了。 | |
对于C++我还是没什么理解到,我是用C语言写的,一开始没什么思路,后来问了别人总算有思路了,我就开始写了,经过我顽强不息的实践,终于写出来了,嘻嘻嘻。 | |
我一开始以为汉字可以直接输进去,只有我要的数据放在数组就可以了,但是后来我发现电脑不能识别,所以一直失败,后来我就把所有的汉字都定义为数组,发现终于可以识别了,但是答案错误,我又开始寻找错误,原来是函数的问题,终于解决了,真是舒服啊哈哈哈。 | |
下面这个是我自己写的代码,对于优化我还没有什么思路,感觉能写出来都挺不容易的,对于我这一个没基础的人来说。 |
include<stdio.h>
include<string.h>
int p;
int main()
{
int zhuan(char s[]);
int zeng1(int q);
int jian1(int q);
int zeng2(int q,int sum);
int jian2(int q,int sum);
char a1[10],a2[10],a3[10],a4[10];
int q1,q2,m1,m2;
scanf("%s %s %s %s",a1,a2,a3,a4);
p=zhuan(a4);
char b[10],c[10],na[10];
scanf("%s %s %s",na,b,c);
m1=zhuan(c);
if(strcmp(b,"增加")0)
{
q1=zeng1(m1);
}
else
{
q1=jian1(m1);
}
char d[10],e[10],ne[10];
scanf("%s %s %s",ne,d,e);
m2=zhuan(e);
if(strcmp(d,"增加")0)
{
q2=zeng2(m2,q1);
}
else
{
q2=jian2(m2,q1);
}
char o[10],i[10];
scanf("%s %s",o,i);
switch(q2)
{
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;
}
return 0;
}
int zhuan(char s[])
{
if(strcmp(s,"一")0)
{
return 1;
}
if(strcmp(s,"二")0)
{
return 2;
}
if(strcmp(s,"三")0)
{
return 3;
}
if(strcmp(s,"四")0)
{
return 4;
}
if(strcmp(s,"五")0)
{
return 5;
}
if(strcmp(s,"六")0)
{
return 6;
}
if(strcmp(s,"七")0)
{
return 7;
}
if(strcmp(s,"八")0)
{
return 8;
}
if(strcmp(s,"九")0)
{
return 9;
}
if(strcmp(s,"零")0)
{
return 0;
}
if(strcmp(s,"十")==0)
{
return 10;
}
}
int zeng1(int q)
{
int sum=p;
sum+=q;
return(sum);
}
int jian1(int q)
{
int sum=p;
sum-=q;
return(sum);
}
int zeng2(int q,int sum)
{
sum+=q;
return(sum);
}
int jian2(int q,int sum)
{
sum-=q;
return(sum);
}
下面是测试结果
那个仓库啥的我还没搞懂,所以我就写了这个代码。