• 个人项目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;

           }

     }

    结果:

  • 相关阅读:
    【C#】3.算法温故而知新
    【C#】2.算法温故而知新
    【C#】1.算法温故而知新
    【C#】SQL数据库助手类2.0(自用)
    【Javascript Demo】JS获取当前对象大小以及屏幕分辨率等
    【Android 基础】Android中全屏或者取消标题栏
    【ASP.NET 问题】System.InvalidOperationException: 对象的当前状态使该操作无效 【大量表单数据提交】错误解决
    【CSS】颜色码对照表
    【Ext.Net学习笔记】07:后续
    【Ext.Net学习笔记】06:Ext.Net GridPanel的用法(GridPanel 折叠/展开行、GridPanel Selection、 可编辑的GridPanel)
  • 原文地址:https://www.cnblogs.com/zzzzxiaolan/p/9865991.html
Copyright © 2020-2023  润新知