• 作业二(1):个人编程项目——四则运算


    1)作业要求:

           包括整数,真分数的四则运算 

    2)编程环境:

          使用VS2010,编程语言C++

    3)具体思路:

         因为是随机出题器,所以会用到随机数,我的想法是:先定义两个随机数作为运算数,因为算法会用到+—*/所以再定义四个随机数,用于调用运算符,之后再进行运算。

    4)实验代码:

    #include<iostream>
    #include<stdlib.h>
    #include<iomanip>
    #include<time.h>
    using namespace std;
    
    #define random() (rand()%100)//运用rand()函数随机生成100以内的整数。
    
    void main()
    {
               int s1,s2,s3,s4;
              
               srand((int)time(NULL));//运用srand函数设立随机种子,让种子和当前时间有关,避免每次生成的随机数相同
    
              for(int i=0;i<30;i++)//运用for循环,共循环30次,生成30随机运算。
    
               {
    
                        s1=random();
    
                        s2=random();
    
                       int k=(int)rand()%5;//运用rand()函数随机生成5以内的整数。
    
                       switch(k)
    
                       {
    
                       case 0:{cout<<s1<<"+"<<s2<<"=";
    
                       break;}                                 //进行整数加法运算
    
                       case 1:{cout<<s1<<"-"<<s2<<"=";
    
                       break;}                                //进行整数减法运算
    
                       case 2:{cout<<s1<<"*"<<s2<<"=";
    
                       break;}                                //进行整数乘法运算
    
                       case 3:{
    
                       while(s2==0)
    
                       s2=random();
    
                       cout<<s1<<"/"<<s2<<"=";
    
                       break;}                                //进行整数除法运算
    
                       case 4:                                //真分数运算部分
    
                 {
    
              while(s2==0||s1>=s2)
    
             {
    
                s1=random();
    
                           s2=random();
    
             }
    
                s3=random();
    
                           s4=random();
    
            while(s4==0||s3>=s4)
    
            {
    
                s3=random();
    
                           s4=random();
    
            }
    
                int q=(int)rand()%4;
    
            switch(q)
    
            {
    
                case 0:
    
                    cout<<"("<<s1<<"/"<<s2<<")"<<"+"<<"("<<s3<<"/"<<s4<<")"<<"=";
    
                  
    
                    break;
    
                case 1:
    
                       cout<<"("<<s1<<"/"<<s2<<")"<<"-"<<"("<<s3<<"/"<<s4<<")"<<"=";
    
                    break;
    
                case 2:
    
                     cout<<"("<<s1<<"/"<<s2<<")"<<"*"<<"("<<s3<<"/"<<s4<<")"<<"=";
    
                  
    
                    break;
    
                case 3:
    
                    cout<<"("<<s1<<"/"<<s2<<")"<<"/"<<"("<<s3<<"/"<<s4<<")"<<"=";
    
                    break;
    
                         }
    
                       }
    
                    }
    
                       cout<<endl;
    
              }
    system("pause");
    }

    结果截图:

    5)实验总结:

        问题遇到很多 首先不知道如何定义随机数 所以网上查阅 找到了random rand,用于产生随机数。srand函数 ,随机数发生器的初始化函数。NUll 要使用大写的 否则不被识别,还有rand和random的区别(返回类型不同,int和long int(虽然在普通的32位机上效果是一样的)使用的rand或者random之前,一般使用time(0) getpid()设置随机种子.否则默认种子就是1,则每次产生的随机数都是一样的)。还有预编译头的问题,有的要设置为空,(由于它假定预编译头中包含过的头文件会在所有 cpp 中使用,因此它在编译你的 cpp 的时候,就会将预编译头中已经编译完的部分加载到内存中。如果它突然发现你的 cpp 居然没有包含预编译头,它就会很郁闷,因为它不知道该如何将已编译完的部分从内存中请出去,整个编译过程就会失败)。所有C++ 程序都必须有#include "stdafx.h"。程序秒退, 要在结尾加上system("pause")。还有真分数的定义要保证分母大于分子,分母不为0,分子分母均有两个随机数相除获得 。由于基础太差所以查阅了很多资料,在今后的学习中要慢慢了解C 函数的使用方法,在问题中学习。

  • 相关阅读:
    bite one's tongue
    你以为你以为的教育是教育吗?[转]
    使用ngnix通过uwsgi app容器部署django项目
    使用ngnix通过uwsgi app容器部署django项目
    vue作为前端的静态代码与后端融合
    linux下的下载器软件
    git的gui client终端
    java 查找bug的工具 SpotBugs 和 Findbugs
    awesome c, awesome c++
    加密货币即时交换平台 Changelly vs ShapeShift vs CoinSwitch vs ChangeNOW
  • 原文地址:https://www.cnblogs.com/haohaoeex/p/5280675.html
Copyright © 2020-2023  润新知