小学生计算程序
1. 作业规范及要求
| 博客班级 | https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19 |
|---|---|
| 作业要求 | https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19/homework/11376 |
| 作业目标 | 实现随机生成四则运算 |
| 学号 | 3190704208 |
2.题目要求
写一个能自动生成小学四则运算题目的程序,然后在此基础上扩展:
1)除了整数以外,还要支持真分数的四则运算,例如:1/6+1/8=7/24
2)程序要求能处理用户的输入,判断对错,累积分数
3)程序支持可以由用户自行选择加、减、乘、除运算
4)使用-n参数控制生成题目的个数,例如Myapp.exe -n 10,将生成10个题目
3.代码及运行截图
#include<stdio.h>
#include<math.h>
#include<windows.h>
int right = 0;
int wrong = 0;
void add()
{
int a, b, c;
a = rand() % 100;
b = rand() % 100;
printf("请回答:\n\t\t %d + %d = ", a, b);
scanf("%d", &c);
if (a + b == c)
{
printf("回答正确!\n");
right++;
}
else
{
printf("回答错误!\n");
wrong++;
}
}
void minu()
{
int a, b, c;
a = rand() % 100;
b = rand() % 100;
printf("请回答:\n\t\t %d - %d = ", a, b);
scanf("%d", &c);
if (a - b == c)
{
printf("回答正确!\n");
right++;
}
else
{
printf("回答错误!\n");
wrong++;
}
}
void mul()
{
int a, b, c;
a = rand() % 100;
b = rand() % 100;
printf("请回答:\n\t\t %d * %d = ", a, b);
scanf("%d", &c);
if (a * b == c)
{
printf("回答正确!\n");
right++;
}
else
{
printf("回答错误!\n");
wrong++;
}
}
void di()
{
int a, b, c;
a = rand() % 100;
b = rand() % 100;
printf("请回答:\n\t\t %d / %d = ", a, b);
scanf("%d", &c);
if (a / b == c)
{
printf("回答正确!\n");
right++;
}
else
{
printf("回答错误!\n");
wrong++;
}
}
void main()
{
int choise;
int con = 0;
printf("\n\t\t\t欢迎进入小学简易四则运算\n\n");
while (1)
{
printf("请选择:\n");
printf("\t\t\t 加法运算(请输入1)\n");
printf("\t\t\t 减法运算(请输入2)\n");
printf("\t\t\t 乘法运算(请输入3)\n");
printf("\t\t\t 除法运算(请输入4)\n");
printf("\t\t\t 退出运算(请输入5)\n");
if (con == 0)
scanf("%d", &choise);
switch (choise)
{
case 1:
add();
break;
case 2:
minu();
break;
case 3:
mul();
break;
case 4:
di();
break;
case 5:
return;
}
printf("\n\t\t\t继续运算?(请输入1)\n");
printf("\n\t\t\t重新选择?(请输入2)\n");
printf("\n\t\t\t退出运算?(请输入3)\n");
scanf("%d", &con);
if (con == 1)
con = 1;
else if (con == 2)
con = 0;
else if (con == 3)
break;
else
printf("抱歉!,你输入的指令有误!请重新输入!\n");
}
printf("您总共完成了 %d 道题\n正确 %d 道\n错误 %d 道\n", right + wrong, right, wrong);
}





4.个人小结
| psp2.1 | 任务内容 | 计划完成需要的时间(min) | 实际完成需要的时间(min) |
|---|---|---|---|
| Planning | 计划 | 12 | 12 |
| Estimate | 估计这个任务需要多少时间,并规划大致工作步骤 | 12 | 12 |
| Development | 开发 | 120 | 110 |
| Analysis | 需求分析(包括学习新技术) | 15 | 10 |
| Design Spec | 生成设计文档 | 5 | 5 |
| Design Review | 设计复审 | 5 | 5 |
| Coding Standard | 代码规范 | 3 | 2 |
| Design | 具体设计 | 10 | 15 |
| Coding | 具体编码 | 30 | 25 |
| Code Review | 代码复审 | 5 | 7 |
| Test | 测试(自我测试,修改代码,提交修改) | 10 | 15 |
| Reporting | 报告 | 9 | 6 |
| Test Report | 测试报告 | 3 | 2 |
| Size Measurement | 计算工作量 | 2 | 1 |
| Postmortem & Process Improvement Plan | 事后总结,并提出过程改进计划 | 3 | 3 |
小结:markdown是个很好的工具,通过这次作业再一次巩固了我的知识。

浙公网安备 33010602011771号