第二次作业

一、题目: 请编写一个能自动生成小学四则运算题目的 “软件”。让程序能接受用户输入答案,并判定对错。最后给出总共 对/错 的数量。

二、具体设计:

1、定义变量:a、b、c三个变量,a、b表示随机产生的0-100之间的整数用rand()%100实现,然后c表示进行各种运算后的运算结果,right表示回答正确的次数,wrong表示回答错误的次数,定义x、y表示判断选择哪种计算方式以及进行那个步骤。

2、 主函数主体部分用来做判断选择调用加减乘除哪个子函数主要用switch()实现,以及输出总的题目数量以及对与错的数量。

3、子函数部分,主要写实现加减乘除四则基本运算,判断用户输入的计算结果是否与随机产生的结果相同,如果相同,则right的次数加1,否则,wrong的次数加1 。  

三、代码:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int wrong=0,right=0;
void jia()
{ 
int a,b,c; 
a=rand()%100; 
b=rand()%100;
 printf("请输入你的运算结果:%d+%d=",a,b); 
scanf("%d",&c);
 if(a+b==c){
 printf("结果正确\n");
 right++;
 }
 else {
 printf("结果错误\n");
 wrong++;
 }
 }
void jian(){
 int a,b,c; 
a=rand()%100; 
b=rand()%100; 
printf("请输入你的运算结果:%d-%d=",a,b); 
scanf("%d",&c); 
if(a-b==c){
 printf("结果正确\n");
 right++;
 } 
else {
 printf("结果错误\n");
 wrong++;
 }
 }
void cheng(){
 int a,b,c; 
a=rand()%100; 
b=rand()%100; 
printf("请输入你的运算结果:%d*%d=",a,b);
 scanf("%d",&c);
 if(a*b==c){
 printf("结果正确\n");
 right++;
 } 
else {
 printf("结果错误\n");
 wrong++;
 }
 }
void chu(){
 int a,b,c; 
a=rand()%100; 
b=rand()%100;
 printf("请输入你的运算结果:%d/%d=",a,b); 
scanf("%d",&c); 
if(a/b==c){
 printf("结果正确\n");
 right++;
 }
 else {
 printf("结果错误\n");
 wrong++;
 }
 }
void main(){
 int x,y=0;
 while(1) { 
printf("请选择:\n加法运算(输入1)\n减法运算(输入2)\n乘法运算(输入3)\n除法运算(输入4)\n");
 if(y==0)scanf("%d",&x); 
switch(x) { 
case 1:jia();break;
 case 2:jian();break; 
case 3:cheng();break; 
case 4:chu();break; 
} 
printf("\n重新选择(输入1),退出运算(输入2)");
 scanf("%d",&y); 
if(y==1)y=0; 
if(y==2)break; 
} 
printf("做对%d道题,做错%d道题!\n",right,wrong); 
}

四、程序效果图:  

五、PSP耗时统计:

PSP

Personal Software

Process Stages

Time(%)

Senior

Student

Time(%)

SDE

Planning 计划 6 4
Analysis 需求分析 6 4
Dsign Spec 生成设计文档 3 5
Dsign Review 设计复审 4 6
Coding Standard 代码规范 3 5

 

 

 

 

 

 

 

 

 

六、总结:

         通过这次作业,我发现要想设计出一个好的软件真的非常困难。该软件不仅要实现各种运算,还要统计出运算对错的数目。虽然勉强完成了这次作业,但我知道里面一定还有很多不足之处,望各位老师指出,我也会继续更正。谢谢!!

 

posted @ 2015-04-10 21:45  毛涛  阅读(150)  评论(0编辑  收藏  举报