软件工程第二次作业
题目:
- 请编写一个能自动生成小学四则运算题目的 “软件”。
- 让程序能接受用户输入答案,并判定对错。
- 最后给出总共 对/错 的数量。
一:基本要求
1:题型选择界面设计,选择加、减、乘、除运算。
2:系统随机产生一百以内的两个数进行运算。
3:练习时,用户从键盘输入结果,正确和错误均有提示,按6,显示总题数和正确数。
二:需求分析
编写小学四则运算测试系统,要求完成两位数的加,减,乘,除四则运算。能根据用户的输入来选择运算种类,用户输入答案后可以判断正误,做完一次测试后,用户可以决定是否继续进行下一次运算。
三:设计
1:定义变量i,j,a,b,m其中i表示答对的题数,j表示答错的题数,a,b表示随机产生的数,m接收从键盘输入的运算结果。
2:分别定义加,减,乘,除子函数,出错和正确都有提示。
3:主函数用switch来实现用户的输入来选择运算种类,并输出答题的数目和正确的题数。四:代码实现
#include<stdio.h> #include<stdlib.h> #include<time.h> int i=0,j=0; void jia() { int a,b,m; srand(time(NULL)); a=1+rand()%100; b=1+rand()%100; printf("%d\n",a); printf("%d\n",b); printf("a+b=?\n"); printf("请输入运算结果\n"); scanf("%d",&m); if(m==a+b) { printf("恭喜你答对了\n"); i++; } else { printf("你答案有错误\n"); j++; } } void jian() { int a,b,m; srand(time(NULL)); a=1+rand()%100; b=1+rand()%100; if(a<b) { int t=0; t=a;a=b;b=t; } printf("%d\n",a); printf("%d\n",b); printf("a-b=?\n"); printf("请输入运算结果\n"); scanf("%d",&m); if(m==a-b) { printf("恭喜你答对了\n"); i++; } else { printf("你答案有错误\n"); j++; } } void cheng() { int a,b,m; srand(time(NULL)); a=1+rand()%20; b=1+rand()%20; printf("%d\n",a); printf("%d\n",b); printf("a*b=?\n"); printf("请输入运算结果\n"); scanf("%d",&m); if(m==a*b) { printf("恭喜你答对了\n"); i++; } else { printf("你答案有错误\n"); j++; } } void chu() { int a,b,m; srand(time(NULL)); a=1+rand()%100; b=1+rand()%100; if(b==0) { b=1+rand()%100; } if(a<b) { int t=0; t=a;a=b;b=t; } while(a%b!=0) { a=1+rand()%100; b=1+rand()%100; } printf("%d\n",a); printf("%d\n",b); printf("a/b=?\n"); printf("请输入运算结果\n"); scanf("%d",&m); if(m==a/b) { printf("恭喜你答对了\n"); i++; } else { printf("你答案有错误\n"); j++; } }
int main() { int m,n=0; while(1) { printf("1.加法运算\n"); printf("2.减法运算\n"); printf("3.乘法运算\n"); printf("4.除法运算\n"); printf("请选择"); scanf("%d", &m); switch(m) { case 1:jia();break; case 2:jian();break; case 3:cheng();break; case 4:chu();break; } printf("5.请重新选择\n"); printf("6.结束\n"); scanf("%d", &n); if(n==6) break; } printf("你回答题的总数%d和正确的个数%d\n",i+j,i); return 0; }
五:系统测试
(1)加法运算界面,包括做的总体书和正确数
(2)减法运算界面
(3)乘法运算界面
(4)除法运算
六:psp耗时统计
序号 | psp | 耗时 | 百分比(%) |
1 | 需求分析 | 18 | 23% |
2 | 设计 | 20 | 25.6 |
3 | 代码实现 | 30 | 38.5% |
4 | 测试 | 5 | 6.4% |
5 | 分析和总结 | 5 | 6.4% |
七:分析和总结
首先看到题目,具体该怎么写,我几乎不明白。通过问老师和同学,才了解题目。同学的交流才能完成