寒假作业二

编程题
继续完成作业一的编程题。
优化架构,一般要求每个函数长度不超过15行。
优化规范,尤其是命名规范。
制作一个编译脚本,运行该脚本可以编译你的代码,可选的脚本语言,python(2.7),windows批处理,powershell,shell。
示例脚本:
gcc 1.cpp -o lang.exe
进行单元测试,即测试每一个函数,并制作一个测试脚本,运行该脚本可以进行测试,并显示测试结果。
示例脚本:
gcc 1.cpp test.cpp -o test.exe
test
在作业一编程题的基础上添加以下功能:
通过命令行读取一个文件,然后运行这个文件。如我的程序叫lang,lang 1.txt代表我要运行1.txt这个文本中的代码。
假设我的1.txt内容如下:
整数 钱包 等于 零
钱包 增加 四
钱包 减少 三
看看 钱包
输入lang 1.txt后,命令行输出一。
首先是两个优化,下面是我上次提交的代码应该符合要求,所以优化方面我就不说了
include<stdio.h>
include<string.h>
int num(char d[])
{
if (!strcmp(d, "零")) return 0;
else if (!strcmp(d, "一")) return 1;
else if (!strcmp(d, "二")) return 2;
else if (!strcmp(d, "三")) return 3;
else if (!strcmp(d, "四")) return 4;
else if (!strcmp(d, "五")) return 5;
else if (!strcmp(d, "六")) return 6;
else if (!strcmp(d, "七")) return 7;
else if (!strcmp(d, "八")) return 8;
else if (!strcmp(d, "九")) return 9;
else if (!strcmp(d, "十")) return 10;
}

int judge(int n, char c[], char d[])
{
if (!strcmp(c, "增加")) return n + num(d);
else if (!strcmp(c, "减少")) return n - num(d);
}

void sum(int n)
{
char nums[10][4] = { "零","一","二","三","四","五","六","七","八","九" };
printf("%s", nums[n]);

}

int main()
{
char a[10], b[10], c[10], d[10];
int n;
scanf("%s%s%s%s", a, b, c, d);
getchar();
n = num(d);
scanf("%s %s %s", a,b,c);
n = judge(n, b, c);
getchar();
scanf("%s%s%s", a, b, c);
n = judge(n, b, c);
sum(n);
}
脚本

实践题
新建一个github仓库

算了,我放弃了

posted @ 2020-02-05 21:20  杏杏就困困  阅读(157)  评论(1)    收藏  举报