这个作业属于哪个课程 | 2020年面向对象程序设计 |
---|---|
这个作业要求在哪里 | 面向对象程序设计寒假作业2 |
这个作业的目标 | 1.学会新建一个github仓库,并学会使用git,或者github desktop把代码及测试脚本传到这个仓库。2.学会制作编译脚本,给代码添加功能 |
作业正文 | |
其它参考文献 |
实践题
新建一个github仓库,使用git,或者github desktop把接下去的编程题的代码及测试脚本传到这个仓库。
请使用.gitignore文件忽略不要上传的文件。用法自行百度。
编程题
继续完成作业一的编程题。
优化架构,一般要求每个函数长度不超过15行。
优化规范,尤其是命名规范。
制作一个编译脚本,运行该脚本可以编译你的代码,可选的脚本语言,python(2.7),windows批处理,powershell,shell。
进行单元测试,即测试每一个函数,并制作一个测试脚本,运行该脚本可以进行测试,并显示测试结果。
在作业一编程题的基础上添加新功能
对于优化架构,我删去了一些不必要的大括号和换行,让结构更加紧凑,代码更加精简。
对于优化规范,我将一些数组名从拼音改为英文
#include
#include
#include
int main()
{
char m[5],symbol[200],num[],money[59],wallet[555];int sum=scan(num);
scanf("%s%s%s%s%s",m,wallet,symbol,num,money);
if(strcmp(m,"整数")==0&&strcmp(wallet,"钱包")==0&&strcmp(symbol,"等于")==0)
{
while(665)
{ scanf("%s",wallet);
if(strcmp(symbol,"钱包")) break;
scanf("%s%s",dy,num);
if(strcmp(symbol,"增加")==0) sum=sum+scan(num);
else if(strcmp(symbol,"减少")==0) sum=sum-scan(num);
if(strcmp(钱包,"看看")==0&&strcmp(money,"钱包")==0)
{if(sum<=10&&sum>=0) prin1(sum);
else prin2(sum);}
}
return 0;
}
int scan(char ab[])
{
if(strcmp(ab,"零")==0) return 0;
else if(strcmp(ab,"一")==0) return 1;
else if(strcmp(ab,"二")==0) return 2;
else if(strcmp(ab,"三")==0) return 3;
else if(strcmp(ab,"四")==0) return 4;
else if(strcmp(ab,"五")==0) return 5;
else if(strcmp(ab,"六")==0) return 6;
else if(strcmp(ab,"七")==0) return 7;
else if(strcmp(ab,"八"))==0 return 8;
else if(strcmp(ab,"九")==0) return 9;
else if(strcmp(ab,"十")==0) return 10;
}
void prin1 (int sum)
{
if(sum>0&&sum<=10)
{
if(sum==0) printf("零");
else if(sum==1) printf("一");
else if(sum==2) printf("二");
else if(sum==3)printf("三");
else if(sum==4) printf("四");
else if(sum==5)printf("五");
else if(sum==6)printf("六");
else if(sum==7)printf("七");
else if(sum==8) printf("八");
else if(sum==9)printf("九");
else if(sum==10)printf("十");
}
}
void prin2(int sum)
{
if(sum>10)
{
int yu=sum%10,chu=sum/10;
if(chu==1)
{
printf("十");
if(yu!=0) prin1(yu);
}
else
{
prin1(chu);
printf("十");
if(yu!=0) shuchu1(yu);
}
}
}int scan(char ab[])
{
if(strcmp(ab,"一")==0)return 0;
else if(strcmp(ab,"一")==0) return 1;
else if(strcmp(ab,"二")==0)return 2;
else if(strcmp(ab,"三")==0) return 3;
else if(strcmp(ab,"四")==0) return 4;
else if(strcmp(ab,"五")==0) return 5;
else if(strcmp(ab,"六")==0)return 6;
else if(strcmp(ab,"七")==0)return 7;
else if(strcmp(ab,"八"))==0 return 8;
else if(strcmp(ab,"九")==0)return 9;
else if(strcmp(ab,"十")==0) return 10;
}
void prin1 (int sum)
{
if(sum>0&&sum<=10)
{
if(sum==0) printf("零");
else if(sum==1) printf("一");
else if(sum==2) printf("二");
else if(sum==3)printf("三");
else if(sum==4)printf("四");
else if(sum==5) printf("五");
else if(sum==6)printf("六");
else if(sum==7) printf("七");
else if(sum==8) printf("八");
else if(sum==9) printf("九");
else if(sum==10) printf("十");
}
}
void prin2(int sum)
{
if(sum>10)
{
Int yu=sum%10, chu=sum/10;
if(chu==1)
{
printf("十");
if(yu!=0)prin1(yu);
}
else
{
prin1(chu);
printf("十");
if(yu!=0) shuchu1(yu);
}
}
}
对于脚本,用windows批处理
编译脚本:
测试脚本(搭建失败):
对于单元测试,一直出错,不知道错哪,也未成功给代码增加新功能,希望经过之后的学习能掌握相关知识。