一、题目要求:完成一个基于控制台的四则运算程序,实现一个自动生成小学四则运算题目的命令行程序
满足以下需求:
1、除了整数以外,还要支持真分数的四则运算,真分数的运算,例如:1/6 + 1/8 = 7/24
2、运算符为 +, ?, ×, ÷
3、并且要求能处理用户的输入,并判断对错,打分统计正确率。
4、要求能处理用户输入的真分数, 如 1/2, 5/12 等
5、使用 -n 参数控制生成题目的个数,例如执行下面命令将生成10个题目
Myapp.exe -n 10
二、需求分析
能够自动生成四则运算题目,由人解答,并打印正确率。
三、功能设计与实现
用C语言编写函数,使用switch结构进行四则运算题的随机生成和正确率的计算。
四、部分代码展示
运算题生成部分
int k=(int)rand()%8; switch(k) { case 0: printf("%d/%d*%d/%d=",i,j,x,y); scanf("%d%c%d",&a[0],&l,&a[1]); f=i*x; g=j*y; if(a[0]/a[1]==f/g) { printf("答对\n"); c=c+1;} else printf("答错\n"); break; case 1: printf("%d/%d÷%d/%d=",i,j,x,y); scanf("%d%c%d",&a[0],&l,&a[1]); f=i*y; g=j*x; if(a[0]/a[1]==f/g) { printf("答对\n"); c=c+1;} else printf("答错\n"); break; case 2: printf("%d/%d+%d/%d=",i,j,x,y); scanf("%d%c%d",&a[0],&l,&a[1]); f=i*y+j*x; g=j*y; if(a[0]/a[1]==f/g) { printf("答对\n"); c=c+1; } else printf("答错\n"); break; case 3: printf("%d/%d-%d/%d=",i,j,x,y); scanf("%d%c%d",&a[0],&l,&a[1]); f=i*y-j*x; g=j*y; if(a[0]/a[1]==f/g) { printf("答对\n"); c=c+1; } else printf("答错\n"); break; case 4: printf("%d+%d=",s,o); scanf("%d",&w); f=s+o; if(w==f) { printf("答对\n"); c=c+1; } else printf("答错\n"); break; case 5: printf("%d-%d=",s,o); scanf("%d",&w); f=s-o; if(w==f) { printf("答对\n"); c=c+1; } else printf("答错\n"); break; case 6: printf("%d*%d=",s,o); scanf("%d",&w); f=s*o; if(w==f) { printf("答对\n"); c=c+1; } else printf("答错\n"); break; case 7: printf("%d÷%d=",s,o); scanf("%d",&w); f=s/o; if(w==f) { printf("答对\n"); c=c+1; } else printf("答错\n"); break;

 
| PSP2.1 | Personal Software Process Stages | Estimated time(min) | actual time(min) | 
| Planning | 计划 | 90 | 120 | 
| · Estimate | 估计这个任务需要多少时间 | 90 | 120 | 
| Development | 开发 | 90 | 120 | 
| · Analysis | 需求分析 (包括学习新技术) | 10 | 10 | 
| · Design Spec | 生成设计文档 | 10 | 10 | 
| · Design Review | 设计复审 | 10 | 15 | 
| · Coding Standard | 代码规范 | 10 | 15 | 
| · Design | 具体设计 | 10 | 15 | 
| · Coding | 具体编码 | 80 | 100 | 
| · Code Review | 代码复审 | 10 | 10 | 
| · Test | 测试(自我测试,修改代码,提交修改) | 10 | 10 | 
| Reporting | 报告 | 10 | 15 | 
| · | 测试报告 | 5 | 5 | 
| · | 计算工作量 | 5 | 3 | 
| · | 并提出过程改进计划 | 5 | 10 
 | 
原文:http://www.cnblogs.com/lzz21/p/6512430.html