小学数学在线测试系统

  1 #include <stdio.h>
  2 #include <math.h>
  3 #include <string.h>
  4 #include <stdlib.h>
  5 #include <time.h>
  6 #include <windows.h>
  7 #pragma comment(lib,"winmm.lib")
  8 void Add(void);
  9 void Sub(void);
 10 void Multiply(void);
 11 void Div(void);
 12 void clearScreen(void);
 13 
 14 void main()
 15 {
 16     char c;
 17     int i,f;
 18     char UserName[6],UserName1[6],Passwd[8],Passwd1[8];
 19     printf("小学生数学四则运算登录系统\n");
 20     printf("1.注册并登录\t\n2.退出\n");
 21     scanf("%d",&f);
 22     switch(f){
 23     case 1:
 24         printf("注册开始\n输入用户名:\t");
 25         fflush(stdin);//清空输入缓冲区,防止第一次的回车被第二次捕捉通常是为了确保不影响后面的数据读取(例如在读完一个字符串后紧接着又要读取一个字符,此时应该先执行fflush(stdin);)。
 26         gets(UserName);
 27         printf("输入密码:\t");
 28         gets(Passwd);
 29         printf("注册成功\n");
 30 
 31         for(i=1;i<4;i++)
 32         {
 33             printf("输入用户名:\t");
 34             gets(UserName1);
 35             printf("输入密码:\t");
 36             gets(Passwd1);
 37 
 38             if(strcmp(UserName,UserName1)==0&&strcmp(Passwd,Passwd1)==0){
 39                 printf("登录成功\n");
 40                 break;
 41             }
 42             else if (i < 3) {
 43                 printf("用户名或密码错误,请重新输入\n");
 44             }
 45             if(i==3){
 46                 printf("用户已被锁定\n");
 47                 exit(0);
 48             }
 49         }
 50         break;
 51     case 2:
 52         printf("再见\n");
 53         break;
 54     }
 55     while(1){
 56         clearScreen();
 57         system("color 40");
 58 
 59         c=getchar();
 60         //getchar();//假读
 61         switch(c){
 62             case 'A':
 63             case 'a':Add();break;
 64             case 'B':
 65             case 'b':Sub();break;
 66             case 'C':
 67             case 'c':Multiply();break;
 68             case 'D':
 69             case 'd':Div();break;
 70             case 'E':
 71             case 'e':
 72                 return;
 73             default:printf("请重新选择:\n");
 74         }
 75     } // end of while(1)
 76 } //end of main()
 77 
 78 void clearScreen(void){
 79     system("cls");//清屏,clean,s(屏幕)
 80     printf("小学生四则运算程序\n");
 81     printf("##################\n");
 82     printf("#        A########\n");
 83     printf("#        B########\n");
 84     printf("#        C########\n");
 85     printf("#        D########\n");
 86     printf("#        E########\n");
 87     printf("##################\n");
 88     printf("\n\n请输入相应选项的前面的字母(A-E)\n");
 89 }
 90 
 91 void Add(void){
 92     int a,b,i,sum;
 93     system("cls");
 94     srand(( int )time( 0 ));//随机种子
 95     for( i = 1; i <= 10; i ++ ){
 96         a = rand() % 10;//随机数是1到10以内的(1到100:%100;1到20的:(+10)%10)
 97         b = rand() % 10;
 98         printf( "%d+%d=", a, b );
 99         scanf("%d", &sum );
100         if( sum == a + b ){
101             printf("回答正确!\n");
102             PlaySound("C:\\Users\\Administrator\\Music\\HA.WAV",NULL,SND_FILENAME|SND_ASYNC);
103 
104         }
105         else
106             printf("回答错误!\n");
107 
108     }//end of for()
109 } //end of jiafa()
110 
111 void Sub( void )
112 {
113        int a,b,i,ca,c=0,d=0;
114     system("cls");
115     srand(( int )time( 0 ));
116     while( i <= 10 ){
117         a = rand() % 10;
118         b = rand() % 10;
119         if ( a < b )
120             continue;
121         else {
122             printf( "%d-%d=", a, b );
123             scanf( "%d", &ca );
124         }
125         if ( ca == a - b ){
126             printf("回答正确!\n");c++;
127             PlaySound("C:\\Users\\Administrator\\Music\\HA.WAV",NULL,SND_FILENAME|SND_ASYNC);
128         }
129         else{ 
130             printf("回答错误!\n");d++;
131             PlaySound("C:\\Users\\Administrator\\Music\\cm.WAV",NULL,SND_FILENAME|SND_ASYNC);
132         }
133         i=c+d;
134     }
135 }
136 void Multiply( void ){
137     int a,b,i,ji;
138     system( "cls" );
139     srand(( int )time( 0 ));
140     for ( i = 1; i <= 10; i++ ){
141         a = rand() % 10;
142         b = rand() % 10;
143         printf( "%d*%d=", a, b );
144         scanf( "%d", &ji );
145         if( ji == a * b ){
146             printf( "回答正确!\n" );
147             PlaySound("C:\\Users\\Administrator\\Music\\HA.WAV",NULL,SND_FILENAME|SND_ASYNC);
148         }else
149             printf( "回答错误!\n" );
150     }
151 }
152 
153 void Div( void ){
154     int a,b,i,shang,c=0,d=0;
155     system( "cls" );
156     srand(( int )time( 0 ));
157     while(i<=10){
158         a = rand() % 10;
159         b = rand() % 10;
160         if( b==0 || a<b || a%b != 0 )
161             continue;
162         else{
163             printf( "%d/%d=", a, b );
164             scanf( "%d", &shang );
165         }
166         if( shang == a / b ){
167              printf("回答正确!\n");c++;
168              PlaySound("C:\\Users\\Administrator\\Music\\HA.WAV",NULL,SND_FILENAME|SND_ASYNC);
169         }else{
170             printf("回答错误!\n");d++;
171         }
172         i=c+d;
173     } //end of while(i<=10)
174 }

猜你喜欢

转载自www.cnblogs.com/ssk68/p/9158439.html
今日推荐