小学的四则运算(输入结果)
一、 特别正经的四则运算结对作业简介!——驾驶司机一枚 ~~
1.题目要求:
本次作业要求两个人合作完成,驾驶员和导航员角色自定,鼓励大家在工作期间角色随时互换
我们在刚开始上课的时候介绍过一个小学四则运算自动生成程序的例子,请实现它,要求:
(1)能够自动生成四则运算练习题
(2)可以定制题目数量
(3)用户可以选择运算符
(4)用户设置最大数(如十以内、百以内等)
(5)用户选择是否有括号、是否有小数
(6)用户选择输出方式(如输出到文件、打印机等)
(7)最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主)
因为我们俩的编程能力都不是很强,而且现学的话时间比较短,就直接忽视图形用户界面什么的了
什么都不说了 先给自己立一个flag!如果可以的话,以后可能会补一下的
2.驾驶员和领航员的职责:
♂“滴滴滴”——驾驶员:
能够完成全部代码工作,程序基本实现全部要求功能,并将代码上传至coding.net或者GitHub代码托管系统中(15分)
能够对导航员在本次编程工作中起到的作用给出客观评价,并完成500字以上的总结(5分)
♂“让一让啊让一让”——领航员:
能够辅助驾驶员完成全部代码工作,并且为关键函数选用合适的覆盖标准设计测试用例,并编写代码进行单元自动测试(10分)
能够根据上次作业的代码检查表对驾驶员的本次工作进行评价(5分)
能够对本次工作完成500字以上的总结(5分)
二、 特别正经的四则运算代码详解!——略略略 ~~
1.放在前面的所谓main函数
main()
{int x=30,y=6;char choice;srand( (unsigned)time( NULL ) );while(1){system("cls");printf("****************************************************************************************************************************************************************");gotoxy(x,y);puts("1.加法练习.");gotoxy(x,y+1);puts("2.减法练习.");gotoxy(x,y+2);puts("3.乘法练习.");gotoxy(x,y+3);puts("4.除法练习.");gotoxy(x,y+4);puts("5.混合运算.");gotoxy(x,y+5);puts("6.退出.");gotoxy(x,y+7);puts("请选择想要的运算方式...");choice=getch();printf("****************************************************************************************************************************************************************");puts("请设置练习的最大数:");scanf("%d",&Max);printf("****************************************************************************************************************************************************************");puts("请输入题目数量:");scanf("%d",&Number);switch(choice){void add();void subt();void mult();void divid();void huenhe();case '1':add();break;case '2':subt();break;case '3':mult();break;case '4':divid();break;case '5':huenhe();break;case '6':exit(0);default:printf("选择有误!按任意键重新输入...");getch();}}
}
以上就是一个简单的用户选择界面,emmm
2.加法运算部分
void add(){int i,t,num1,num2,answer;t=0;system("cls");while(t!=Number){num1=rand()%Max;num2=rand()%Max;question(num1,num2,'+');scanf("%d",&answer);if(answer==num1+num2)puts("正确!");elseprintf("错误!正确答案是:%d\n",num1+num2);t++;}if(t==Number){printf("\n 你已经完成练习,按任意键返回菜单...");getch();}
}
其实总体思路很简单,随机取数然后判断用户输入答案和正确答案是否一致,减法和加法是一样的这里就不过多解释了QAQ
3.除法运算部分
void divid()
{int i,t,num1,num2,answer;t=0;while(t!=Number){num1=rand()%Max;num2=rand()%Max;if (num2==0)num2++;question(num1,num2,'/');scanf("%d",&answer);if(answer==num1/num2){puts("正确!");}else{printf("错误!正确答案是:%d\n",num1/num2);}t++;}if(t==Number){printf("\n 你已经完成练习,按任意键返回菜单...");getch();}
}
感谢我的领航员孟柳老可爱的提醒,原来随机输出被除数是有零的...哭唧唧...然后我就特别简单粗暴地随机到零加1了,哈哈哈
4.混合运算
void huenhe()
{int t,a,b;long s,m,j,answer,num1,num2,num3;char opt1,opt2;t=0;s=answer=t=m=0;system("cls");while(t!=Number){num1=rand()%Max;num2=rand()%Max;num3=rand()%Max;a=rand()%4;b=rand()%4;opt1=fuhao(a);opt2=fuhao(b);printf("%ld %c %ld %c %ld=",num1,opt1,num2,opt2,num3);scanf("%ld",&answer);if(opt1=='*'||opt1=='/'){switch(opt1){ case '*':m=num1*num2;break;case '/':m=num1/num2;break;}switch(opt2){case '+':s=m+num3;break;case '-':s=m-num3;break;case '*':s=m*num3;break;case '/':s=m/num3;break;}}else if(opt2=='*'||opt2=='/'){switch(opt2){case '*':m=num2*num3;break;case '/':m=num2/num3;break;}switch(opt1){case '+':s=num1+m;break;case '-':s=num1-m;break;case '*':s=num1*m;break;case '/':s=num1/m;break;}}if(opt1==opt2||opt1=='+'&&opt2=='-'||opt1=='-'&&opt2=='+'){switch(opt1){case '+':j=num1+num2;break;case '-':j=num1-num2;break;}switch(opt2){case '+':s=j+num3;break;case '-':s=j-num3;break;}}if(answer==s){puts("正确!");}else{printf("错误!正确答案是:%ld\n",s);}t++;}if(t==Number){printf("\n 你已经完成练习,按任意键返回菜单.....");getch();}
}
混合运算啊...就是一个判断判断再判断的过程!简单粗暴= =
三、 特别正经的结对作业小结—— 特别严肃
首先,要特别感谢我家小老可爱,和我一起结对也是有点辛苦的,哈哈哈,毕竟我还是萌新啊(←凑不要脸),咳咳咳,怎么说,这次结对作业虽然完成的不是很完美,但是的确是我们俩认认真真研究做出来的,有瑕疵也没关系,其实做到这样子感觉就很开心了,在这个过程中就是自我提升自我学习的过程,老可爱给我提出了很多很有建设性的问题,对一开始的用户界面也进行了一定的改良(一开始,有点点糟心了哈哈哈),时间其实还是有些仓促的,我们还没有学会UI什么的,对于文件传送也是一脸茫然,试了好几次也不对,就放弃了,哎,有时间是一定要好好研究研究的,在我提交作业之前,看了好几位大神的提交作业,dalao果然都能做出来界面啊~~甚至于,做出来可下载安装的软件,哎,差距,虽然感到了差距的如此之大,更加激励了我要好好学习,补上缺失的部分,最后的最后,撒浪嘿呦~
此处贴上结对伙伴孟柳老可爱的博客园
本次程序代码
四、 特别正经的结对作业照片—— 咳咳咳
(↑↑↑↑↑寝室日常的两个长发小可爱哈哈哈)
—————The End——————
转载于:https://www.cnblogs.com/for-Catherine/p/8864943.html
小学的四则运算(输入结果)相关推荐
- 结对编程实现四则运算
结对编程技术是指两位程序员坐在同一工作台前开发软件.与两位程序员各自独立工作相比,结对编程能编写出质量更高的代码. 按照结对编程的原则,我和小组另一个成员进行了两人进行了结对编程,我们开发的结对项目的 ...
- Bailian4132 四则运算表达式求值【文本处理】
4132:四则运算表达式求值 总时间限制: 1000ms 内存限制: 65536kB 描述 求一个可以带括号的小学算术四则运算表达式的值 输入 一行,一个四则运算表达式.''表示乘法,'/'表示除法 ...
- 利用Python实现四则运算
利用Python实现四则运算 输入两个变量,根据类型判断他是否进行运算,若为a和b同时满足int或float类型时,则利用choice选择你所要进行的那种运算,若类型错误,输出其类型. a=eval( ...
- c语言 电报翻译的题目,C语言程序设计实训题目.doc
C语言程序设计实训题目.doc C语言程序课程设计题目题目1年历显示功能要求(1) 输入一个年份,输出是在屏幕上显示该年的日历.假定输入的年份在1940-2040年之间.(2) 输入年月,输出该月的日 ...
- 经典笔试上机考题-表达式求值
相信参加过笔试面试同学应当见到过表达式求值这道题,下面列举的一道经典的考题,本文将同大家一起细细探讨一下表达式求值这一类问题的求法,希望抛砖引玉,其中有不妥的地方也请大家多多批评指正. /* 功能:四 ...
- 个人项目对方代码分析(随机生成不同难度试卷)
这次的个人项目着实让我知道了为什么程序猿毛发稀疏~(哭),在经历了写代码的血与泪之后,看我搭档的代码不禁感慨,哇塞~她的代码真的好短小精悍,让人心情愉悦~相反,我的代码让人看起来就想扶额(嘤~).下面 ...
- HPU--1189 Ou à
题目描述 Ou à是什么东东? 华丽的分割线?233333...... Ocean的小学弟学习了新的二进制运算异或"^". 对于$0.1$二进制位而言,异或运算结果如下: 0 ^ ...
- 浙大翁恺pat练习题_中国大学MOOC-翁恺-C语言-PAT习题及解答-第二周
中国大学MOOC-翁恺-C语言-PAT习题及解答-第二周 02-0. 整数四则运算 输入格式:输入在一行中给出2个正整数A和B. 输出格式:在4行中按照格式"A 运算符 B = 结果&quo ...
- 2023年春招热门笔试算法题(C++)
内容整理自网络,侵权联系删除 1.链表反转 输入:{1,2,3} 返回值:{3,2,1} struct ListNode {int val;struct ListNode *next;ListNode ...
最新文章
- Java设计模式(七):适配器设计模式
- 【Spring注解系列14】@Profile进行环境切换
- 如何分析SAP CRM UI label显示成technical name的问题
- python-study-17
- 使用node的pm2管理相关进程
- Android备份onedrive,三星Note10正将OneDrive集成到Android相册应用中
- 关于API和SDK的理解
- squid端口转发_Squid服务器三种代理方式详解
- Codeforces Round #184 (Div. 2)
- 心电自动分析技术综述-Phililps DXL / GE Marquette / Glasgow / HES Hannover / Mortara
- java实现凯撒密码_Java实现进阶版凯撒密码
- List of music used by Apple Inc.
- Netflix/conductor学习笔记(1)
- 中企海外周报 | 华晨与力帆合作在乌拉圭建厂;奇瑞在沙特发布全新SUV
- Poisson 分布
- 算法——弗洛伊德算法(Floyd-Warshall)(图论)(c++)
- 多因子系列(二):基于机器学习选股策略(附源码)
- java中标签内容居中显示_图形标签中图像上的figcaption标签的居中和对齐宽度
- c语言多线程编程随机数,在c 中使用线程安全的随机数,多线程_c_开发99编程知识库...
- tablepc是什么平板电脑_给大家介绍一下,这是我新朋友三星Galaxy Tab S3