四则运算2扩展---c++

题目:让程序能接受用户输入答案,并判定对错。最后给出总共对/错 的数量。

一、设计思想

1.存储用户输入答案,与正确答案比较得出总共对错数量。

二、源程序代码

  1 #include<iostream.h>
  2 #include<stdlib.h>
  3 #include "time.h"
  4 #include<stdio.h>
  5 int main ()
  6 {
  7     int a,b,c,f,j,i,t,num,l,jj,cc,fw;//i,j,t是计数变量,a,b是运算数。
  8     int r=0;//正确数目。
  9     int e=0;//错误数目。
 10     char daan;
 11     cout<<"-----------------四则运算题----------------------"<<endl;
 12     cout<<endl;
 13     srand( (unsigned)time( NULL ) );//随机数种子为当前计算机时间。
 14     cout<<"*************请填写题目要求:********************"<<endl;
 15     cout<<"*                                               *"<<endl;
 16     cout<<"* 1.请输入要生成题目数num:                      *"<<endl;//选择题目数量。
 17     cout<<"* 2.请输入打印方式(列数l、行间距jj):          *"<<endl;//选择打印方式。
 18     cout<<"* 3.请选择有无乘除法cc(1代表有或0代表无):     *"<<endl;//有无乘除法。
 19     cout<<"* 4.请选择数的范围fw(fw是指该范围内最大的数):   *"<<endl;//选择数的范围。
 20     cout<<"* 5.请选择除法有无余数c(1代表有或0代表无):      *"<<endl;//选择除法有无余数。
 21     cout<<"* 6.请选择加减有无负数f(1代表有或0代表无):      *"<<endl;//选择加减有无负数。
 22     cout<<"*                                               *"<<endl;
 23     cout<<"*************************************************"<<endl;
 24     cout<<"请输入要生成题目数num:"<<endl;
 25     cin>>num;
 26     int a1[100000];//存储用户输入答案。
 27     int b1[100000];//正确答案。
 28     if(num<0)
 29     {
 30         cout<<"错了!  亲! 题目数量不能小于0,请重输:";
 31         cin>>num;
 32     }
 33     cout<<"请输入打印方式  (列数l):"<<endl;
 34     cin>>l;
 35     if(l<=0)
 36     {
 37         cout<<"错了!  亲! 列数不能小于等于0,请重输:";
 38         cin>>l;
 39     }
 40     cout<<"请输入打印方式  (行间距jj):"<<endl;
 41     cin>>jj;
 42     if(jj<=0)
 43     {
 44         cout<<"错了!  亲! 行间距不能小于等于0,请重输:";
 45         cin>>jj;
 46     }
 47     cout<<"请选择有无乘除法cc(1代表有或0代表无): "<<endl;
 48     cin>>cc;
 49     if(cc!=0&&cc!=1)
 50     {
 51         cout<<"错了!  亲! 请重输:";
 52         cin>>cc;
 53     }
 54     cout<<"请选择数的范围fw(fw是指该范围内最大的数):"<<endl;
 55     cin>>fw;
 56     cout<<"请选择除法有无余数c(1代表有或0代表无):"<<endl;
 57     cin>>c;
 58     if(c!=0&&c!=1)
 59     {
 60         cout<<"错了!  亲! 请重输:";
 61         cin>>c;
 62     }
 63     cout<<"请选择加减有无负数f(1代表有或0代表无):"<<endl;
 64     cin>>f;
 65     if(f!=0&&f!=1)
 66     {
 67         cout<<"错了!  亲! 请重输:";
 68         cin>>f;
 69     }
 70     cout<<endl;
 71     if(cc==1)
 72         cc=cc+3;
 73     else
 74         cc=cc+2;
 75     for(j=0;j<num;j++)
 76     {
 77         //产生随机数。
 78         a=rand()%fw;
 79         b=rand()%fw+1;//保证除数不为0。
 80         i=rand()%cc;
 81         cout<<"<"<<j+1<<">: ";
 82         switch(i)
 83         {
 84         case 0:
 85             cout<<a<<"+"<<b<<"=";
 86             b1[j]=a+b;
 87             break;
 88         case 1:
 89             if(f==0&&a<=b)
 90             {
 91                 cout<<b<<"-"<<a<<"=";
 92                 b1[j]=b-a;
 93             }
 94             else
 95             {
 96                 cout<<a<<"-"<<b<<"=";
 97                 b1[j]=a-b;
 98             }
 99             break;
100         case 2:
101             cout<<a<<"*"<<b<<"=";
102             b1[j]=a*b;
103             break;
104         case 3:
105             if(a%b!=0&&c==0)
106             {
107                 cout<<a-a%b<<"/"<<b<<"=";
108                 b1[j]=(a-a%b)/b;
109             }
110             else
111             {
112                 cout<<a<<"/"<<b<<"=";
113                 b1[j]=a/b;
114             }
115             break;
116         }
117         cin>>a1[j];
118         if(j%l==l-1)
119         {
120             for(t=0;t<jj;t++)
121             cout<<endl;
122         }
123     }
124     cout<<endl;
125     for(j=0;j<num;j++)
126     {
127         if(b1[j]==a1[j])
128             r++;
129         else
130             e++;
131     }
132     cout<<"恭喜你做对了"<<r<<"道题目"<<endl;
133     cout<<"是否输出正确答案:(Y/N)";
134     cin>>daan;
135     if(daan==‘Y‘)
136             for(j=0;j<num;j++)
137             {
138                 cout<<"<"<<j+1<<">: "<<b1[j]<<endl;
139             }
140
141     return 0;
142 }

三、运行截图

四、实验心得

以前写代码不注意添加{}导致修改错误

如:

 case 1:
 89             if(f==0&&a<=b)
 90
 91                 cout<<b<<"-"<<a<<"=";
 92                 b1[j]=b-a;
 93
 94             else
 95 

习惯真的很重要,设计中出现了逻辑错误,通过测试用例 得到解决。

五、PSP0级 记录表

周活动记录总表

姓名:董龙洋                                                   日期:2015.3.21


日期/任务


听课


编程


阅读


准备考试


日总计


周日


周一


周二


20


周三


周四


75


周五


50


周六


125


周总结


270

阶段时间和效率                            周数(上一次周活动表的周数+1):1

不包括上一周在内的累计时间


总计


平均


最大


最小

以前各周的累积时间

时间记录表:

学生:董龙洋                        日期:2015.3.21

教师:王建民                        课程:psp


日期


开始时间


结束时间


中断时间


净时间


活动


备注


3.17


9:30


9:50


0


20


课堂练习


3.19


16:05


19:20


60


75


四则运算


吃饭一小时


3.20


9;20


9:55


0


35


课堂练习


3.21


18:23


20:03


0


100


四则运算

缺陷记录日志:

学生:董龙洋

日期:2015.3.21

教师:王建民

程序员:


日期


编号


类型


引入阶段


排除阶段


修复时间


修复缺陷


3.20


1


写代码


编译


2min


3.21


2


写代码


执行


30min


逻辑错误

时间: 2024-10-20 14:20:13

四则运算2扩展---c++的相关文章

四则运算的扩展

扩展: 接受用户输入答案,并显示结果和答对个数. 附上代码: 1 #include<iostream> 2 #include<conio.h> 3 #include<cstdlib> 4 #include<ctime> 5 #include <iomanip> 6 using namespace std; 7 8 void Rand_Cal_one(int digits[],char characters[],int range) //随机产生运

四则运算2扩展

一.题目 我在这次扩展中加入了实现让程序能接受用户输入答案,并判定对错,最后给出总共对/错的数量. 二.设计思想 接收用户输入的数,用if结构判断,对则继续,错则给出正解再继续. 有余数除法部分加入类型转换,以实现浮点型答案输出. 增加一个全局变量,对结果对错计数. 因要逐题输入答案,所以去掉分列显示. 三.代码 1 #include<iostream.h> 2 #include<stdlib.h> 3 #include<time.h> 4 5 static int i

二年级四则运算的扩展,可以指定题目数量,并可支持真分数的运算

新加的要求: 1.可指定题目数量: 2.支持真分数运算. 代码编写: #include<stdio.h>  #include<Windows.h>  #include<time.h>  void main()  {      int a, b, c, d,i,m,n;      float p, q;      srand(unsigned( time(NULL)));      for (i = 0; i < 30; i++)      {         a 

小学二年级三十道四则运算题目-扩展运算,添加指定题目数量和支持真分数运算

代码: #include<stdio.h>  #include<Windows.h>  #include<time.h>  void main()  {      int a, b, c, d,i,m,n;      float p, q;      srand(unsigned( time(NULL)));      for (i = 0; i < 30; i++)      {         a = rand() % 100;         b = ran

软件工程——四则运算3(C#)

一.设计思想 设计两个窗体,在第一个窗体中选择功能参数,在第二个窗体中显示所出题目. 二.源代码 Form1.cs: 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Window

云办公-为移动互联网而生的逐浪CMS2 X2.2发布啦

伴随2015新年的钟声,作为国内领无的WEB内核与云计算软件厂商,Zoomla!逐浪软件团队北京.上海.南昌三地团队齐心协力,发布史上功能最强.应用最便捷.使用体验最佳.更加进一步开放云计算与线上办公的新一代产品:Zoomla!逐浪CMS2 x2.2. Zoomla!逐浪CMS2 x2.2是整个CMS2产品线有史以来最重要也是最优秀的产品版本,我们自豪于领先业界于一年之初发布这个产品,更为不到一个月的时间两度更新感到荣耀,为中国站长和开发者服务,是逐浪软件的光荣使命. 这一个产品充体现了逐浪软件

NO.5章 入门(数学问题)

NO.5章 入门篇(3)--数学问题 1. 最大公约数 最小公倍数 1)最大公约数 (GCD) 2)最小公倍数 (LCM) 2. 分数四则运算 1)表示与化简 2)四则运算 3)输出 3. 素数 1)判断 2)获取 4. 质因子分解 5. 大整数运算 1)存储 2)四则运算 6. 扩展欧几里得算法 7. 组合数 原文地址:https://www.cnblogs.com/claremore/p/8823822.html

四则运算3(四则运算2程序的扩展)

题目:选一个方向,将四则运算2程序进行扩展: 方向:让程序能够接受用户输入的答案,并判定对错,最后输出做对题的数量: 思路:将每道题的正确结果保存在数组daan[]中,将用户给出的答案定义为result.当(result==daan[])时,输出“用户所给答案正确”,否则输出“答案错误,正确答案为daan[]” 具体程序代码为: 1 #include<iostream.h> 2 #include<stdlib.h>//使用随机函数 3 #include<time.h>/

四则运算扩展

using 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 第三次作业{ public partial class Form1 : Form { public static int Co