个人项目——二柱子程序升级版
更高要求的程序
一、程序要求
1、题目避免重复;
2、可定制(数量/打印方式);
3、可控制下列参数:
是否有乘除法;
是否有括号(最多可以支持十个数参与计算);
数值范围;
加减有无负数;
除法有无余数;
二、程序设计思想
1、在上次程序的基础之上添加要求;
2、使用时间做种子产生随机数,每次运行题目不重复;
3、在程序中输入题目数量,可随意更改;
4、添加参数,控制是否有乘除法,可任意选择;
5、添加参数,控制数值范围,可任意选择;
6、添加参数,控制减法有无负数,可任意选择;
7、添加参数,控制除法有无余数,可任意选择;
三、源程序
//李俏,2016.3.7 //随机生成四则运算 #include<iostream> #include<stdio.h> #include<stdlib.h> #include<time.h> using namespace std;int main() {int first,second,firstm,secondm;int sign,i,j;int num,chengchu,fushu,yushu,fanwei;cout<<"请输入题目数量:";cin>>num;if(num==0){exit(1);}cout<<"是否有乘除法?1.是,2.否:";cin>>chengchu;if(chengchu==1){cout<<"除法是否有余数?1.是,2.否:";cin>>yushu;}cout<<"减法是否有负数?1.是,2.否:";cin>>fushu;cout<<"请输入数值范围:";cin>>fanwei;srand((int)time(NULL)); //用时间做种子,每次产生随机数都不一样for(i=0;i<num;i++){j=rand()%2; //选择生成整数运算还是分数运算if(j==0) //选择整数 {first=rand()%(fanwei+1);second=rand()%(fanwei+1);if(chengchu==1){sign=rand()%4; }else{sign=rand()%2;}switch(sign){case 0: //整数加法cout<<first<<"+"<<second<<"="<<endl;break;case 1: //整数减法if(fushu==1){cout<<first<<"-"<<second<<"="<<endl;}else{if(first>second){cout<<first<<"-"<<second<<"="<<endl;}else{cout<<second<<"-"<<first<<"="<<endl;}}break;case 2: //整数乘法cout<<first<<"*"<<second<<"="<<endl;break; case 3: //整数除法if(yushu==1){if(second!=0){cout<<first<<"/"<<second<<"="<<endl;}else{i=i-1;}}else{if(second!=0&&(first%second==0)){cout<<first<<"/"<<second<<"="<<endl;}else{i=i-1;}}break;}}else //选择分数 {first=rand()%(fanwei+1); second=rand()%(fanwei+1);//分子firstm=rand()%(fanwei+1);secondm=rand()%(fanwei+1);//分母if(chengchu==1){sign=rand()%4;}else{sign=rand()%2;}switch(sign){case 0: //分数加法if(firstm!=0&&secondm!=0&&first<firstm&&second<secondm){cout<<first<<"/"<<firstm<<" + "<<second<<"/"<<secondm<<"="<<endl;}else{i=i-1;}break;case 1: //分数减法if(fushu==1){if(firstm!=0&&secondm!=0&&first<firstm&&second<secondm){cout<<first<<"/"<<firstm<<" - "<<second<<"/"<<secondm<<"="<<endl;}else{i=i-1;}}else{if(firstm!=0&&secondm!=0&&first<firstm&&second<secondm&&(first/firstm)>(second/secondm)){cout<<first<<"/"<<firstm<<" - "<<second<<"/"<<secondm<<"="<<endl;}else{i=i-1;}}break;case 2: //分数乘法if(firstm!=0&&secondm!=0&&first<firstm&&second<secondm){cout<<first<<"/"<<firstm<<" * "<<second<<"/"<<secondm<<"="<<endl;}else{i=i-1;}break;case 3: //分数除法if(firstm!=0&&secondm!=0&&first!=0&&second!=0&&first<firstm&&second<secondm){cout<<first<<"/"<<firstm<<" / "<<second<<"/"<<secondm<<"="<<endl;}else{i=i-1;}break;}}} return 0; }
四、结果截图
五、项目计划日志
周活动总结表
姓名:李俏 日期:2016年3月12日
日期 任务 | 听课 | 编写程序 | 阅读课本 | 准备考试 | 日总计 | ||
周一 |
120 | 60 | 30 | 210 | |||
周二 |
30 | 30 | |||||
周三 |
30 | 30 | |||||
周四 |
120 | 60 | 30 | 210 | |||
周五 |
30 | 30 | |||||
周六 |
180 | 30 | 210 | ||||
周总结 |
240 | 300 |
180 |
720 |
阶段时间和效率 周数:1
不包括上一周在内的累计时间
总计 |
240 |
300 |
180 |
720 |
|||
平均 |
240 |
300 |
180 |
720 |
|||
最大 |
240 |
300 |
180 |
720 |
|||
最小 |
240 |
300 |
180 |
720 |
以前各周的累计时间
总计 |
|||||||
平均 |
|||||||
最大 |
|||||||
最小 |
六、时间记录表:
学生: 李 俏 日期 :2016年3月12日
教师: 王建民 课程 :软件工程
日期 |
开始时间 |
结束时间 |
中断时间 |
净时间 |
活动 |
备注 |
3.7 |
16:30 |
17:30 |
无 |
60 |
编写程序 |
作业 |
20:00 |
20:30 |
无 |
30 |
阅读 |
作业 |
|
3.8 |
20:10 |
20:40 |
无 |
30 |
阅读 |
作业 |
3.9 |
20:00 |
20:40 |
10min |
30 |
wc |
|
3.10 |
18:50 |
19:50 |
无 |
60 |
编写程序 |
作业 |
20:00 |
20:30 |
无 |
30 |
阅读 |
作业 |
|
3.11 |
21:10 |
21:40 |
无 |
30 |
阅读 |
作业 |
3.12 |
11:00 |
14:30 |
30min |
180 |
编写程序 |
作业 |
七、缺陷记录日志:
学生 李俏
日期 2016年3月12日
教员 王建民
程序号
日期 |
编号 |
类型 |
引入阶段 |
排除阶段 |
修复时间 |
修复缺陷 |
|||||
3.7 |
1 |
20 |
编码 |
编译 |
5min |
||||||
描述:初次添加参数控制,控制语句放置错误 |
|||||||||||
3.10 |
2 |
20 |
编码 |
编译 |
10min |
||||||
描述:if...else...语句没有加大括号,导致层次不分明 |
|||||||||||
3.12 |
3 |
40 |
运行 |
运行后 |
10min |
||||||
描述:错删break,题目数目不对 |
|||||||||||
3.15 |
4 |
A |
编译 |
编译 |
1min |
||||||
描述:条件不成立时, 写成i=i+1,应该是i=i-i |
转载于:https://www.cnblogs.com/Aliqiao/p/5266299.html
个人项目——二柱子程序升级版相关推荐
- RIGHT-BICEP单元测试——“二柱子四则运算升级版”
RIGHT-BICEP单元测试 --"二柱子四则运算升级版" "单元测试"这对于我们来说是一个全新的专业含义,在上了软件工程这门课,并当堂编写了简单的" ...
- 个人项目——二柱子的生成小学生四则运算题程序
二柱子的生成小学生四则运算题程序 一.程序要求 1.自动生成30道小学生四则运算题 2.除了整数外,还要可以生成真分数的四则运算 二.程序设计思想 程序分两个部分:整数部分和分数部分 1.定义变量:第 ...
- 结对项目——二柱子再更新版
更高更高要求的四则运算 一.程序要求 1.学生写的程序必须能够判定用户的输入答案是否正确: 2.程序必须能处理四种运算的混合算式: 3.在上次程序的基础上,添加新的功能: 二.程序设计思想 1.在上次 ...
- 项目总监批评程序员穿大裤衩上班情商低!程序员一气之下要离职!项目已到一半了,总监着急发帖求助!...
项目总监批评程序员穿大裤衩上班太随意,程序员反驳说是成都下暴雨了,总监恼羞成怒指责程序员情商太低,结果人家要离职!总监懵逼了,项目到一半了,这可咋整呢? 程序员友军纷纷出来打卡,站队程序员,说是大裤衩 ...
- 表决器c语言课程设计,项目二:玩转RGB点阵屏——表情表决器
项目二:玩转RGB点阵屏--表情表决器项目二:玩转RGB点阵屏--表情表决器(建议2课时) [情境导入] 图2.1 医护人员"逆行"湖北 是她们不畏生死驰援湖北,为中国抗疫带来胜利 ...
- python项目二:多种验证码及二维码输出
python项目二:多种验证码及二维码输出 ` import os import qrcode import random import time import tkinter from pystri ...
- java小项目家庭记账程序
文章目录 java小项目家庭记账程序 **1.项目目标:** 2.项目需求: 3.具体思路: 4.具体代码: 1.页面: 2.Option_1类: 3.Option_2类: 4.Option_3类: ...
- idea 启动SpringBoot项目出现java程序包:xxx不存在
启动SpringBoot项目出现java程序包:xxx不存在,然而这个包确实存在 方法一:使用Maven构建项目,构建过程比较慢 指定位置打上对勾,即可 2.方法二:清除idea缓存,重新构建索引,此 ...
- 信创操作系统--麒麟Kylin桌面版 (项目二 桌面环境)
信创操作系统–麒麟Kylin桌面版 (项目二 桌面环境) 目录 桌面布局 新建文件夹/文档 设置排序方式 调整图标 设置显示器 壁纸与屏保 剪贴板 任务栏 回收站 开始菜单 开始菜单模式 应用管理 窗 ...
最新文章
- 你想要的宏基因组-微生物组知识全在这(190101)
- python编程 语言-Python——最美丽的编程语言
- pcl中set程序_PCL中分割方法的介绍(3)
- hadoop Idea Win本地运行
- 卸载python的正确姿势
- java五层架构_Web五层架构
- 送给年轻人创业的经典好文章
- php7.4报错:Trying to access array offset on value of type null
- 赋值运算符、逻辑运算符、表达式
- 计算机二级c语言编程题库100题下载,计算机二级C语言编程题库100题.doc
- 最新毕业设计参考文献大全
- 腾达路由器怎么设置网站服务服务器,腾达(Tenda)-无线路由器如何设置上网?
- 【论文笔记】知识图谱推理PRA——Relational retrieval using a combination of path-constrained random walks
- 机器学习入门-西瓜书总结笔记第十六章
- AWS KVS(Kinesis Video Streams)之WebRTC集成过程报错问题整理(七)
- 18.3.7给小可爱们的(NBUOJ)
- vue+cesium汉化包
- 续.第一次冲刺之后.
- 傻瓜式IOS发布教程(一)iTunes Connect创建应用以及内购
- 烤仔创作者联盟 | 咱就是说,我们社区的DAO组织发展历程
热门文章
- 主流RGB灯,灯带通用C语言程序
- 计算机文件右击怎么显示打开方式,电脑右键菜单中没有打开方式怎么办|电脑恢复打开方式选项到右键菜单中的方法...
- 直方图均衡化背后的数学
- click和touchmove vue_移动端touch事件影响click事件以及在touchmove添加preventDefault导致页面无法滚动的解决方法...
- Mathematica实例——利用Mathematica演示量子力学中的波包演化
- Reducing Fractions
- 商务谈判中如何表示同意Agreement
- 云开发mbti人格类型测试助手微信小程序源码
- idea 项目能运行,但是代码冒红-解决措施
- 穆利堂(推荐)WxOA房地产协同办公整体解决方案-河南郑州房地产OA协同办公系统软件 穆穆-movno1