基于控制台的小学四则运算

1.1具体任务

1.除了整数以外,还要支持真分数的四则运算,真分数的运算,例如:1/6 + 1/8 = 7/24

2.运算符为 +, −, ×, ÷

3.并且要求能处理用户的输入,并判断对错,打分统计正确率。

4.要求能处理用户输入的真分数, 如 1/2, 5/12 等

5.使用 -n 参数控制生成题目的个数,例如执行下面命令将生成10个题目
Myapp.exe -n 10

源代码:

···C
int maxNum(int i, int j) //最大公约数

{

int k;

if ((k = i % j) != 0)

{

maxNum(j, k);

}

else

return j;

}

int main()

{

int n, c, a = 0;

srand(time(NULL));

cin >> n;

for (int i = 0; i < n; i++)

{

int x1, x2, z, t, y1, y2, c, r1, r2;

char r3[10], r4[10];

srand(time(NULL));

memset(r3, 0, sizeof(r3));

memset(r4, 0, sizeof(r4));

x1 = rand() % 100;

x2 = rand() % 100;

z = rand() % 4;

r1 = 0;

r2 = 0;

switch (z)

{

case 0:

cout << x1 << "+" << x2 << "=";

cin >> r1;

r2 = x1 + x2;

if (r1 == r2)

{

cout << " 正" << endl;

a = a + 1;

}

else cout << " 误" << endl;

break;

case 1:

if (x1 < x2)

{

t = x1;

x1 = x2;

x2 = t;

}

else;

cout << x1 << "-" << x2 << "=";

cin >> r1;

r2 = x1 - x2;

if (r1 == r2)

{

cout << " 正" << endl;

a = a + 1;

}

else cout << " 误" << endl;

break;

case 2:

cout << x1 << "*" << x2 << "=";

cin >> r1;

r2 = x1 * x2;

if (r1 == r2)

{

cout << " 正" << endl;

a = a + 1;

}

else cout << " 误" << endl;

break;

case 3:

if (x2 != 0)

{

cout << x1 << "÷" << x2 << "=";

c = maxNum(x1, x2);

y1 = x1 / c;

y2 = x2 / c;

if (n != 1)

{

sprintf_s(r3, "%d/%d", y1, y2);

cin >> r4;

if (strcmp(r3, r4) == 0)

{

cout << " 正" << endl;

a = a + 1;

}

else cout << " 误" << endl;

}

else

{

cin >> r2;

if (r2 == y1)

{

cout << " 正" << endl;

a = a + 1;

}

else cout << " 误" << endl;

}

}

else

{

cout << x1 << "÷" << "1" << "=";

cin >> r2;

if (r2 == x1)

{

cout << " " << "T" << endl;

a = a + 1;

}

else cout << " " << "F" << endl;

}

break;

}

}

cout << "对的数量:" << a;

return 0;

}
···

PSP2.1 Personal Software Process Stages Time (%) Senior Student(/hour) Time (%)(/hour)
· Planning 计划 3h 1.5h
· Estimate 估计这个任务需要多少时间 1h 50m
· Analysis 需求分析 (包括学习新技术) 1h 1h
· Coding Standard 代码规范 3h 2h
· Design 具体设计 4h 2h
· Coding 具体编码 30h 45h
· Test 测试(自我测试,修改代码,提交修改) 2h 1.5h
Reporting 报告 3h 2.5h
原文地址:https://www.cnblogs.com/yaq233/p/6516860.html