1. 程式人生 > >第一個項目

第一個項目

++ times down ger ace 整數和 int dom 技術分享

第一個項目:四則運算生成器

一、主要功能:隨機生成簡單的四則運算題目。加減乘除,並加入了真分數的計算。題目中會隨機出現整數與整數,整數與真分數以及真分數與真分數的計算。適合小學生練習。

二、代碼展示:

#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++。

五、總結:最開始完成作業的時候做成了計算器項目,在老師的提醒後改為了運算生成器。平時編程訓練很少,需要多翻書本鞏固知識,再接再厲。

第一個項目