四则运算2扩展---c++
题目:让程序能接受用户输入答案,并判定对错。最后给出总共对/错 的数量。
一、设计思想
1.存储用户输入答案,与正确答案比较得出总共对错数量。
二、源程序代码
#include<iostream.h>
#include<stdlib.h>
#include "time.h"
#include<stdio.h>
int main ()
{
int a,b,c,f,j,i,t,num,l,jj,cc,fw;//i,j,t是计数变量,a,b是运算数。
int r=;//正确数目。
int e=;//错误数目。
char daan;
cout<<"-----------------四则运算题----------------------"<<endl;
cout<<endl;
srand( (unsigned)time( NULL ) );//随机数种子为当前计算机时间。
cout<<"*************请填写题目要求:********************"<<endl;
cout<<"* *"<<endl;
cout<<"* 1.请输入要生成题目数num: *"<<endl;//选择题目数量。
cout<<"* 2.请输入打印方式(列数l、行间距jj): *"<<endl;//选择打印方式。
cout<<"* 3.请选择有无乘除法cc(1代表有或0代表无): *"<<endl;//有无乘除法。
cout<<"* 4.请选择数的范围fw(fw是指该范围内最大的数): *"<<endl;//选择数的范围。
cout<<"* 5.请选择除法有无余数c(1代表有或0代表无): *"<<endl;//选择除法有无余数。
cout<<"* 6.请选择加减有无负数f(1代表有或0代表无): *"<<endl;//选择加减有无负数。
cout<<"* *"<<endl;
cout<<"*************************************************"<<endl;
cout<<"请输入要生成题目数num:"<<endl;
cin>>num;
int a1[];//存储用户输入答案。
int b1[];//正确答案。
if(num<)
{
cout<<"错了! 亲! 题目数量不能小于0,请重输:";
cin>>num;
}
cout<<"请输入打印方式 (列数l):"<<endl;
cin>>l;
if(l<=)
{
cout<<"错了! 亲! 列数不能小于等于0,请重输:";
cin>>l;
}
cout<<"请输入打印方式 (行间距jj):"<<endl;
cin>>jj;
if(jj<=)
{
cout<<"错了! 亲! 行间距不能小于等于0,请重输:";
cin>>jj;
}
cout<<"请选择有无乘除法cc(1代表有或0代表无): "<<endl;
cin>>cc;
if(cc!=&&cc!=)
{
cout<<"错了! 亲! 请重输:";
cin>>cc;
}
cout<<"请选择数的范围fw(fw是指该范围内最大的数):"<<endl;
cin>>fw;
cout<<"请选择除法有无余数c(1代表有或0代表无):"<<endl;
cin>>c;
if(c!=&&c!=)
{
cout<<"错了! 亲! 请重输:";
cin>>c;
}
cout<<"请选择加减有无负数f(1代表有或0代表无):"<<endl;
cin>>f;
if(f!=&&f!=)
{
cout<<"错了! 亲! 请重输:";
cin>>f;
}
cout<<endl;
if(cc==)
cc=cc+;
else
cc=cc+;
for(j=;j<num;j++)
{
//产生随机数。
a=rand()%fw;
b=rand()%fw+;//保证除数不为0。
i=rand()%cc;
cout<<"<"<<j+<<">: ";
switch(i)
{
case :
cout<<a<<"+"<<b<<"=";
b1[j]=a+b;
break;
case :
if(f==&&a<=b)
{
cout<<b<<"-"<<a<<"=";
b1[j]=b-a;
}
else
{
cout<<a<<"-"<<b<<"=";
b1[j]=a-b;
}
break;
case :
cout<<a<<"*"<<b<<"=";
b1[j]=a*b;
break;
case :
if(a%b!=&&c==)
{
cout<<a-a%b<<"/"<<b<<"=";
b1[j]=(a-a%b)/b;
}
else
{
cout<<a<<"/"<<b<<"=";
b1[j]=a/b;
}
break;
}
cin>>a1[j];
if(j%l==l-)
{
for(t=;t<jj;t++)
cout<<endl;
}
}
cout<<endl;
for(j=;j<num;j++)
{
if(b1[j]==a1[j])
r++;
else
e++;
}
cout<<"恭喜你做对了"<<r<<"道题目"<<endl;
cout<<"是否输出正确答案:(Y/N)";
cin>>daan;
if(daan=='Y')
for(j=;j<num;j++)
{
cout<<"<"<<j+<<">: "<<b1[j]<<endl;
} return ;
}
三、运行截图


四、实验心得
以前写代码不注意添加{}导致修改错误
如:
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  | 
 逻辑错误  | 
|
四则运算2扩展---c++的更多相关文章
- 软件工程——四则运算3(C#)
		
一.设计思想 设计两个窗体,在第一个窗体中选择功能参数,在第二个窗体中显示所出题目. 二.源代码 Form1.cs: using System; using System.Collections.Ge ...
 - 多项式总结(unfinished)
		
试试以二级标题为主的格式. 多项式相关 注:本篇博客不包含\(FFT\)基础姿势.如果您想要阅读本篇博客,请确保自己对\(FFT,NTT\)有基本的认识并且能够独立写出代码. 多项式是什么? 左转数学 ...
 - 介绍一款原创的四则运算算式生成器:CalculateIt2
		
家里小朋友读一年级了,最近每天都有一些10以内的加减法口算练习,作为程序员爸爸,自然也是想办法能够偷懒,让电脑出题,给小朋友做些练习.于是,自己在业余时间开发了一个四则运算算式生成器,名为:Calcu ...
 - 一种高效的 vector 四则运算处理方法
		
实现 vector 的四则运算 这里假设 vector 的运算定义为对操作数 vector 中相同位置的元素进行运算,最后得到一个新的 vector.具体来说就是,假如 vector<int&g ...
 - 四则运算 Day3
		
总结篇 一开始看到自己的成绩是接近及格线的时候,我的内心是崩溃的,就差辣么一点点..但是感谢老师给了这么一个补交作业的机会.在参考博客园相关四则运算题目后,做了一个适用小学一二年级使用的简单的四则运算 ...
 - C++四则运算出题器---有答案版
		
一.实验题目 四则运算扩展----能接受答案并判断对错然后给出成绩. 二.实验思路 在每次输出算式后面输入答案,然后判断对错,对则统计. 稍微优化了一下界面. 三.代码 // 12345.cpp : ...
 - 结对编程1-基于GUI的四则运算生成器
		
201421123016郑怀勇 201421123017康建灿 程序代码 / 康建灿 一.需求分析 记录用户的对错总数. 程序退出再启动的时候,能把以前的对错数量保存并在此基础上增量计算. 有 ...
 - 菜鸟学IT之四则运算升级版
		
菜鸟学IT之四则运算升级版 本次作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2213 团队代码github远程仓库的 ...
 - 20175226 2018-2019-2《java程序设计》结对编程-四则运算(第二周-阶段总结)
		
需求分析(描述自己对需求的理解,以及后续扩展的可能性) 实现一个命令行程序,要求: 自动生成小学四则运算题目(加,减,乘,除) 支持整数 支持多运算符(比如生成包含100个运算符的题目) 支持真分数 ...
 
随机推荐
- oracle split
			
select * from table(fun_strsplit('1,2,3,4,5')); 1.创建一个类型 ) 2.创建函数 CREATE OR REPLACE FUNCTION Fun_Str ...
 - React 初探
			
React 简单介绍 先说 React 与 React Native 他们是真的亲戚,可不像 Java 和 Javascript 一样. 其实第一次看到 React 的语法我是拒绝的,因为这么丑的写法 ...
 - VS2012环境设置
			
一 先安装水晶报表 开发者和用户两种 YKCW6-BPFPF-BT8C9-7DCTH-QXGWC 保证完美激活!!! 激活码 一般网上的VS版本是使用版 要安装正版才能体验全部功能
 - OpenFileDialog使用方法
			
OpenFileDialog基本属性 AddExtension 控制是否将扩展名自动添加到文件名上 CheckFileExists 指示用户指定不存在的文件时是否显示警告 CheckPathExist ...
 - Cassandra 备份 - 1 - 节点镜像恢复
			
之前比较关注如何使用Cassandra,但是真正想大规模使用前提还是需要搞清楚备份机制,确保数据安全. 本文主要内容来自文档 "Cassandra2.2"的翻译.最后部分为真实操作 ...
 - Php中正则小结(一)
			
一.概念 语法模式类似perl.表达式必须用分隔符闭合,比如一个正斜杠(/). 分隔符可以是任意非字母非数字,除反斜杠(\)和空字节之外的非空白ascii字符 如果分隔符 在表达式中使用,需要使用反斜 ...
 - C++primer 阅读点滴记录(三)
			
14章 操作符重载和转换 重载操作符是具有特殊名称的函数:保留字operator后接需要定义的操作符符号. 1.重载的操作符名: + – * / % ^ & | ~ ! , = < & ...
 - 倒水问题 (codevs 1226) 题解
			
[问题描述] 有两个无刻度标志的水壶,分别可装x升和y升 ( x,y 为整数且均不大于100)的水.设另有一水缸,可用来向水壶灌水或接从水壶中倒出的水, 两水壶间,水也可以相互倾倒.已知x升壶为空壶, ...
 - DevExpress 关于 GridView 表格编辑中 点击其他按钮里导致 值未取到处理
			
只需要给添加以下代码 在执行其他按钮前调 用一下 就可以了:主要是用来关闭编辑以及更新当前行编辑内容 this.gridControl1.FocusedView.CloseEditor(); this ...
 - ok6410的DMA裸机总结
			
1.为何使用DMA:为了提高CPU的工作效率,避免多余的等待时间 2.关于DMA控制器:(1)通道数:2440有4个通道,6410有4个DMA控制器(初始化的时候要选择),32个通道.210有两种DM ...