四则运算三+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分) 实现新课程添加的功能. 要求判断任课教师为王建民.刘立嘉.刘丹.王辉.杨 ...
随机推荐
- 用绝对路径引用JS、CSS
项目中,最好使用绝对路径引用JS和CSS文件,详情如下: 1.vm文件中: <link rel="stylesheet" href="$!{request.cont ...
- C# 常用小技巧
int? id 表示id是可以为null的整型 跟Nullable<int> id 是一样的 id ?? 1等于 id==null?1:id;
- 仿AS语法来写HTML5—第1章,显示一张图片
最近开始学习html5,因为一直都是研究as,所以还是觉得as顺眼一点,但是html5也不能不学,于是就想出了,可以把html5用as的语法来写出来,做游戏应该来的比较顺手一些,下面开始第一篇 第一篇 ...
- Windows Phone 开发起步之旅之一 平台环境的搭建
最近大家都在写博客园的技术文章,按耐不住了,也把自己平时学习中遇到和学习到的一些东西写出来,供大家分享也好,自己留个纪念也好,有个可以查看的东西. 言归正传,随着微软对Windows Phone的投入 ...
- 《深入剖析Tomcat》读书笔记(一)
一.Tomcat Tomcat,全名Apache Tomcat,最初是由Sun发起,后来捐赠给ASF,是Apache Jakarta下的一个子项目.Tomcat是对Servlet API定义的容器的一 ...
- sqlite mvc分页
<tr class="tr1"> <td> 共<asp:Literal r ...
- SMTP sendMail 失败解决办法
If you are seeing messages like this in your message log when running a process through the process ...
- ViewGroup 和 View 事件传递及处理小谈
前言 在自定义组件的时候少不了会去处理一些事件相关的东西,关于事件这块网上有很多文章,有说的对的也有说的不对的,我在理解的时候也有过一段时间的迷惑,现在把自己理解的东西写下来,给有相同疑问的朋友提供些 ...
- eMarketer:DMP帮广告主搞定大数据处理问题
DMP(数据管理平台)帮助广告主获得可行动的洞察 在数字广告领域,大数据和数据管理平台(DPMs)仍大有可为.DMPs让广告主可以使用他们的大数据来做出更灵活更有效的营销决策. 数据管理和分析是业界挑 ...
- linux下关于mysqldump备份的.sql导入数据库表数据丢失优化
直切正题 前2个随笔做了linux下自动备份,但是备份的.sql文件发现表数据丢失,原因是数据库太大我的数据库文件是804M,在用ftp拉去也会丢失数据 所以对db.sh备份数据库加一个压缩gizp ...