qq_35457717 2016-06-29 10:50 采纳率: 0%
浏览 2257
已结题

:小学生数学测试系统

1、基本功能:
(1)主界面设计,选择练习或测试。
(2)题型选择界面设计,选择加、减、乘、除或混合运算。
(3)系统随机出题,运算数及结果均在100以内,除法应能整除,显示算式。
(4)练习时,系统随机出题,键入结果,正确和错误均有提示,出错时允许再输入,
最多二次机会,若还不正确,给出答案。继续出题,按ESC,显示总题数,正确数和
正确率。
(5)测试时,系统自动出10道题,每题只给一次机会,每题10分,统计得分。结束
后,给出总分,显示各题的对错信息,错误的给出答案。
2. 扩展功能:
 (1)测试时不能有重题。

  • 写回答

2条回答

  • devmiao 2016-06-29 11:05
    关注
    #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( "请选择要进行测试的题目种类:" ); 
    scanf( "%d", &type ); 
    while( 1 ) 
    { 
    int temp; 
    int flag; 
    
    answer = question_get(); 
    printf( "请回答:\n" ); 
    scanf( "%d", &temp ); 
    while( temp!=answer ) 
    { 
    printf( "\n答案错误,重做\n" ); 
    scanf( "%d", &temp ); 
    } 
    printf( "\n答案正确,很好\n" ); 
    printf( "继续请按1,退出请按0\n" ); 
    scanf( "%d", &flag ); 
    while( flag!=0&&flag!=1 ) 
    { 
    printf( "按其它键无效\n" ); 
    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("\t\t\t退出系统\n"); /*结束程序*/ 
    
    system("pause"); 
    exit(0); 
    } 
    else if( type==0||type>5 ) 
    { 
    
    printf("\t\t\t输入错误,请输入1-5内的数字\n"); 
    printf("\t\t\t请选择(1-5):"); 
    scanf( "%d", &type ); 
    goto loop; 
    
    } 
    } 
    printf( "\n1.加法运算\n2.减法运算\n3.乘法运算\n4.除法运算\n5.退出运算\n" ); 
    printf("\t\t\t请选择(1-5):"); 
    } 
    
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器