四则运算三+psp0级表格
一、题目
在四则运算二的基础上,选择一个方向进行拓展,我选择的是增加了答题模块
二、设计思路
- 1、在上次的基础上,增加了答题模块,每出现一道四则运算题目,便提醒输入结果,如果结果错误,就会提示错误
- 2、生成的是一百以内的数的四则运算,对上次的题目中可以进行范围确定的功能进行了缩减,符合小学生四则运算题目
- 3、仍然可以选择是否结果可以出现正负数,但是对除法进行了修改,直接不允许不能整除的数据出现,因为不能整除的数据出现后,用户在输入结果时,可能不能判断错误
- 4、通过count计数确定做对多少题目,并计算正确率,保留两位小数
三、程序源代码
// sizeyunsuan.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include"time.h"
#include "iomanip"
#include"iostream"
#include"String"
using namespace std;
/*确定运算符*/
char suanfu(int n)
{
switch(n)
{
:
return '+';
:
return '-';
:
return '*';
:
return '/';
}
}
/*结果判断函数*/
int judge(float jsjg,float sjjg,int count)
{
while(!(cin>>jsjg))
{
cout<<"输入错误,请重新输入:";
cin.clear();
cin.sync();
}
if(sjjg==jsjg) //检查用户输入的答案
{
count++;
}
else
{
cout<<"错误"<<endl;
}
return count;
}
/*运算调整函数*/
int yunsuan(int num1,int num2,int count,string s,string l)
{
int temp;
;
;
;
num1=rand()%;
num2=rand()%;
if(s=="Y"||s=="y")
{
operators=rand()%;
}
else
{
operators=rand()%;
}
) //避免结果出现负数
{
if(l=="N"||l=="n")
{
if(num1<num2)
{
temp=num2;
num2=num1;
num1=temp;
}
}
}
) //为了避免除不尽的情况,使除法运算调整为都能整除的。
{
num1=num2*(rand()%);
}
switch(operators) //自动计算出正确的答案,便于检查用户输入的对错
{
:
sjjg=num1+num2;
break;
:
sjjg=num1-num2;
break;
:
sjjg=num1*num2;
break;
:
sjjg=num1/num2;
}
cout<<num1<<suanfu(operators)<<num2<<"=";
count=judge(jsjg,sjjg,count);
return count;
}
/*主函数*/
int main()
{
;
;
;
string plus,add;
string judge;
int m;
cout<<"请输入题目数量:";
while(!(cin>>m))
{
cout<<"输入错误,请重新输入:";
cin.clear();
cin.sync();
}
cout<<endl;
cout<<"是否有乘除法:";
cin>>plus;
cout<<endl;
while(plus!="Y"&&plus!="y"&&plus!="N"&&plus!="n")
{
cout<<"输入错误,请重新输入(Y/N):";
cin>>plus;
cout<<endl;
}
cout<<"是否加减出现负数:";
cin>>add;
while(add!="Y"&&add!="y"&&add!="N"&&add!="n")
{
cout<<"输入错误,请重新输入(Y/N):";
cin>>add;
cout<<endl;
}
cout<<endl;
cout<<"例子:13+15=28"<<endl;
cout<<endl;
srand((unsigned)time(NULL));
;i<m;i++)
{
cout<<i+<<"、";
count=yunsuan(num1,num2,count,plus,add);
}
cout<<endl;
cout<<"正确:"<<count<<endl;
cout<<endl;
cout<<"错误:"<<m-count<<endl;
cout<<endl;
cout<<)<<<<"%"<<endl; //输出统计的数据
cout<<endl;
cout<<"是否继续(Y/N)";
cin>>judge;
cout<<endl;
while(judge!="Y"&&judge!="y"&&judge!="N"&&judge!="n")
{
cout<<"输入错误,请重新输入(Y/N):";
cin>>judge;
cout<<endl;
}
if(judge=="Y"||judge=="y")
{
main();
}
else
{
;
}
}
四、程序运行结果



五、实验结果分析
四则运算的作业已经做了三次,每次的题目都有一些拓展和改进,我所认识到的并不是说程序实现的怎么样,而是程序从开始到结束,是一个不断完善和改进的过程,每一次的拓展,实际上是对以前不足之处的改进,使之更加符合我们的需要,从程序到软件,都要经历开始,分析,实现,完善,改进,测试等方面。要做的不仅仅是把结果运行出来,而是要注重过程和思路
六、psp0级表格
项目计划总结:
周活动总结表
姓名:张世通 日期:3/21
|
日期 任务 |
听课 |
编写程序 |
阅读课本 |
准备考试 |
日总计 |
||
|
周日 |
|||||||
|
周一 |
60 |
60 |
|||||
|
周二 |
100 |
100 |
|||||
|
周三 |
120 |
120 |
|||||
|
周四 |
60 |
60 |
|||||
|
周五 |
100 |
100 |
|||||
|
周六 |
120 |
120 |
|||||
|
周总结 |
200 |
240 |
120 |
560 |
阶段时间和效率 周数(上一次周活动表的周数+1):2
不包括上一周在内的累计时间
|
总计 |
200 |
240 |
120 |
560 |
|||
|
平均 |
200 |
240 |
120 |
560 |
|||
|
最大 |
200 |
240 |
120 |
560 |
|||
|
最小 |
200 |
240 |
120 |
560 |
以前各周的累计时间
|
总计 |
200 |
160 |
70 |
430 |
|||
|
平均 |
200 |
160 |
70 |
430 |
|||
|
最大 |
200 |
160 |
70 |
430 |
|||
|
最小 |
200 |
160 |
70 |
430 |
时间记录表:
学生 张世通 日期 3/21
教师 王建民 课程 PSP
|
日期 |
开始时间 |
结束时间 |
中断时间 |
净时间 |
活动 |
备注 |
|
3.18 |
19:25 |
21:25 |
120 |
课堂作业求最大子数组的和 |
||
|
3.21 |
08:30 |
10:30 |
120 |
课堂作业四则运算 |
| 三、缺陷记录日志: | ||||||
| 学生 张世通 | ||||||
| 日期 2015年3月14日 | ||||||
| 教员 王建民 | ||||||
| 程序号 01 | ||||||
| 日期 | 编号 | 类型 | 引入阶段 | 排除阶段 | 修复时间 | 修复缺陷 |
| 3.18 | 1 | 3 | 编码 | 编码 | 10min | |
| 描述:定义动态数组出错,int *father=new int[length] | ||||||
| 3.18 | 2 | 4 | 编码 | 调试 | 5min | |
| 描述:使用了sizeof(father),没有意识到sizeof(参数)参数应该是数据类型,而不是指针,求长度出错 | ||||||
| 3.21 | 3 | 3 | 编码 | 调试 | 20min | |
| 描述:参数传递问题,主函数定义的参数在调用函数中没有正确返回 | ||||||
四则运算三+psp0级表格的更多相关文章
- 四则运算2+psp0级表格
四则运算2 一.题目和要求 题目:写一个能自动生成小学四则运算题目的程序,要求一次输出不少于30道,只能是整数100以内的四则运算(四则运算1升级版) 要求: 1.题目避免重复 2.可定制(数量/打印 ...
- 撰写一篇博客要求讲述四则运算2的设计思想,源程序代码、运行结果截图、编程总结分析,并按照PSP0级的要求记录开发过程中的时间记录日志。
一.撰写一篇博客要求讲述四则运算2的设计思想,源程序代码.运行结果截图.编程总结分析,并按照PSP0级的要求记录开发过程中的时间记录日志. 1.设计思想: ①创建test.jsp建立第一个前端界面,提 ...
- Word中设置三栏式表格
一般期刊要求三栏式表格,我原来是选中表格,用橡皮差擦去不必要的线,但是今天发现只能查去横线,竖线一插曲格式就乱了,我想起了上图,不选“内部竖框线”就好了.
- 实验三 HTML表格和表单的制作
实验三 HTML表格和表单的制作 [实验目的] 1.掌握表格的创建.结构调整与美化方法: 2.熟悉表格与单元格的主要属性及其设置方法: 3.掌握通过表格来进行网页页面的布局方法. [实验环境] 连接互 ...
- PSP0级 周活动总结表+时间记录日志+缺陷记录日志 表格模板
一.项目计划总结: 周活动总结表 姓名: 日期: 日期\任务 听课 编写程序 阅读课本 准备考试 日总计 周日 周一 ...
- 第三天--html表格
<!Doctype html><html> <head> <meta charset="UTF-8"> ...
- 用FlexGrid做开发,轻松处理百万级表格数据
表格数据处理是我们项目开发中经常会遇到的设计需求之一,所需处理的数据量也较大,通常是万级.甚至百万级.此时,完全依赖平台自带的表格工具,往往无法加载如此大的数据量,或者加载得很慢影响程序执行. 那么, ...
- 触发器三(行级DML触发器)(学习笔记)
行级DML触发器 每当一条记录出现更新操作时进行触发操作定义时要定义FOR EACH ROW 使用":old.字段"和":new.字段"标识符 No. 触发语句 ...
- 第一个PSP0级
1.计划: 需求描述: 按照图片要求设计添加新课程界面.(0.5分) 在后台数据库中建立相应的表结构存储课程信息.(0.5分) 实现新课程添加的功能. 要求判断任课教师为王建民.刘立嘉.刘丹.王辉.杨 ...
随机推荐
- SQL笔记-第一章,数据库入门
DBMS的分类DB2.Oracle.Microsoft SQL Server.Sybase SQLServer.Informix.MySQL数据库的结构元素库 database表 table列 col ...
- MallBuilder 多用户商城管理系统 v5.8.1.1
MallBuilder是一款基于PHP+MYSQL的多用户网上商城解决方案.利用MallBuilder可以快速建立一个功能强大的类似京东商城.天猫商城.1号店商城的网上商城,或企业.行业化.本地化和垂 ...
- html5 canvas画板
点击查看演示地址 <!DOCTYPE HTML> <html> <title>HTML5-CanvasDrawDemo</title> <meta ...
- DBLINK 创建与小结
1.DBLINK 的作用 当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数 ...
- Permission Lists Assigned to a User
SQL that I find useful in many occasions. It will return a list of permissions that are assigned to ...
- php分页代码实例
$result = "<div class=\"page-num\"><ul class=\"fn-clear\">" ...
- jQuery打造用户注册时获取焦点文本框出现提示jquery表单特效
jQuery打造用户注册时获取焦点文本框出现提示效果的jquery表单特效 当获取焦点时,会分别的弹出相应的信息提示框,失去焦点就会隐藏提示信息. 效果兼容性很高,适用浏览器:IE6.IE7.IE8. ...
- SLF4J日志门面
SLF4J官网:http://www.slf4j.org/ SLF4J的作用通俗点讲,就是可以让我们的项目以最小的代价更换不同的日志系统.无需修改代码,只需要添加.删除相应的jar包和配置文件. 1. ...
- Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
问题提示:Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace. ...
- [转]给C++初学者的50个忠告
1.把C++当成一门新的语言学习(和C没啥关系!真的.): 2.看<Thinking In C++>,不要看<C++变成死相>: 3.看<The C++ Prog ...