HakunaMatatea

 

四则运算

这个作业属于哪个课程 https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19/
这个作业要求在哪里 https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19/homework/11376
这个作业的目标 写一个能自动生成小学四则运算题目的程序,并有所扩展
学号 3190704210

代码如下

define _CRT_SECURE_NO_WARNINGS

include <stdio.h>

include <stdlib.h>

include <time.h>

int add(int num1, int num2)//加法
{
return num1 + num2;
}
int subtraction(int num1, int num2)//减法
{
return num1 - num2;
}
int mul(int num1, int num2)//乘法
{
return num1*num2;
}
float divis(int num1, int num2)//除法
{
return ((int)(((float)num1 / num2) * 100 + 0.5)) / 100.0;
}
int main()
{
int type = -1;
int data = -1;
int choice, num1, num2, results;
float div_result;
int right = 0;
int wrong = 0;
char ch;
printf("欢迎进入小学四则运算题,现在考验你的智商是不是真正的“小学生”了!\n");
srand((unsigned int)time(NULL));
while (1)
{
printf("请选择运算类型:1.加法 2.减法 3.乘法 4.除法(保留两位小数)\n");
scanf("%d", &choice);
printf("请选择位数:1.一位数 2.两位数\n");
scanf("%d", &data);
switch (choice)
{
case 1:
if (data == 1)
{
num1 = rand() % 10;
num2 = rand() % 10;
printf("%d + %d=?\n", num1, num2);
scanf("%d", &results);
if (results == add(num1, num2))
{
printf("回答正确!\n");
right++;
}
else
{
printf("回答错误!\n");
wrong++;
}
printf("是否继续?y/n\n");
getchar();
scanf("%c", &ch);
if (ch == 'y')
break;
else if (ch == 'n')
goto end;
}
else if (data == 2)
{
num1 = rand() % 100;
num2 = rand() % 100;
printf("%d + %d=?\n", num1, num2);
scanf("%d", &results);
if (results == add(num1, num2))
{
printf("回答正确!\n");
right++;
}
else
{
printf("回答错误!\n");
wrong++;
}
printf("是否继续?y/n\n");
getchar();
scanf("%c", &ch);
if (ch == 'y')
break;
else if (ch == 'n')
goto end;
}
break;
case 2:
if (data == 1)
{
num1 = rand() % 10;
num2 = rand() % 10;
printf("%d - %d=?\n", num1, num2);
scanf("%d", &results);
if (results == subtraction(num1, num2))
{
printf("回答正确!\n");
right++;
}
else
{
printf("回答错误!\n");
wrong++;
}
printf("是否继续?y/n\n");
getchar();
scanf("%c", &ch);
if (ch == 'y')
break;
else if (ch == 'n')
goto end;
}
else if (data == 2)
{
num1 = rand() % 100;
num2 = rand() % 100;
printf("%d - %d=?\n", num1, num2);
scanf("%d", &results);
if (results == subtraction(num1, num2))
{
printf("回答正确!\n");
right++;
}
else
{
printf("回答错误!\n");
wrong++;
}
printf("是否继续?y/n\n");
getchar();
scanf("%c", &ch);
if (ch == 'y')
break;
else if (ch == 'n')
goto end;
}
break;
case 3:
if (data == 1)
{
num1 = rand() % 10;
num2 = rand() % 10;
printf("%d * %d=?\n", num1, num2);
scanf("%d", &results);
if (results == mul(num1, num2))
{
printf("回答正确!\n");
right++;
}
else
{
printf("回答错误!\n");
wrong++;
}
printf("是否继续?y/n\n");
getchar();
scanf("%c", &ch);
if (ch == 'y')
break;
else if (ch == 'n')
goto end;
}
else if (data == 2)
{
num1 = rand() % 100;
num2 = rand() % 100;
printf("%d * %d=?\n", num1, num2);
scanf("%d", &results);
if (results == mul(num1, num2))
{
printf("回答正确!\n");
right++;
}
else
{
printf("回答错误!\n");
wrong++;
}
printf("是否继续?y/n\n");
getchar();
scanf("%c", &ch);
if (ch == 'y')
break;
else if (ch == 'n')
goto end;
}
break;
case 4:
if (data == 1)
{
num1 = rand() % 10;
num2 = rand() % 10 + 1;
printf("%d / %d=?\n", num1, num2);
scanf("%f", &div_result);
if (div_result == divis(num1, num2))
{
printf("回答正确!\n");
right++;
}
else
{
printf("回答错误!\n");
wrong++;
}
printf("是否继续?y/n\n");
getchar();
scanf("%c", &ch);
if (ch == 'y')
break;
else if (ch == 'n')
goto end;
}
else if (data == 2)
{
num1 = rand() % 100;
num2 = rand() % 100 + 1;
printf("%d / %d=?\n", num1, num2);
scanf("%f", &div_result);
if (div_result == divis(num1, num2))
{
printf("回答正确!\n");
right++;
}
else
{
printf("回答错误!\n");
wrong++;
}
printf("是否继续?y/n\n");
getchar();
scanf("%c", &ch);
if (ch == 'y')
break;
else if (ch == 'n')
goto end;
}
break;
default:
printf("输入错误!\n");
break;
}
}
end:
printf("回答正确%d题,回答错误%d题\n", right, wrong);
printf("\n=感谢使用===!\n");
system("pause");
return 0;
}

任务内容 计划完成需要的时间(min) 实际完成需要的时间(min)
计划 5 5
估计这个任务需要多少时间,并规划大致工作步骤 10 20
开发 60 90
需求分析(包括学习新技术) 15 10
生成设计文档 5 3
测试(自我测试,修改代码,提交修改) 5 6
报告 10 5
测试报告 3 3
计算工作量 3 3
事后总结,并提出过程改进计划 5 5
---- ---- ----

总结感想
在我们设计程序时候,将一个大的问题分成几个模块,运用不同的函数将这些模块分别设计出来,然后运用函数调用,我们就可以将这些功能不同的模块联系在一起。
深知自己技术水平还不高,编这样的程序遇到了很多困难,但我相信经过今后的不断学习,我的变成能力会有很大的提高。

posted on 2020-10-28 09:57  HakunaMatatea  阅读(97)  评论(0)    收藏  举报

导航