码迷,mamicode.com
首页 > 其他好文 > 详细

第一个项目

时间:2017-09-22 00:44:37      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:ace   简单   ring   char s   sign   bsp   def   作业   ext   

第一个项目:四则运算生成器

一、主要功能:随机生成简单的四则运算题目。加减乘除,并加入了真分数的计算。题目中会随机出现整数与整数,整数与真分数以及真分数与真分数的计算。适合小学生练习。

二、代码展示:

#include<iostream>
#include<ctime>
#include<strstream>
#include<stdlib.h>
#include<string>
using namespace std;
int flag = 1;//全局变量,
int function(int n)//随机生成1至n的整数
{
int random;
int low = 1, high = n;
if (flag)
{
flag = 0;
srand((unsigned)time(NULL));
}
random = rand() % (high - low + 1) + low;//生成随机数
return random;

}
int max(int a, int b)//返回两个整数中较大的整数
{
int h = a >= b ? a : b;
return h;
}
int min(int a, int b)//返回两个整数中较小的整数
{
int l = a <= b ? a : b;
return l;
}
string fraction()//生成真分数
{
int temp1 = function(100);//调用function函数随机生成两个随机整数
int temp2 = function(100);
int high = min(temp1, temp2);//比较两个整数的大小,其中较大的整数做分母,较小的整数做分子
int low = max(temp1, temp2);
strstream tra, ss;//将分子分母从int型转换为string型
string up, down;
tra << high;
tra >> up;
ss << low;
ss >> down;
string fra;
high != low ? fra = up + "\\" + down : fra = 1;//将分子分母连接成真分数
return fra;
}
int main()
{
int integer1, integer2;
string first, second;//四则运算的第一个运算数和第二个运算数
int ch1, ch2, ch3;//switch语句的选项
char sign;//运算符号
int times = 30;//题目数
for (int i = 1; i <= times; i++)
{
ch1 = function(4);//随机生成运算符号
switch (ch1)
{
case 1:sign = ‘+‘; break;
case 2:sign = ‘-‘; break;
case 3:sign = ‘*‘; break;
case 4:sign = ‘/‘; break;
default:cout << "有错误!" << endl; break;
}
ch2 = function(3);//四则运算题目的三种情况
switch (ch2)
{
case 1://整数和整数
{
strstream ss, cc;
integer1 = function(100);
ss << integer1;
ss >> first;
integer2 = function(100);
cc << integer2;
cc >> second;
}break;
case 2://整数和真分数
{
strstream kk;
integer1 = function(100);
kk << integer1;
kk >> first;
second = fraction();
}break;
case 3://真分数和真分数
{
first = fraction();
second = fraction();
}break;
default:cout << "有错误!" << endl; break;
}
ch3 = function(2);//输出的两种情况
switch (ch3)
{
case 1:cout << "(" << first << ")" << sign << "(" << second << ")" << "=" << endl; break;
case 2:cout << "(" << second << ")" << sign << "(" << first << ")" << "=" << endl; break;
default:cout << "有错误!" << endl; break;
}
}


system("pause");
return 0;
}

三、运行结果:


 

 技术分享

四、借鉴代码摘自“爱程序网”,编程语言为C++。

五、总结:最开始完成作业的时候做成了计算器项目,在老师的提醒后改为了运算生成器。平时编程训练很少,需要多翻书本巩固知识,再接再厉。

第一个项目

标签:ace   简单   ring   char s   sign   bsp   def   作业   ext   

原文地址:http://www.cnblogs.com/mini-222/p/7565654.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!