| 221.11.46.* |
1楼 #include <stdlib.h> /* 调用库函数 */ int Tha; /* 变量 表示第一个运算数 */ int Thb; /* 第二个运算数 */ int Tresult; /* 正确答案 */ int Qcount; /* 题目的个数 */ int Upnum; /* 升级的分数 */ int Tscore; /* 当前得分 */ char op; /* 运算符号 */ TestTen() /* 出第一个级别题的函数 */ { int Userda; /* 用户给出的答案 */ int temp; /* 临时变量,用于交换两个变量得值 */ op=random(4)+1; /* 产生一个1-4之间的随机数,用于表示+ ,- , * , / */ switch(op) /* 判断运算符是什么 */ { case 1: /* 加 的情况 */ { Tha=random(10); /* 产生一个0-9之间的随机数 放在第一个运算数 Tha中 */ Thb=random(10); /* 产生一个0-9之间的随机数 放在第二个运算数 Thb中 */ Tresult=Tha+Thb;break; /* 计算出正确答案 放在 Tresult中 */ } case 2: /* 减 的情况 */ { Tha=random(10); Thb=random(10); if(Tha<Thb) /* 减不能的负 所以第一个运算数要比第二个大,如果小,则交换两变量的值 */ {temp=Tha;Tha=Thb;Thb=temp;} /* 交换 */ Tresult=Tha-Thb;break; /* 计算出正确答案 放在 Tresult中 */ } case 3: /* 乘 的情况 */ { Tha=random(10); Thb=random(10); Tresult=Tha*Thb;break; } case 4: /* 除 的情况 */ {do /* 循环 保证可以除尽 */ { do /* 循环保证 除数不为 0 */ {Tha=random(10); Thb=random(10); if(Tha<Thb) {temp=Tha;Tha=Thb;Thb=temp;} }while(Thb==0) ; /* 当除数0 的时候继续产生新的随机数 */ }while((Tha%Thb)!=0); /* 当不能整除的时候继续产生新的随机数 */ Tresult=Tha/Thb; break; } } switch(op) /* 根据 op的值决定输出 问题 */ { case 1: {printf("\n%d + %d = ",Tha,Thb);break;} case 2: {printf("\n%d - %d = ",Tha,Thb);break;} case 3: {printf("\n%d X %d = ",Tha,Thb);break;} case 4: {printf("\n%d / %d = ",Tha,Thb);} } scanf("%d",&Userda); /* 用户输入答案 */ while(Userda!=Tresult) /* 判断答案是否正确 */ { if(Tscore>=10) /* 不正确减分 */ Tscore=Tscore-10; printf("\nWrong! Now Your Score: %d",Tscore); /* 输出错误信息和 当前分数 */ /*if(Tscore<Upnum) return; */ printf("\n Input The Answer Again: "); /* 提示重新输入 */ scanf("%d",&Userda); /* 用户输入答案 */ } Tscore=Tscore+10; /* 答对了 加分 */ printf("\n Right! Now Your Score: %d",Tscore); /* */ |
|
|
- 共有26篇贴子
| 221.11.46.* |
2楼 } TestHun() /*出第二个级别题的函数*/ { int Userda; int temp; op=random(4)+1; switch (op) { case 1: { Tha=random(90)+10; /* 产生 10-99 之间的随机数,即两位数 */ Thb=random(90)+10; Tresult=Tha+Thb;break; } case 2: { Tha=random(90)+10; Thb=random(90)+10; if(Tha<Thb) {temp=Tha;Tha=Thb;Thb=temp;} Tresult=Tha-Thb;break; } case 3: { Tha=random(90)+10; Thb=random(90)+10; Tresult=Tha*Thb;break; } case 4: {do { do {Tha=random(90)+10; Thb=random(90)+10; if(Tha<Thb) {temp=Tha;Tha=Thb;Thb=temp;} }while (Thb==0) ; }while ((Tha%Thb)!=0); Tresult=Tha/Thb; break; } } switch(op) { case 1: {printf("\n%d + %d = ",Tha,Thb);break;} case 2: {printf("\n%d - %d = ",Tha,Thb);break;} case 3: {printf("\n%d X %d = ",Tha,Thb);break;} case 4: {printf("\n%d / %d = ",Tha,Thb);} } scanf("%d",&Userda); while(Userda!=Tresult) { if(Tscore>=10) Tscore=Tscore-10; printf("\nWrong! Now Your Score: %d",Tscore); if(Tscore<Upnum) /* 如果分数小于设定的分数则直接推出函数 */ return; printf("\n Input The Answer Again: "); scanf("%d",&Userda); } Tscore=Tscore+10; printf("\n Right! Now Your Score: %d",Tscore); } main() { int Leiji=0; /* 变量 , 存储 累计答题数目 */ randomize(); /* 保证每次运行程序 产生的随机数序列不相同的语句 */ clrscr(); /* 清屏 : 清除屏幕上上次运行的内容,重新开始运行程序 */ clrscr(); printf("\nTEST START:-------------------------------------"); printf("\n Please Input Question Count: "); /* 提示信息 :输入问题个数 */ scanf("%d",&Qcount); /* 用户输入问题个数 */ do {printf("\n Please Input UpLevel Score(Times of 10 (Sheng ji de fen shu;)) : "); /* 提示信息 :输入升级分数(10的倍数 ) */ scanf("%d",&Upnum); /* 用户输入升级分数 */ if(Upnum<10) /* 如果用户输入的升级分数<10 */ printf("\n Must > = 10 ! "); else if(Upnum%10!=0) /* 如果用户输入的升级分数不是10的倍数 :即 整除10 不等于0 */ printf("\n Must Some Times of 10!(10 de bei shu!)"); /* */ else break; }while(1); /* 不满足条件永远循环 */ printf("\n--------------------------------------------------------"); printf("\n--------------------------------------------------------"); |
|
|
| 221.11.46.* |
3楼 printf("\n--------------------------------------------------------"); printf("\n----------------------------------"); printf("\n Lever 1 Start :"); Begin1: printf("\n----------------------"); printf("\n Question: %d",Leiji+1); /* 输出 题号 */ TestTen(); Leiji++; if(Leiji==Qcount) /* 如果做题个数 和 事先设定好的问题个数相同 则结束答题! */ { printf("\n--------------------------------------------------------"); printf("\n--------------------------------------------------------\n"); printf("\n Test Over!!!\n"); printf("\n--------------------------------------------------------"); printf("\n Your Final Score: %d",Tscore); if(Tscore>=Upnum) printf("\n Your Final Level: LEVEL 2"); else printf("\n Your Final Level: LEVEL 1"); goto LastLine; } if(Tscore<Upnum) /* 分数 小于 升级分数 */ goto Begin1; /* 转向到 Begin1 继续作题 */ printf("\n Up To Advance Level!\n Lever2 Start :---------"); /* 达到升级分数 升级到 Level2 */ Begin2: printf("\n----------------------"); printf("\n Question: %d",Leiji+1); TestHun(); Leiji++; if(Leiji==Qcount) { printf("\n--------------------------------------------------------"); printf("\n--------------------------------------------------------\n"); printf("\n Test Over!!!\n"); printf("\n--------------------------------------------------------"); printf("\n Your Final Score: %d",Tscore); if(Tscore>=Upnum) printf("\n Your Final Level: LEVEL 2"); else printf("\n Your Final Level: LEVEL 1"); goto LastLine; } if(Tscore<Upnum) {printf("\nDown To Normal Level! Lever1 : -------"); /* 从Level2答题过程中分数小于升级分数 降级到Level 1 继续答题 */ goto Begin1;} else goto Begin2; LastLine: printf("\n------------------------------------------------") ; getchar();getchar(); /* 等待用户输入回车结束程序运行 */ } |
|
|
| 221.11.46.* |
4楼 |
|
|
| 221.11.46.* |
5楼 |
|
|
| 221.11.46.* |
7楼 |
|
|
| 221.208.28.* |
8楼 |
|
|
| 202.200.118.* |
10楼 |
|
|
| 218.75.124.* |
11楼 |
|
|
| 222.18.176.* |
12楼 |
|
|
| 211.142.244.* |
13楼 是重复的命令 晕·!!!! |
|
|
| 211.90.208.* |
15楼 在TC2中运行良好 Linking... int.obj : error LNK2001: unresolved external symbol _random int.obj : error LNK2001: unresolved external symbol _clrscr int.obj : error LNK2001: unresolved external symbol _randomize Debug/int.exe : fatal error LNK1120: 3 unresolved externals Ö´ÐÐ link.exe ʱ³ö´í. int.exe - 1 error(s), 0 warning(s) |
|
|
|
16楼 C:\Documents and Settings\Hw\桌面\Cpp2.cpp(159) : error C2065: 'randomize' : undeclared identifier C:\Documents and Settings\Hw\桌面\Cpp2.cpp(160) : error C2065: 'clrscr' : undeclared identifier Error executing cl.exe. 在VC中运行成这样了 |
|
|
|
| 220.175.170.* |
17楼 |
|
|
| 218.28.89.* |
18楼 |
|
|
| 218.25.58.* |
19楼 |
|
|
|
22楼 |
|
|
|
| 124.115.223.* |
23楼 |
|
|
| 124.114.203.* |
24楼 |
|
|
| 221.11.46.* |
25楼 |
|
|
