个人项目3:四则运算

个人项目3:可以在之前基础上实现在线答题;

答题结束后可以判断对错;

可以将错题保存起来;

设计思路:利用while语句实现选择不同种类的答题项目;同样利用while实现对错的判断。

出现问题:

不知道怎样将错题保存起来;

要防止在进行选择答题种类和继续答题时因按错键导致程序出现错误;

 #include <stdlib.h>

#include <stdio.h>

#include <time.h>

int question_get();

int type;

void main( void )

{

   int answer,n;

   srand( (unsigned)time( NULL ) );

     loop:  printf( "请选择要进行测试的题目种类:" );

            printf( " 1.加法运算 2.减法运算 3.乘法运算 4.除法运算 5.退出运算 " );

            printf(" 请选择(1-5):");

            scanf( "%d", &type );

  

   while( 1 )

      {   

         int temp;

         int flag;

         answer = question_get();

         printf( "请回答: " );

         scanf( "%d", &temp );

         while( temp!=answer )

            {

            printf( " 答案错误,重做 " );

              scanf( "%d", &temp );

             }

         printf( " 答案正确,很好 " );

             printf( "继续请按1,退出请按0 " );

           scanf( "%d", &flag );

         while( flag!=0&&flag!=1 )

   {

       printf( "按其它键无效 " );

             scanf( "%d", &flag );

   }

         if( flag==0 )

         break;

          goto loop;

    }

 }

int question_get()

{

   int a,b,c;

  loop: if( type==1 )

     {

        a=rand()%99;

        b=99-a;

        b=rand()%b;

        printf( "%d + %d = ?", a, b );

        return(a+b);

      }

   else if( type==2 )

     {

        b=rand()%99;

        c=99-b;

        c=rand()%c;

        printf( "%d - %d = ?", b+c, b );

        return(c);

      }

   else if( type==3 )

     {

       a=rand()%10;

       b=50-a;

       b=rand()%b;

       printf( "%d * %d = ?", a, b );

       return(a*b);

      }

   else if( type==4 )

     {

       b=rand()%50;

       c=100/b;

       while( 1 )

       {

          c=rand()%c;

          if( c!=0 )

              break;

       }

       printf( "%d / %d = ?", b*c, b );

       return(c);

      }  

   else if( type==5 )

     {

       printf(" 退出系统 "); /*结束程序*/

       system("pause");

       exit(0);

      }

   else if( type==0||type>5 )

      {

        printf(" 输入错误,请输入1-5内的数字 ");

        printf(" 请选择(1-5):");

        scanf( "%d", &type );

        goto loop;

       }

 }

结果:

原文地址:https://www.cnblogs.com/zzzzxiaolan/p/9865991.html