第二次作业:编写一个四则运算的"软件"

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

需求分析:

●基本功能

●实现100以内的加法

●实现100以内的减法

●实现100以内的乘法

●实现100以内的除法

设计:

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

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

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

代码实现:

#include <stdlib.h>
#include <stdio.h>
#include <time.h>

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

时间: 2024-08-24 14:31:27

第二次作业:编写一个四则运算的"软件"的相关文章

《软件工程》第二次作业:编写小学生四则运算测试软件

一.题目: 请编写一个能自动生成小学四则运算题目的 “软件”. 让程序能接受用户输入答案,并判定对错. 最后给出总共以及 对/错      的数量. 二.基本要求: 所编写出来的“软件”选择界面设计,选择加.减.乘.除运算. 系统随机产生一百以内的两个数进行运算. 使用该软件时,用户从键盘输入结果,回答正确和回答错误都有提示,结束后系统会自动给出相应的总题数和 对/错 的数量. 三.需求分析: 程序能实现0~100以内的加法.减法.乘法以及除法的运算. 用户能在java控制窗口输入自己的答案,该

软件测试第二次作业 - 写一个Java程序,用于分析一个字符串中各个单词出现的频率,并将单词和它出现的频率输出显示。

题目一: 1. 写一个Java程序,用于分析一个字符串中各个单词出现的频率,并将单词和它出现的频率输出显示.(单词之间用空格隔开,如“Hello World My First Unit Test”): 2. 编写单元测试进行测试: 3. 用ElcEmma查看代码覆盖率,要求覆盖率达到100%. Demo类: 1 import java.util.HashMap; 2 import java.util.Iterator; 3 import java.util.Map; 4 import java.

第二次作业1-10的四则运算

Form1.csusing System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Windowss { public partial class Form1 : Form { p

作业二:四则运算

我使用C语言来编写可以自动出题的四则运算. 主要功能: 能随机出现四则运算,数字和符号全部随机出现. 设计思想: 编写一个四则运算测试题的程序,要求每道题都要随机产生.所以我用了较为简单熟练的C语言. 源代码: #include<iostream> #include<stdlib.h> #include<time.h> using namespace std; int main() { int x,y,z,t; srand(time(NULL)); for(int i=

第二次作业《四则运算》

题目: 请编写一个能自动生成小学四则运算题目的 “软件”. 让程序能接受用户输入答案,并判定对错. 最后给出总共 对/错 的数量. 一:基本要求 1:题型选择界面设计,选择加.减.乘.除运算. 2:系统随机产生一百以内的两个数进行运算. 3:练习时,用户从键盘输入结果,正确和错误均有提示,按6,显示总题数和正确数. 二:需求分析 编写小学四则运算测试系统,要求完成两位数的加,减,乘,除四则运算.能根据用户的输入来选择运算种类,用户输入答案后可以判断正误,做完一次测试后,用户可以决定是否继续进行下

第二次作业:四则运算

需求分析: 编写一个能对0--10之间的整数(随机生成)进行四则运算的“软件”程序能接收用户输入的整数答案,并判断对错程序结束时,统计出答对.答错的题目数量. 设计思路: 我用的是Windows窗体应用程序,有3个Form窗体,如图: 在Form1中设置3个Textbox控件,表示随机数和输出结果,两个Label控件,代表运算符和“=”,7个Button控件代表“+.-.*./.开始.说明.结束”: Form2中4个Label控件,4个Textbox控件,表示“答题总数.正确数.错误数和正确率”

第二次作业——小学生四则运算

题目: 请编写一个能自动生成小学四则运算题目的 “软件”. 让程序能接受用户输入答案,并判定对错. 最后给出总共 对/错 的数量. 需求分析: ●基本功能 ●实现100以内的加法 ●实现100以内的减法 ●实现100以内的乘法 ●实现100以内的除法 ●累计答对题目的个数,并做出相关的评价 设计: ●首先选择是否进入测试状态,若选择进入测试,则随机产生100以内的加减乘除的思则运算的题目 ● 用Switch选择语句来选择做什么运算(0表示加法运算,1表示减法,2表示除法运算,3表示乘法)以及根据

第一次课上作业——编写程序,输出30道四则运算题

一.设计思路 1.首先完成一个四则运算的出题程序,其次运用循环的方式完成30道题2.首先使用随机函数生成四则运算中的第一个数的随机数,随机数要求是整数和真分数,其他的数不支持 2.1.首先生成一个随机数,取值为1或2,以此来确定四则运算中第一个随机数应该是整数还是真分数.若随机数为1则为整数,若随机数为2则为真分数.. 2.2.若为四则运算中的数为真分数,则随机生成两个数,作为分子和分母,并使得分母大于分子. 3.使用随机函数生成四则运算中的第二个数的随机数,此随机数的要求以及操作同第二步 4.

用C++编写一个随机产生多个两位数四则运算式子的简单程序

一 设计思想: 1.首先可以想到一个四则运算式子的组成:两个运算数和一个运算符: 2.两个运算数的随机由调用随机函数产生,其中可以设定运算数的范围: 3.一个运算符的随机产生可以分为加减乘除四种情况,分别通过产生四个随机数来决定哪种运算符: 4.最后两者结合起来完成随机式子的产生: 二 程序代码: #include "stdafx.h" #include "stdlib.h" //调用其中随机函数 #include "iostream.h" #i