一 功能要求:
1、乘除可控
2、随机添加括号
3、输入结果判断正误
4、统计正确数量
5、正负,余数可控
6、去除连除误区
二 设计思路
判断对错就是将用户输入的数和正确的值相比较,正确输出√,错误输出;
统计个数就是设置两个全局变量,让它去统计对错的个数。
至于其他的要求同以前编写的四则运算相同方法。
三 代码
//石家庄铁道大学
//2016.3.19
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
int correct = 0;//声明全局变量correct
int wrong = 0;//声明全局变量wrong
int Add(int num1, int num2)
{
int uresult, cresult;
scanf_s("%d", &uresult);
cresult = num1 + num2;
if (cresult == uresult)
{
printf("t√");
correct++;
}
else
{
printf("t");
wrong++;
}
return 0;
}
int Sub(int num1, int num2)
{
int uresult, cresult;
scanf_s("%d", &uresult);
cres服务器托管网ult = num1 - num2;
if (cresult == uresult)
{
printf("t√");
correct++;
}
else
{
printf("t");
wrong++;
}
return 0;
}
int Mult(int num1, int num2)
{
int uresult, cresult;
scanf_s("%d", &uresult);
cresult = num1*num2;
if (cresult == uresult)
{
printf("t√");
correct++;
}
else
{
printf("t");
wrong++;
}
return 0;
}
int Divi(int num1, int num2)
{
double uresult, cresult;
scanf_s("%g", &uresult);
cresult = num1 / num2; //取整
if (cresult == uresult)
{
printf("t√");
correct++;
}
else
{
printf("t");
wrong++;
}
return 0;
}
int SetQuestion(int cheng, int number, int line, int plural, int scope, int konghang)
{
int num1, num2, oper, i;
srand(time(NULL)); //i为循环次数
printf("我们提供一下功能: n");
printf(" 1.题目的数值范围(暂不支持小数)n");
printf(" 2.题目的数量 n");
printf(" 3.打印时每行题的数量 n");
printf(" 4.答案中会不会出现负数的结果 n");
printf(" 5.题目中是否会出现乘除运算 n");
printf(" 6.打印时每行的间隔 n");
printf("请输入数值范围:");
scanf_s("%d", &scope);
printf("请选择出题数量:");
scanf_s("%d", &number); //oper为题目数量
printf("请输入每行题的数量:");
scanf_s("%d", &line); //line为每行题的数量
printf("答案是否有负数(1为有,0为没有):");
scanf_s("%d", &plural); //plural是否是负数
while (plural != 0 && plural != 1) //判断用户是否按要求输入
{
printf("sorry!输入错误,请按要求输入:");
scanf_s("%d", &plural);
}
printf("是否有乘除运算(1为有,0为没有):");
scanf_s("%d", &cheng);
while (cheng != 0 && cheng != 1) //判断用户是否按要求输入
{
printf("sorry!输入错误,请按要求输入:");
scanf_s("%d", &cheng);
}
printf("中间有几个空行:");
scanf_s("%d", &konghang);
if (cheng == 1)
{
if (plural == 0)
{
for (i = 1; i = num2)
printf("%d-%d=t", num1, num2);
else
printf("%d-%d=t", num2, num1);
break;
case 2:
printf("%d*%d=t", num1, num2);
break;
case 3:
if (num2 == 0)
printf("%d/%d=t", num2, num1);
else
printf("%d/%d=t", num1, num2);
break;
default:
{
printf("出错啦~~~");
}
}
if (i%line == 0)
{
for (int p = 1; p = num2)
printf("%d-%d=t", num1, num2);
else
printf("%d-%d=t", num2, num1);
break;
default:
{
printf("出错啦~~~");
}
}
if (i%line == 0)
{
for (int p = 1; p = num2)
{
printf("%d-%d=", num1, num2);
Sub(num1, num2);
}
else
{
printf("%d-%d=", num2, num1);
Sub(num2, num1);
}
break;
case 2:
printf("%d*%d=", num1, num2);
Mult(num1, num2);
break;
case 3:
if (num2 == 0)
{
printf("%d/%d=", num2, num1);
Divi(num2, num1);
}
else
{
printf("%d/%d=", num1, num2);
Divi(num1, num2);
}
break;
default:
{
printf("出错啦~~~");
}
}
for (int p = 1; p = num2)
{
printf("%d-%d=", num1, num2);
Sub(num1, num2);
}
else
{
printf("%d-%d=", num2, num1);
Sub(num2, num1);
}
break;
default:
{
printf("出错啦~~~");
}
}
for (int p = 1; p = 6 / 10)
{
printf("你太棒了!!n");
}
else
{
printf("不及格,你要加油啦~~~n");
}
printf("是否继续(1为继续,0为不继续):");
scanf_s("%d", &num);
if (num == 1)
goto l1;
else
printf("欢迎下次使用!n");
break;
case 0:
printf("欢迎下次使用!n");
break;
}
return 0;
}
四 运行结果
五 合作伙伴
孟西鑫 20133017
六 总结
项目计划总结:
日期任务 |
听课 |
编写程序 |
查阅资料 |
日总计 |
星期一 |
2 |
1 |
3 |
|
星期二 |
1 |
1 |
4 |
|
星期三 |
3 |
3 |
||
星期四 |
2 |
1 |
1 |
|
星期五 |
2 |
2 |
||
星期六 |
||||
星期日 |
||||
周总计 |
4 |
7 |
2 |
13 |
日期 |
开始时间 |
结束时间 |
中断时间 |
净时间(分钟) |
活动 |
备注 |
3月14日 |
14:00 |
15:50 |
10 |
100 |
听课 |
|
19:00 |
20:00 |
60 |
查阅资料 |
和搭档一起讨论,着手改变程序与计划 |
||
3月15日 |
18:45 |
20:00 |
95 |
编写程序 |
||
20:00 |
21:00 |
15 |
45 |
讨论和查阅资料 |
||
3月16日 |
13:00 |
16:00 |
180 |
编写代码 |
||
3月17日 |
14:00 |
15:50 |
10 |
100 |
听课 |
|
19:00 |
20:00 |
60 |
编写程序 |
|||
3月18日 |
19:00 |
21:15 |
10 |
125 |
编写代码与测试 |
日期 |
编号 |
引入阶段 |
排除阶段 |
修复时间&问题描述 |
3月16日 |
3 |
编码 |
编译 |
1h,逻辑错误,数组的题不能出现正确答案,循环搞错了服务器托管网 |
3月17日 |
4 |
编码 |
编译 |
30min:全局变量的定义放在了主函数中,导致系统不能识别; 30min:转换成vs2015中的scan语句不识别等语句错误 |
3月18日 |
5 |
编码 |
执行 调试 |
2h:个别特殊的临界情况未予顾及到,完善程序。 |
程序大体上的功能还可以,但改进的空间还很大。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: LuatOS-SOC接口文档(air780E)–mcu – 封装mcu一些特殊操作
常量 常量 类型 解释 mcu.UART number 外设类型-串口 mcu.I2C number 外设类型-I2C mcu.SPI number 外设类型-SPI mcu.PWM number 外设类型-PWM mcu.GPIO number 外设类型-G…