作者SuperEel (SuperEel)
看板C_and_CPP
標題[問題] do-while的時好時壞
時間Fri Sep 18 14:21:11 2009
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#include <time.h>
int main(){
int key,num,i;
printf("運用你的手指來測測今天的運氣喔!!(等等請隨機按ENTER)\n");
Sleep(2000);
system("cls");
do
{
srand(time(NULL));
key = (rand()%100)+1;
num = (rand()%5)+1;
switch(num){
case 1:
printf(".");
break;
case 2:
printf("..");
break;
case 3:
printf("...");
break;
case 4:
printf("....");
break;
case 5:
printf(".....");
break;
}
}while(GetKeyState(13)>0);
return 0;
}
這是我一部分的程式碼
但為啥這個do-while會不能跑呢????
有時候可以跑有時候又不能跑
可以告訴我打do-while需要注意些甚麼嗎???
感謝各位大大
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.125.20.187
推 VictorTom:srand放在do while上面跑一次就夠了.... 09/18 14:24
→ VictorTom:你的key取亂數也沒拿來用, i變數也沒用到.... 09/18 14:25
→ VictorTom:while為什麼不會跑, 可能要請你去搞清楚GetKeyState(). 09/18 14:25
→ SuperEel:key跟i我後面才會用到= =!所以我才說是一部分 09/18 14:38
→ SuperEel:還是感謝大大 09/18 14:38
推 VictorTom:err~~好吧, 那就不要理我....(掩面) 09/18 14:47
推 fabdawn:你Sleep(2000)之前加上 while(GetKeyState(13)<0); 09/18 14:56
→ fabdawn:讓enter初始化為 on..然後把while裡的 >改成>= 09/18 14:57
→ fabdawn:我試了幾次是沒問題..不過這種問題應該自己去想...= =|| 09/18 14:57
→ fabdawn:寫程式應該要去google一下reference 09/18 14:58
→ fabdawn:我也只是想跟你說有這個 GetKeyState的函式 09/18 14:59
→ tropical72:恕我無知.我以為在這裡用getche()就可以了.不能用嗎? 09/19 02:32