小组成员:李利思 岳庆
题目:
请编写一个能自动生成小学四则运算题目的 “软件”;
让程序能接受用户输入答案,并判定对错;
最后给出总共 对/错 的数量。
需求分析:
- 基本功能
基本功能点1:实现小学四则运算;
基本功能点2:该程序能接受用户输入答案,并判断对错;
基本功能点3:给出总共对/错的数量。
设计
- 设计点1:用C语言编程环境实现程序代码的编写;
- 设计点2:随机产生两个数,分别用1,2,3,4表示计算加法,减法,乘法,除法,通过计算判断出计算的正确与否,并统计出正确与错误的个数。
1 #include<stdio.h> 2 #include <stdlib.h> 3 #include <time.h> 4 int main() 5 { 6 int x,y,all=0,r=0,e=0,result; 7 char z; 8 int m,n; 9 printf("欢迎来到小学计算器测试!\n"); 10 printf("请输入1到4其中一个数字(1表示加法,2表示减法,3表示乘法,4表示除法),当输入为q时,结束测试:\n"); 11 scanf("%d",&m); 12 srand( (unsigned)time( NULL ) ); 13 while ((z=getchar())!=‘q‘) 14 { 15 all++; 16 x=rand()%50;y=rand()%50; 17 if(m==1) 18 { 19 printf("%d+%d=",x,y); 20 scanf("%d",&z); 21 printf("\n"); 22 if (x+y==z) 23 r++; 24 else 25 e++; 26 } 27 else if(m==2) 28 { 29 printf("%d-%d=",x,y); 30 scanf("%d",&z); 31 if (x-y==z) 32 r++; 33 else 34 e++; 35 } 36 else if(m==3) 37 { 38 printf("%d*%d=",x,y); 39 scanf("%d",&z); 40 if (x*y==z) 41 r++; 42 else 43 e++; 44 } 45 else if(m==4) 46 { 47 printf("%d/%d=",x,y); 48 scanf("%d",&z); 49 if (x/y==z) 50 r++; 51 else 52 e++; 53 } 54 else 55 printf("输入有误!\n"); 56 result=100*r/all; 57 } 58 printf("您的成绩为:%d\n",result); 59 printf("您一共完了%d道题目,正确的有%d题,错误的有%d题\n",all,r,e); 60 if(result>=60) 61 { 62 printf("成绩还不错,别骄傲哦!\n"); 63 } 64 else 65 { 66 printf("成绩有待提高,加油,别灰心哦!\n"); 67 } 68 return 0; 69 }
计算加、减、乘、除法:
#include<stdio.h> void main() { /*加法计算*/ int Jiafa(int a,int b,int c) { int c = a + b; return c; } /*减法计算*/ int Jianfa(int a,int b,int c) { int c = a - b; return c; } /*乘法计算*/ int Chengfa(int a,int b,int c) { float c = a * b; return c; } /*除法计算*/ float Chufa(int a,int b,int c) { if(b==0) { b=1; } float c =(float) a /(float)b; return c; } }
把函数声明放在头文件中:
1 #include<stdio.h> 2 #include<stdio.h> 3 #include<stdio.h> 4 5 int Jiafa(int a,int b,int c); 6 int Jianfa(int a,int b,int c); 7 int Chengfa(int a,int b,int c); 8 float Chufa(int a,int b,int c);
调试结果:
两人合作步骤:
1.修改原程序,使之符合代码风格和设计规范的基本要求;
2.两人对原程序进行认真分析,得出解决问题的基本思路,拟定做题计划;
3.采用模块化的设计思想,修改之前的code,将计算功能封装起来;
4.测试加法功能。
总结:
1.编程是一个积累的过程,只要认真去思考,总会有解决问题的方法;
2.该程序的设计需要符合题目的要求,满足小学四则运算。
3.规范了代码的格式,使得代码更容易读,也便于检查和修改程序。
4.学会了一些简单的测试程序中基本功能的方法。
PSP耗时:
PSP | Personal Software Process Stage | Time(h) | Time(%) |
●Design | ●具体设计 | 10 | 25 |
●Coding | ●具体编码 | 12 | 30 |
●Code Review | ●代码复审 | 5 | 12.5 |
●Test | ●测试(自测,修改代码) | 8 | 20 |
●Postmortem & Process Improvement Plan |
●事后总结,并提出过程改进计划 | 5 | 12.5 |
时间: 2024-10-14 21:09:18