题目:
- 请编写一个能自动生成小学四则运算题目的 “软件”。
- 让程序能接受用户输入答案,并判定对错。
- 最后给出总共 对/错 的数量。
一:基本要求
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 ",a); printf("%d ",b); printf("a+b=? "); printf("请输入运算结果 "); scanf("%d",&m); if(m==a+b) { printf("恭喜你答对了 "); i++; } else { printf("你答案有错误 "); 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 ",a); printf("%d ",b); printf("a-b=? "); printf("请输入运算结果 "); scanf("%d",&m); if(m==a-b) { printf("恭喜你答对了 "); i++; } else { printf("你答案有错误 "); j++; } } void cheng() { int a,b,m; srand(time(NULL)); a=1+rand()%20; b=1+rand()%20; printf("%d ",a); printf("%d ",b); printf("a*b=? "); printf("请输入运算结果 "); scanf("%d",&m); if(m==a*b) { printf("恭喜你答对了 "); i++; } else { printf("你答案有错误 "); 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 ",a); printf("%d ",b); printf("a/b=? "); printf("请输入运算结果 "); scanf("%d",&m); if(m==a/b) { printf("恭喜你答对了 "); i++; } else { printf("你答案有错误 "); j++; } }
int main() { int m,n=0; while(1) { printf("1.加法运算 "); printf("2.减法运算 "); printf("3.乘法运算 "); printf("4.除法运算 "); printf("请选择"); scanf("%d", &m); switch(m) { case 1:jia();break; case 2:jian();break; case 3:cheng();break; case 4:chu();break; } printf("5.请重新选择 "); printf("6.结束 "); scanf("%d", &n); if(n==6) break; } printf("你回答题的总数%d和正确的个数%d ",i+j,i); return 0; }
五:系统测试
(1) 加法运算界面,包括做的总题数和正确数
(2)减法运算界面
(3)乘法运算界面
(4)除法运算界面
六:PSP耗时统计
七:事后分析和总结
首先看到题目,具体该怎么写,我几乎不明白。通过老师的讲解以及看书上的第二章《构建之法》:个人技术和流程,才了解题目。接着代码的实现通过查阅资料和老师,同学的交流才完成了本次作业。通过本次实验大概理解了设计是指说明软件的实现思路,理论上要求照此可以编码。需求分析是指产生软件规格说明书,需要确定用户对软件的需求,不涉及具体的实现方法。代码的实现就是编写出代码,并能正确的运行。