一、题目

 在四则运算二的基础上,选择一个方向进行拓展,我选择的是增加了答题模块

二、设计思路

  • 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级表格的更多相关文章

  1. 四则运算2+psp0级表格

    四则运算2 一.题目和要求 题目:写一个能自动生成小学四则运算题目的程序,要求一次输出不少于30道,只能是整数100以内的四则运算(四则运算1升级版) 要求: 1.题目避免重复 2.可定制(数量/打印 ...

  2. 撰写一篇博客要求讲述四则运算2的设计思想,源程序代码、运行结果截图、编程总结分析,并按照PSP0级的要求记录开发过程中的时间记录日志。

    一.撰写一篇博客要求讲述四则运算2的设计思想,源程序代码.运行结果截图.编程总结分析,并按照PSP0级的要求记录开发过程中的时间记录日志. 1.设计思想: ①创建test.jsp建立第一个前端界面,提 ...

  3. Word中设置三栏式表格

    一般期刊要求三栏式表格,我原来是选中表格,用橡皮差擦去不必要的线,但是今天发现只能查去横线,竖线一插曲格式就乱了,我想起了上图,不选“内部竖框线”就好了.

  4. 实验三 HTML表格和表单的制作

    实验三 HTML表格和表单的制作 [实验目的] 1.掌握表格的创建.结构调整与美化方法: 2.熟悉表格与单元格的主要属性及其设置方法: 3.掌握通过表格来进行网页页面的布局方法. [实验环境] 连接互 ...

  5. PSP0级 周活动总结表+时间记录日志+缺陷记录日志 表格模板

    一.项目计划总结: 周活动总结表 姓名:               日期: 日期\任务 听课 编写程序 阅读课本 准备考试     日总计 周日               周一           ...

  6. 第三天--html表格

    <!Doctype html><html>    <head>        <meta charset="UTF-8">      ...

  7. 用FlexGrid做开发,轻松处理百万级表格数据

    表格数据处理是我们项目开发中经常会遇到的设计需求之一,所需处理的数据量也较大,通常是万级.甚至百万级.此时,完全依赖平台自带的表格工具,往往无法加载如此大的数据量,或者加载得很慢影响程序执行. 那么, ...

  8. 触发器三(行级DML触发器)(学习笔记)

    行级DML触发器 每当一条记录出现更新操作时进行触发操作定义时要定义FOR EACH ROW 使用":old.字段"和":new.字段"标识符 No. 触发语句 ...

  9. 第一个PSP0级

    1.计划: 需求描述: 按照图片要求设计添加新课程界面.(0.5分) 在后台数据库中建立相应的表结构存储课程信息.(0.5分) 实现新课程添加的功能. 要求判断任课教师为王建民.刘立嘉.刘丹.王辉.杨 ...

随机推荐

  1. undefined reference to `pthread_create'问题解决

    在编译pthread有关的程序时,出现undefined reference to `pthread_create'这样的错误. 问题原因: pthread 库不是 Linux 系统默认的库,连接时需 ...

  2. Android IOS WebRTC 音视频开发总结(四三)-- 诚信交易案例分享

    本文主要记录一些诚信交易的案例(两个陌生人之间没有合同,没有订金,没有讨价还价,完全靠诚信完成的交易), 特别纪录下来并不是因为金额有多高,而是因为在现在这种社会要完成这样的交易太难,特别是像咨询这种 ...

  3. 破解Demo

    需要破解的程序界面如下: 需要破解的程序的主要代码如下: void CEasyCrackMeDlg::OnBnClickedButtonOk() { // TODO: 在此添加控件通知处理程序代码 T ...

  4. [原]Python 简单异常处理

    s=raw_input("Input your age:") if s =="": raise Exception("Input must no be ...

  5. (转)浅谈HTML5与css3画饼图!

    神马系饼图? 饼图,大家都应该熟知,在统计数据对比方面,几乎处处用到.如cnzz的统计饼图 从饼图中,很形象地展示了访问者地区的分布,以扇形为块的方式拼成一个大圆. 都使用什么方法实现 目前众多站点制 ...

  6. delphi常用函数过程

    数据类型转化 1.1.         数值和字符串转化 Procedure Str(X [: Width [ : Decimals ]]; var S); 将数值X按照一定格式转化成字符串S.Wid ...

  7. PHP搜索MYSQL数据库加分页浏览小结

    PHP搜索加分页浏览小结: 1 分页后再做搜索 2 这里对于url的拼接,以及模糊查询,搜索时候的显示添加,SQL语句的拼接 3 对于页面传递过来的超级链接的变量,如果不存在就要设置,对于可能抛出异常 ...

  8. 包(package) 与 导入(import) 语句剖析

    A) 包(package):用于将完成不同功能的类分门别类,放在不同的目录下. B)命名规则:将公司域名翻转作为包名.例如www.vmaxtam.com域名,那么包名就是com.vmaxtam 每个字 ...

  9. EMVTag系列5《8E 持卡人验证方法(CVM)列表》

    L: var. up to 252 -R(需求):数据必须存在,在读应用数据过程中,终端不检查 按照优先顺序列出卡片应用支持的所有持卡人验证方法 注:一个应用中可以有多个CVM列表,例如一个用于国内交 ...

  10. hdu 4027 Can you answer these queries?

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=4027 Can you answer these queries? Description Proble ...