博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第二次作业:编写一个四则运算的"软件"
阅读量:5128 次
发布时间:2019-06-13

本文共 2414 字,大约阅读时间需要 8 分钟。

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

 

需求分析:

●基本功能

●实现100以内的加法

●实现100以内的减法

●实现100以内的乘法

●实现100以内的除法

 

设计:

●程序由主函数和子函数构成

●首先选择要进行测试的题目种类,让运用者进入开始做题,题目随机产生(1表示加法运算,2表示减法,3表示乘法,4表示除法运算,5表示退出系统)

●int question_get() 用于系统计算四种运算的值,temp表示用户计算出的值,系统会自动将answer与temp的值进行比较,从而会输出相应的提示语。最后输出总共回答了题的数目,答对了几道,答错了几道。

 

代码实现:

#include 
#include
#include
int question_get();int type;void main( void ) { int r=0; int e=0; int answer; int n; srand( (unsigned)time( NULL ) );loop:printf( "请选择要进行测试的题目种类:" ); printf( "\n1.加法运算\n2.减法运算\n3.乘法运算\n4.除法运算\n5.退出运算\n" ); printf("\t\t\t请选择(1-5):"); scanf( "%d", &type ); while( 1 ) { int temp; int flag; answer = question_get(); printf( "请回答:\n" ); scanf( "%d", &temp ); while( temp!=answer ) { e++; printf( "\n答案错误,再接再厉,请您重做\n" ); scanf( "%d", &temp ); } r++; printf( "\n恭喜你!回答正确\n" ); printf( "若继续请按1,退出请按0\n" ); scanf( "%d", &flag ); while( flag!=0&&flag!=1 ) { printf( "按其它键无效\n" ); scanf( "%d", &flag ); } if( flag==0 ) break; else printf("您共回答了%d道题,其中正确的有%d道,错误的有%d道\n",e+r,r,e); goto loop; }} int question_get() { int a,b,c; loop: if( type==1 ) { a=rand()%99; b=99-a; b=rand()%b; printf( "%d + %d = ?", a, b ); return (a+b); } else if( type==2 ) { b=rand()%99; c=99-b; c=rand()%c; printf( "%d - %d = ?", b+c, b ); return(c); } else if( type==3 ) { a=rand()%10; b=50-a; b=rand()%b; printf( "%d * %d = ?", a, b ); return(a*b); } else if( type==4 ) { b=rand()%50; c=100/b; while( 1 ) { c=rand()%c; if( c!=0 ) break; } printf( "%d / %d = ?", b*c, b ); return(c); } else if( type==5 ) { printf("\t\t\t退出系统\n"); system("pause"); exit(0); } else if( type==0||type>5 ) { printf("\t\t\t输入错误,请输入1-5内的数字\n"); printf("\t\t\t请选择(1-5):"); scanf( "%d", &type ); goto loop; } }

 

程序截图:

加法界面:

减法界面:

乘法界面:

除法界面:

分析与总结:

●PSP耗时与总结

    总结:

    一定要多动脑子去思考,应该怎么设计,为什么要这样设计,一定要有一个清晰的思路再去写代码。要先想好思路再动手写,想的过程很重要,然后再去实现。

PSP

Personal Software Process Stage

Time(h)

Time(%)

●Design

●具体设计

6

11.5

●Coding

●具体编码

24

46.2

          ●Code Review

●代码复审

5

9.6

●Test

●测试(自测,修改代码)

13

25

●Postmortem & Process

Improvement Plan

●事后总结,并提出过程改进计划

4

7.7

转载于:https://www.cnblogs.com/0606tangjie/p/4413454.html

你可能感兴趣的文章
android 網易云閱讀 書架的實現
查看>>
day9.初始函数练习题
查看>>
PHP Markdown 解析器Parsedown
查看>>
webpack升级4记录
查看>>
【计算机视觉】图像处理与计算机视觉基础,经典以及最近发展
查看>>
【QT开发】QT在windows下的exe应用程序如何在别人的电脑上直接运行
查看>>
加快sqlite的读写
查看>>
listen的参数backlog的意义
查看>>
xcode6 下 ios simulator 有 Home 键么?
查看>>
https
查看>>
华南理工大学“三七互娱杯”程序设计竞赛 G: HRY and tree
查看>>
OpenLayers 添加RegularPolygon
查看>>
Android实现左右滑动效果
查看>>
模型的继承 -- Django从入门到精通系列教程
查看>>
HDU 5071 Chat
查看>>
【Oracle】Oracle常用语句集合
查看>>
IOS UIView,UIViewController
查看>>
转载——JUnit 5 新特性
查看>>
设置secureCRT中vim的字体颜色 分类: B3_LINUX ...
查看>>
认识JMS
查看>>