结对项目-四则运算

项目:四则运算

结对伙伴:杜桥

功能:四则运算随机出题,并判断答案是否正确(只实现了正整数运算);

实现:用c#实现,用random.Next()完成随机部分,然后通过判断来检查答案是否正确;

Https:https://git.coding.net/li_yuhuan/CalculateTest.git

SSH:[email protected]:li_yuhuan/CalculateTest.git

代码:

            int v1;
            int v2;
            int a;
            char op;
            char[] ops = new char[]{ ‘+‘, ‘-‘, ‘*‘, ‘/‘,‘/‘};
for (int i = 0; i < 10; i++)
            {
                v1 = ran.Next(1, 20);
                v2 = ran.Next(1, 20);
                op = ops[ran.Next(3)+ ran.Next(3)];

通过循环结构多次出题,用random.next方法生成随机数。

实现过程中发现random.next(3)循环1000次,都没有出现过3,先后试了网上的几种方法,都未能解决.最后通过两个随机数相加实现了0-4的随机数,当前虽然四种符号都会随机出现,但是概率不等.目前未解决;

                if (op == ‘/‘)
                {
                    while (v1 < v2)
                    {
                        v2 = ran.Next(1, v1);
                    }

                    int mod = v1 % v2;

                    if (mod != 0)
                    {
                        v1 += mod;
                    }
                }

如果是除法,则要求被除数比除数大,如果随机生成的数不能整除,则把余数加给被除数实现整除;

                else if (‘-‘ == op)
                {
                    while (v1 < v2)
                    {
                        v2 = ran.Next(1, v1);
                    }
                }

如果是减法,则要求被减数比减数大;

                switch (op)
                {
                    case ‘+‘:
                        {
                            a = v1 + v2;
                            break;
                        }
                    case ‘-‘:
                        {
                            a = v1 - v2;
                            break;
                        }
                    case ‘*‘:
                        {
                            a = v1 * v2;
                            break;
                        }
                    case ‘/‘:
                        {
                            a = v1 / v2;
                            break;
                        }
                    default:
                        {
                            a = 1;
                            break;
                        }
                }

分情况计算并记录结果;

                Console.WriteLine(i +1 + "、" + v1 + op.ToString() + v2 + "=");

                Console.WriteLine("请输入答案:");
                string result = Console.ReadLine();

输出算式,并提示输入答案,读取所输入的数字;

                while (!IsNumeric(result))
                {
                    Console.WriteLine("输入有误,请输入整数");
                    result = Console.ReadLine();
                }

                if (int.Parse(result) == a)
                {
                    Console.WriteLine("回答正确");
                }
                else
                {
                    Console.WriteLine("回答错误,正确答案是:" + a);
                }

检测输入的文本是否为整数,不是则提示重新输入;

如果是整数则判断答案是否正确,并给出结果;

运行样例:

时间: 2024-08-11 03:30:49

结对项目-四则运算的相关文章

结对项目--四则运算生成器(Java) 刘彦享+龙俊健

结对项目--四则运算生成器(Java) GitHub地址 合作者 刘彦享(3118005010) 龙俊健(3118005011) https://github.com/LYX708194/calculate 一.项目简介 说明 自然数:0, 1, 2, -. 真分数:1/2, 1/3, 2/3, 1/4, 1'1/2, -. 运算符:+, ?, ×, ÷. 括号:(, ). 等号:=. 分隔符:空格(用于四则运算符和等号前后). 算术表达式: e = n | e1 + e2 | e1 ? e2

结对项目——四则运算(GUI)

目录 1.仓库地址 2.开始前PSP展示 3.接口的设计 4.计算模块接口的设计与实现过程 5.计算模块接口部分的性能改进 6.计算模块部分单元测试展示 7.计算模块部分异常处理说明 8.界面模块的详细设计过程 9.界面模块与计算模块的对接 10.结对过程 11.结对编程优缺点 12.实际的PSP 1. 仓库地址:https://git.coding.net/jiapwy/newfouroperation.git 队友:胡雅馨 队友的博客地址:http://www.cnblogs.com/huy

结对项目-四则运算出题程序(GUI版)

目录: 一.致搭档(含项目地址) 二.PSP(planning) 三.结对编程中对接口的设计 四.计算模块接口的设计与实现过程 五.计算模块接口部分的性能改进 六.计算模块部分单元测试展示 七.计算模块部分异常处理说明 八.界面模块的详细设计过程 九.界面模块与计算模块的对接 十.结对过程的描述 十一.结对编程的优缺点 十二.PSP(actual) 一.致搭档:     队友:李庭娟(我很喜欢把这位队友叫娟子,感觉很亲切) 首先非常非常感谢这位结对搭档--娟子,从最初组队到如今合作,始终非常信任

结对项目——四则运算题目生成器

一.GitHub项目地址 : https://github.com/OurPrograming/Exercises 结对项目成员:软三 陈纪禧(3118005043).软三 程伟杰(3118005045) 二.PSP预计时间: PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划  60 · Estimate · 估计这个任务需要多少时间 60 Development 开发 1680 · Analysis ·

结对项目-四则运算 “软件”之升级版

随笔缘由:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2213 githup缘由:https://github.com/tianshizhao/tianshizhao 一.基本要求 从个人项目出发,将程序改造成一个单机带用户界面(不是控制台)的程序,这个程序最基本要达到: 自动生成题目,单个题目最多不能超过4个运算符,操作数小于100. 用户可以输入答案 若用户输入答案正确,则提示正确:若答案错误,则提示错误,并要提示正确答案是

结对项目--四则运算图形化最终版

四则运算器图形化最终版 (然而被我做成了奇怪的东西 组员:13070030张博文 13070033刘云峰 一.概念阶段 最初是想试试用android做个计算器app,无奈从零学起着实太赶,而且这个计划在试用了无比卡顿占内存的android studio后就彻底搁浅了. 然后就被路人谣传说MFC好用,无奈从零学起着实太赶,而且这个计划在无人指导的摸黑下也顺手搁浅了. 最终便沦为了EasyX旧传统,好歹有点基础,但果然还是不太甘心. 以及因为当初想做app,所以抠了iphone计算器的图想当UI,结

结对项目 四则运算 更新版

功能:由随机数决定出题为10个以内的数字,并确定是否出现括号(仅限一对),顺序输出表达式,并用栈的方式进行计算,判断正误.其他功能有待进一步实现. 头文件 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include <math.h> 栈的结构体 typedef struct stack { double * e; int zd; }bd

结对项目第一周总结

结对项目——四则运算 阶段性总结 一.需求分析(第一周达成): 能够生成n道四则运算题,n可由使用者输入来控制 支持整数 支持分数 生成题目中含有括号 可以判断正误,如果错误会输出正确答案 统计正确率 扩展需求: 生成题目后存入文件 完成题目后从文件读入并进行判断 支持题目去重 支持繁體中文,简体中文,English 二.设计思路(同时输出UML类图): 以下是程序主体设计思路,各步骤具体操作详情请见注释: 由于本周可用的准备时间较长,我们选择直接进行真分数的操作.在java语言中并没有一个专门

结对编程项目——四则运算

1. 结对编程项目---四则运算 (10分) 基本功能要求: 1) 实现一个带有用户界面的四则运算.2) 生成的题目不能重复.3) 支持负数,例如-1,-1/2,-3‘4/5等.(达成) 需要支持的基本设定参数 1) 题目的数量  2) 数值的范围  3) 题目中最多几个运算符(目前没有达成)  4) 题目中或运算过程中有无有分数(比如进行整数除法的时候不能除尽) 5) 题目中是否有乘除法  6) 题目中是否有括号 (目前没有达成) 7) 题目中或运算过程中有无负数         学习感受: