这个作业属于哪个课程 | 2020面向对象程序设计 |
---|---|
这个作业要求在哪里 | 面向对象程序设计寒假作业2 |
这个作业的目标 | 1.继续完成编程题2.新建一个github仓库,并把作业推送到该仓库。3.发布博客 |
1.实践题
新建一个github仓库,使用git,或者github desktop把接下去的编程题的代码及测试脚本传到这个仓库。
新建完GitHub仓库后,如下图所示
2.编程题
继续完成作业一的编程题。
优化架构,一般要求每个函数长度不超过15行。
优化规范,尤其是命名规范。
最终我将程序分为以下几部分
一、输入汉字转成数字
int inputchange(char shu[])
{
if(strcmp(shu,"一")==0) return 1;
if(strcmp(shu,"二")==0) return 2;
if(strcmp(shu,"三")==0) return 3;
if(strcmp(shu,"一")==0) return 1;
if(strcmp(shu,"四")==0) return 4;
if(strcmp(shu,"五")==0) return 5;
if(strcmp(shu,"六")==0) return 6;
if(strcmp(shu,"七")==0) return 7;
if(strcmp(shu,"八")==0) return 8;
if(strcmp(shu,"九")==0) return 9;
if(strcmp(shu,"零")==0) return 0;
if(strcmp(shu,"十")==0) return 10;
}
二、输出数字转换汉字
void outputchange(int num)
{
if(num==0) printf("零");
if(num==1) printf("一");
if(num==2) printf("二");
if(num==3) printf("三");
if(num==4) printf("四");
if(num==5) printf("五");
if(num==6) printf("六");
if(num==7) printf("七");
if(num==8) printf("八");
if(num==9) printf("九");
if(num==10) printf("十");
}
三、实现输出部分
void output(int num)
{
int x,y,z;
z=num%10;
y=num%100/10;
x=num/100;
if(x!=0)
{
outputchange(x);printf("百");
}
outputchange(y);
if(y!=0)printf("十");
if(z!=0)outputchange(z);
}
四、主函数
实现输入和运算
int main()
{
int num;
char a[10],b[10],c[10],d[10],e[10],f[10],g[10];
scanf("%s %s %s %s",a,b,c,d);
if(strcmp(a,"整数")!=0)
{
printf("输入错误\n");
return 0;
}
num=inputchange(d);
while(1)
{
scanf("%s",e);
if(strcmp(e,"看看")==0)
break;
scanf("%s",f);
scanf("%s",g);
if(strcmp(f,"增加")==0)
num=num+inputchange(g);
else if(strcmp(f,"减少")==0)
num=num-inputchange(g);
else
{
printf("输入错误\n");
return 0;
}
}
output(num);
return 0;
}
总览
#include
#include
int inputchange(char shu[])
{
if(strcmp(shu,"一")==0) return 1;
if(strcmp(shu,"二")==0) return 2;
if(strcmp(shu,"三")==0) return 3;
if(strcmp(shu,"一")==0) return 1;
if(strcmp(shu,"四")==0) return 4;
if(strcmp(shu,"五")==0) return 5;
if(strcmp(shu,"六")==0) return 6;
if(strcmp(shu,"七")==0) return 7;
if(strcmp(shu,"八")==0) return 8;
if(strcmp(shu,"九")==0) return 9;
if(strcmp(shu,"零")==0) return 0;
if(strcmp(shu,"十")==0) return 10;
}
void outputchange(int num)
{
if(num==0) printf("零");
if(num==1) printf("一");
if(num==2) printf("二");
if(num==3) printf("三");
if(num==4) printf("四");
if(num==5) printf("五");
if(num==6) printf("六");
if(num==7) printf("七");
if(num==8) printf("八");
if(num==9) printf("九");
if(num==10) printf("十");
}
void output(int num)
{
int x,y,z;
z=num%10;
y=num%100/10;
x=num/100;
if(x!=0)
{
outputchange(x);printf("百");
}
outputchange(y);
if(y!=0)printf("十");
if(z!=0)outputchange(z);
}
int main()
{
int num;
char a[10],b[10],c[10],d[10],e[10],f[10],g[10];
scanf("%s %s %s %s",a,b,c,d);
if(strcmp(a,"整数")!=0)
{
printf("输入错误\n");
return 0;
}
num=inputchange(d);
while(1)
{
scanf("%s",e);
if(strcmp(e,"看看")==0)
break;
scanf("%s",f);
scanf("%s",g);
if(strcmp(f,"增加")==0)
num=num+inputchange(g);
else if(strcmp(f,"减少")==0)
num=num-inputchange(g);
else
{
printf("输入错误\n");
return 0;
}
}
output(num);
return 0;
}
编译脚本和上传GitHub仓库还没弄懂,暂时不会做。