navisimple

博客园 首页 新随笔 联系 订阅 管理
博客班级 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语言知识,很长时间没有使用,也都忘得差不多了。
这次作业对之后的代码学习有很大的帮助,也掌握了博客园的用法
posted on 2020-11-08 18:38  navisimple  阅读(297)  评论(0)    收藏  举报