帮同学做的简单的记忆力测试系统,应用了time头文件和rand()函数进行随机字母生成,利用Sleep()函数和和“\r"进行数据消失。
代码如下:
1 #include <iostream> 2 #include<stdio.h> 3 #include<stdlib.h> 4 #include<string.h> 5 #include<windows.h> 6 #include<time.h> 7 #define byte unsigned char 8 using namespace std; 9 char a[8];//测试字母 10 char b[10];//输入答案 11 int k;//当前测试等级 12 void putin()//生成测试数据 13 { 14 for(int i=0;i<k;++i) 15 a[i]=‘A‘+rand()%26; 16 } 17 void ss()//读秒 18 { 19 for(int i=3;i>0;i--) 20 { 21 22 cout<<"\r"<<i; 23 Sleep(1000); 24 cout<<"\r"<<" "; 25 } 26 27 } 28 void miss()//测试数据消失 29 { 30 Sleep(3000); 31 cout<<"\r"; 32 for(int i=0;i<k;++i) 33 cout<<" "; 34 cout<<"\n"; 35 } 36 int main() 37 { 38 while(1) 39 { 40 printf("|---------------------------------------|\n"); 41 printf("| |\n"); 42 printf("| 欢迎进入记忆力测试系统! |\n"); 43 printf("| |\n"); 44 printf("|---------------------------------------|\n"); 45 printf("请输入“1”开始测试(测试数据将在3秒后出现,并在3秒后消失,按回车键结束输入,输入“0”退出系统):"); 46 char ch; 47 cin>>ch; 48 if(ch==‘0‘) 49 break; 50 if(ch!=‘1‘) 51 { 52 printf("输入有误!\n"); 53 continue; 54 } 55 memset(a,‘\0‘, sizeof(a)); 56 srand(time(0)); 57 int i;//目前测试者的等级 58 for(i=0;i<8;++i) 59 { 60 k=i+1; 61 putin(); 62 printf("测试等级:%d(测试数据将在3秒后出现,并在3秒后消失)\n",k); 63 ss(); 64 cout<<"\r"; 65 cout<<a; 66 miss(); 67 printf("请输入你的结果(按回车键结束输入,输入“1”重新开始测试,输入“0”退出系统):"); 68 cin>>b; 69 if(strcmp(b,"1")==0||strcmp(b,"0")==0||strcmp(b,a)!=0) 70 break; 71 } 72 if(strcmp(b,"1")==0) 73 continue; 74 if(strcmp(b,"0")==0) 75 break; 76 if(i!=8) 77 printf("答案错误,正确答案为:%s\n",a); 78 else 79 printf("完全正确!"); 80 printf("你的记忆力等级为:%d,",i); 81 if(i<=4) 82 printf("你的记忆力需要更多的提高"); 83 else if(i<6) 84 printf("你的记忆力需要提高"); 85 else 86 printf("你的记忆力非常棒"); 87 printf("(输入“1”重新开始测试,输入“0”退出系统)\n"); 88 cin>>ch; 89 if(ch==‘0‘) 90 break; 91 else 92 { 93 if(ch!=‘1‘) 94 printf("输入有误!\n"); 95 continue; 96 } 97 } 98 return 0; 99 }
时间: 2024-10-08 07:42:44