| 博客班级 | https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18 |
|---|---|
| 作业要求 | https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18/homework/11377 |
| 作业目标 | 培养我们的程序设计能力 |
| 学号 | 31707701135 |
| 二.题目要求 | |
| 写一个能自动生成小学四则运算题目的程序,然后在此基础上扩展: | |
| (1)除了整数以外,还要支持真分数的四则运算,例如:1/6+1/8=7/24 (2)程序要求能处理用户的输入,判断对错,累积分数 | |
| (3)程序支持可以由用户自行选择加、减、乘、除运算 | |
| (4)使用-n参数控制生成题目的个数,例如Myapp.exe -n 10,将生成10个题目 | |
| `#include <stdio.h> |
include <stdlib.h>
include <math.h>
include <time.h>
void add_oper();//加法运算
void sub_oper();//减法运算
void mul_oper();//乘法运算
void div_oper();//除法运算
void menu();
int main()
{
int select;
do
{
menu();
scanf_s("%d", &select);
switch (select)
{
case 1: add_oper(); break;
case 2: sub_oper(); break;
case 3: mul_oper(); break;
case 4: div_oper(); break;
default:break;
}
}while (select > 0);
}
void menu()//菜单函数
{
printf("欢迎使用四则运算器\n");
printf("1.加法运算\n");
printf("2.减法运算\n");
printf("3.乘法运算\n");
printf("4.除法运算\n");
printf("0.退出\n");
}
void add_oper()//加法运算法则
{
int x, y, z = 0, anwser, amount,i,T = 0, F = 0;//x,y为随机生成的两个数,x y计算结果的值暂存于z中,anwser为使用者输入的答案,amount为输入的题目数,T,F显示计算题目的正确错误数
printf("请输入你想计算的题目数");
scanf_s("%d", &amount);
for (i = 1; i <= amount; i++)
{
srand(time(NULL));
x = rand() % 100;
y = rand() % 100;
z = x + y;
printf("%d+%d=", x, y);
printf("两数之和为:");
scanf_s("%d", &anwser);
if (z == anwser)
{
printf("回答正确\n");
T++;
}
else
{
printf("回答错误\n");
F++;
}
}
printf("此次运算正确题数为%d,错题数为%d。\n", T, F);
}
void sub_oper()//减法运算法则
{
int x, y, z = 0, anwser, amount, i, T = 0, F = 0;
printf("请输入你想计算的题目数");
scanf_s("%d", &amount);
for (i = 1; i <= amount; i++)
{
srand(time(NULL));
x = rand() % 100;
y = rand() % 100;
z = x + y;
printf("%d-%d=", x, y);
printf("两数之差为:");
scanf_s("%d", &anwser);
if (z == anwser)
{
printf("回答正确\n");
T++;
}
else
{
printf("回答错误\n");
F++;
}
}
printf("此次运算正确题数为%d,错题数为%d。\n", T, F);
}
void mul_oper()//乘法运算法则
{
int x, y, z = 0, anwser, amount, i, T = 0, F = 0;
printf("请输入你想计算的题目数");
scanf_s("%d", &amount);
for (i = 1; i <= amount; i++)
{
srand(time(NULL));
x = rand() % 100;
y = rand() % 100;
z = x + y;
printf("%d*%d=", x, y);
printf("两数之积为:");
scanf_s("%d", &anwser);
if (z == anwser)
{
printf("回答正确\n");
T++;
}
else
{
printf("回答错误\n");
F++;
}
}
printf("此次运算正确题数为%d,错题数为%d。\n", T, F);
}
void div_oper()//除法运算法则
{
int x, y, z = 0, anwser, amount, i, T = 0, F = 0;
printf("请输入你想计算的题目数");
scanf_s("%d", &amount);
for (i = 1; i <= amount; i++)
{
srand(time(NULL));
x = rand() % 100;
y = rand() % 100;
z = x + y;
printf("%d/%d=", x, y);
printf("两数之商为:");
scanf_s("%d", &anwser);
if (z == anwser)
{
printf("回答正确\n");
T++;
}
else
{
printf("回答错误\n");
F++;
}
}
printf("此次运算正确题数为%d,错题数为%d。\n", T, F);
}`




| psp2.1 | 任务内容 | 计划完成需要的时间(min) | 实际完成需要的时间(min) |
|---|---|---|---|
| Planning | 计划 | 30 | 50 |
| Estimate | 估计这个任务需要多少时间,并规划大致工作步骤 | 5 | 15 |
| Development | 开发 | 360 | 580 |
| Analysis | 需求分析(包括学习新技术 | 10 | 30 |
| Design Spec | 生成设计文档 | 15 | 30 |
| Design Review | 设计复审 | 5 | 16 |
| Coding Standard | 代码规范 | 3 | 9 |
| Design | 具体设计 | 10 | 30 |
| Coding | 具体编码 | 100 | 300 |
| Code Review | 代码复审 | 5 | 15 |
| Test | 测试(自我测试,修改代码,提交修改) | 10 | 16 |
| Reporting | 报告 | 10 | 15 |
| Test Report | 测试报告 | 10 | 20 |
| Size Measurement | 计算工作量 | 3 | 5 |
| Postmortem & Process Improvement Plan | 事后总结,并提出过程改进计划 | 3 | 9 |
| 个人小结 | |||
| 初次使用博客园的时候,碰到了很多很多的问题,markdown格式的使用也花了很长的时间来掌握。 | |||
| 四则运算的题目虽然很简单,但是在编写的过程中,也遇到了一些问题,之前的c语言知识,很长时间没有使用,也都忘得差不多了。 | |||
| 这次作业对之后的代码学习有很大的帮助,也掌握了博客园的用法 |
浙公网安备 33010602011771号