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 链接问题 C++LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接