标签:
一、题目
请编写一个能自动生成小学四则运算题目的 “软件”。 让程序能接受用户输入答案,并判定对错。 最后给出总共 对/错 的数量。
二、分析
1、此软件可选择所需的四则运算符号,即加、减、乘、除。
2、对于用户选择的运算符号可自动生成两个随机数。
3、通过用户手动输入运算结果,该软件可判断用户答案的正确性。
4、对于用户答案的正确与否可进行统计。
三、代码
#include "stdio.h" #include"windows.h" int right=0,wrong=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"); wrong++; } else { printf("回答正确!\n"); right++; } } 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");wrong++; } else { printf("回答正确!\n"); right++; } } 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"); wrong++; } else { printf("回答正确!\n"); right++; } } 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"); wrong++; } else { printf("回答正确!\n"); right++; } } void main(){ int choise,sum=0; printf("\n\n\t\t欢迎来到我的C语言四则运算程序系统!\n"); system("pause"); system("cls"); while(1) { printf("\n\n\t\t\t请选择计算符号:\n加法(输入1)\t减法(输入2)\t乘法(输入3)\t除法(输入4)\n"); if(sum==0)scanf("%d",&choise); switch(choise) { case 1: jia();break; case 2:jian();break; case 3:cheng();break; case 4:chu();break; } printf("请您选择:\t继续(输入1)\t重新(输入2)\t退出(输入3)\n"); scanf("%d",&sum); if(sum==1)sum=1; if(sum==2)sum=0; if(sum==3)break; } printf("您一共做了%d道题,正确%d道,错误%d道!\n",right+wrong,right,wrong); system("pause"); }
四、程序效果截图
五、PSP耗时统计
六、总结
这次作业主要是以设计和分析为主,让我了解到软件开发过程的艰辛。通过短短的几天时间,简单的设计了一下以上软件,上述软件能够基本的完成小学生的四则运算问题。例如,可主动选择所需的四则运算符号,即加、减、乘、除,对于用户选择的运算符号可自动生成两个随机数,可对用户手动输入的运算结果,进行判断和统计对错数量等。但不难看出,它还存在着一些缺陷。比如说,此题产生的两个随机数均为整数,但在计算除法时,结果一般都会出现小数(分数),此时,此软件会将计算所得结果自动化为整数,这与事实不符。所以,这便是此软件存在的问题之一,有时间会再慢慢改进的。
标签:
原文地址:http://www.cnblogs.com/zze-ysj-zdl-zdj-jiaren/p/4415491.html