The first program of the soft worker: like two pillars, spend 20 minutes writing a "software" that automatically generates the arithmetic of a primary school, requiring that the arithmetic of the true score be supported in addition to integers.

Source: Internet
Author: User

Programming Ideas

The design of this program is mainly based on the application of random numbers generated in C/s + +, in the generation of arithmetic symbols part of the main use of the switch statement, by randomly generating 0-3 of the value to randomly generate "+-*/" character, and the corresponding processing; When working with integer operations, use the Try/throw statement, Avoid division denominator is 0, the statement takes a one-dimensional array, records the answer result, in the processing true fraction part, uses the while statement to produce the reasonable true fraction, uses the two dimensional array to record the answer result.

Program source Code

#include <iostream.h>#include<stdlib.h>#include<conio.h>voidDealfenshu (intMinta[][2]){     for(intp=0;p <m;p++)    {        intI= (int) rand ()%Ten; intJ= (int) rand ()%Ten;  while(j==0|| i>=j) {I=(int) rand ()%Ten; J=(int) rand ()%Ten; }        intX= (int) rand ()%Ten; intY= (int) rand ()%Ten;  while(y==0|| x>=y) {x=(int) rand ()%Ten; Y=(int) rand ()%Ten; }        intK= (int) rand ()% -/ -; Switch(k) { Case 0: cout<<"("<<i<<"/"<<j<<")"<<"+"<<"("<<x<<"/"<<y<<")"<<"="; a[p][0]=i*y+x*J; a[p][1]=j*y;  Break;  Case 1: cout<<"("<<i<<"/"<<j<<")"<<"-"<<"("<<x<<"/"<<y<<")"<<"="; a[p][0]=i*y-x*J; a[p][1]=j*y;  Break;  Case 2: cout<<"("<<i<<"/"<<j<<")"<<"*"<<"("<<x<<"/"<<y<<")"<<"="; a[p][0]=i*x; a[p][1]=j*y;  Break;  Case 3: a[p][0]=i*y; a[p][1]=j*x; cout<<"("<<i<<"/"<<j<<")"<<"/"<<"("<<x<<"/"<<y<<")"<<"="; }                        if(p%5==4) {cout<<Endl; }            Else{cout<<'\ t'; }    }}voidDisplayfenshu (inta[][2],intWintm) {    if(w==1)    {         for(intq=0; q<m;q++)        {            if(a[q][0]==0) cout<<"0"<<'\ t'; Elsecout<<a[q][0]<<"/"<<a[q][1]<<'\ t'; if(q%5==4) {cout<<Endl; }        }    }    Else    {};}voidDealint (intMinta[]) {             for(intp=0;p <m;p++)    {    intI= (int) rand ()%Ten; intJ= (int) rand ()%Ten; intK= (int) rand ()% -/ -; Switch(k) { Case 0: cout<<i<<"+"<<j<<"="; A[P]=i+J;  Break;  Case 1: cout<<i<<"-"<<j<<"="; A[P]=i-J;  Break;  Case 2: cout<<i<<"*"<<j<<"="; A[P]=i*J;  Break;  Case 3:        Try{A[p]=i/J; cout<<i<<"/"<<j<<"="; }        Catch(...) {P--; }            }                if(p%5==4) {cout<<Endl; }        Else{cout<<'\ t'; }    }}voidDisplayint (intA[],intWintm) {    if(w==1)    {         for(intq=0; q<m;q++) {cout<<a[q]<<'\ t'; if(q%5==4) {cout<<Endl; }        }    }    Else    {};}voidMain () {intp;  Do{System ("CLS"); inta[ +],b[ +][2]; intm,n,w; cout<<"Please enter the number of arithmetic questions generated:"; CIN>>m; cout<<Endl; cout<<"Please enter the type of arithmetic you want to generate (enter 1 as an integer, otherwise true):"; CIN>>N; cout<<Endl; if(n==1) {dealint (m,a); cout<<Endl; }        Else{Dealfenshu (m,b); cout<<Endl; } cout<<"whether to output the answer (enter 1 to output the answer otherwise do not output the answer)"<<Endl; CIN>>W; if(n==1) {displayint (a,w,m); }        Else{Displayfenshu (b,w,m); } cout<<Endl; cout<<"whether to continue generating the operation question (input 1 is generated otherwise not generated)"<<Endl; CIN>>p; cout<<Endl; } while(1==p);}

The reason why the program was not completed on time: Forgot the statement rand () that generated the random number

The first program of the soft worker: like two pillars, spend 20 minutes writing a "software" that automatically generates the arithmetic of a primary school, requiring that the arithmetic of the true score be supported in addition to integers.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.