题目要求
写一个能自动生成小学四则运算题目的程序,然后在此基础上扩展:
1)除了整数以外,还要支持真分数的四则运算,例如:1/6+1/8=7/24
2)程序要求能处理用户的输入,判断对错,累积分数
3)程序支持可以由用户自行选择加、减、乘、除运算
4)使用-n参数控制生成题目的个数,例如Myapp.exe -n 10,将生成10个题目
代码说明
加法
void add() //整数的加法
{
int a,b,c;
a=rand()%100; //随机生成
b=rand()%100;
printf("请回答:
%d + %d = ",a,b);
scanf("%d",&c);
if(a+b==c)
{
printf("回答正确!
");
right++;
}
else
{
printf("回答错误!
");
wrong++;
}
}
void Add() //真分数的加法
{
int zhenfenshu1_m=0, zhenfenshu1_z=0, zhenfenshu2_m=0, zhenfenshu2_z=0;
int a,b,c;
zhenfenshu1_m=0+rand()%100;
zhenfenshu1_z=0+rand()%100;
//判断产生的真分数正确性
while(zhenfenshu1_m<zhenfenshu1_z)
{
zhenfenshu1_m=0+rand()%100;
zhenfenshu1_z=0+rand()%100;
}
zhenfenshu2_m=0+rand()%100;
zhenfenshu2_z=0+rand()%100;
减法
void minu() //整数减法
{
int a,b,c;
a=rand()%100;
b=rand()%100;
printf("请回答:
%d - %d = ",a,b);
scanf("%d",&c);
if(a-b==c)
{
printf("回答正确!
");
right++;
}
else
{
printf("回答错误!
");
wrong++;
}
}
void Minu() //真分数的减法
{
int zhenfenshu1_m=0, zhenfenshu1_z=0, zhenfenshu2_m=0, zhenfenshu2_z=0;
int a,b,c;
zhenfenshu1_m=0+rand()%100;
zhenfenshu1_z=0+rand()%100;
//判断产生的真分数正确性
while(zhenfenshu1_m<zhenfenshu1_z)
{
zhenfenshu1_m=0+rand()%100;
zhenfenshu1_z=0+rand()%100;
}
zhenfenshu2_m=0+rand()%100;
zhenfenshu2_z=0+rand()%100;
乘法
void mul() //整数乘法
{
int a,b,c;
a=rand()%100;
b=rand()%100;
printf("请回答:
%d * %d = ",a,b);
scanf("%d",&c);
if(a*b==c)
{
printf("回答正确!
");
right++;
}
else
{
printf("回答错误!
");
wrong++;
}
}
void Mul() //真分数的乘法
{
int zhenfenshu1_m=0, zhenfenshu1_z=0, zhenfenshu2_m=0, zhenfenshu2_z=0;
int a,b,c;
zhenfenshu1_m=0+rand()%100;
zhenfenshu1_z=0+rand()%100;
//判断产生的真分数正确性
while(zhenfenshu1_m<zhenfenshu1_z)
{
zhenfenshu1_m=0+rand()%100;
zhenfenshu1_z=0+rand()%100;
}
zhenfenshu2_m=0+rand()%100;
zhenfenshu2_z=0+rand()%100;
除法
void di() //整数除法
{
int a,b,c;
a=rand()%100;
b=rand()%100;
printf("请回答:
%d / %d = ",a,b);
scanf("%d",&c);
if(a/b==c)
{
printf("回答正确!
");
right++;
}
else
{
printf("回答错误!
");
wrong++;
}
}
void Di() //真分数的除法
{
int zhenfenshu1_m=0, zhenfenshu1_z=0, zhenfenshu2_m=0, zhenfenshu2_z=0;
int a,b,c;
zhenfenshu1_m=0+rand()%100;
zhenfenshu1_z=0+rand()%100;
运行截图
开始界面
选择界面
运算
个人小结
在使用markdown语法编辑的过程中,遇到了许多问题,但在不断的修改过程中依次得到了解决,但还是有很多不足。
在编辑过程中,还不是很熟练,但了解到了markdown语法的便捷性。
psp
psp2.1 | 任务内容 | 计划完成需要的时间(min) | 实际完成需要的时间(min) |
Planing |
计划 |
30 |
35 |
Estimate |
估计这个任务需要多少时间, 并规划大致工作步骤 |
10 |
10 |
Development |
开发 |
200 |
300 |
Analysis |
需求分析(包括学习新技能) |
30 |
90 |
Design Spec |
生成设计文档 |
15 |
25 |
Design Review |
设计审核 |
15 |
30 |
Coding Standard |
代码规范 |
10 |
10 |
Design |
具体设计 |
10 |
20 |
Coding |
具体编码 |
200 |
300 |
Code Review |
代码复核 |
20 |
20 |
Test |
测试(自我测试,修改代码 提交修改) |
60 |
60 |
Reporting |
报告 |
15 |
15 |
Test Report |
测试报告 |
5 |
5 |
Size Measurement |
计算工作量 |
25 |
25 |
Postmortem & Process Improvement |
事后总结,并提出过程修改计划 |
5 |
5 |
源码