?? 猜數字(1)3.0.cpp
字號:
#include<stdio.h>
#include<string.h>
#include<iostream.h>
#include<stdlib.h>
#include<ctype.h>
#include<time.h>
#define random(x) (rand()%x) //產生隨機數
long Input_number() //判斷輸入的數是否為整數
{
char number[10];
long s=0;
continue2: gets(number);
for(int i=0;i<strlen(number);i++)
if(!isdigit(number[i]))
{cout<<"不合法!請重新輸入數字:"<<endl;goto continue2;}
for(int i=0;i<strlen(number);i++)
{
s=s*10+(number[i]-48);
}
return s;
}
int Judge_letter(char *answer) //判斷輸入的字母是否合法
{
while(strlen(answer)!=1)
{
cout<<"不合法!請重新輸入字母:";
cin>>answer;
}
if(*answer=='y')return 1;
else
if(*answer=='n'){ return 0;}
else
{
cout<<"不合法!請重新輸入字母:";
cin>>answer;
Judge_letter(answer);
}
}
int number_circulate(int check_letter) //確定數的范圍
{
int i,x,number,a;
int number_copy1,number_copy2;
char answer[10];
while(check_letter!=0)
{
cout<<"您只有5次機會."
<<"請輸入1~100之間的一個整數:\n"<<endl;
srand((int)time(NULL));
x=random(100);
number_copy1=0,number_copy2=100;
for(i=4;i>0;i--)
{
number=Input_number();
while(number<=number_copy1||number>=number_copy2) //判斷數是否在范圍內
{
cout<<"輸入的數不在范圍之內,請重新輸入:\n"<<endl;
number=Input_number();
}
if(number>x)
{
cout<<"輸入的數不正確,還有"<<i<<"次機會,現在的范圍是:"
<<number_copy1<<"~"<<number<<endl<<endl;
number_copy2=number;
}
else
if(number<x)
{
cout<<"輸入的數不正確,還有"<<i<<"次機會,現在的范圍是"
<<number<<"~"<<number_copy2<<endl<<endl;
number_copy1=number;
}
else
{
cout<<"恭喜您,回答正確!"<<endl;goto continue1;
}
}
number=Input_number();
if(number!=x)
cout<<"對不起,您已經沒有機會了!"<<endl;
else
cout<<"恭喜您,回答正確!"<<endl;
cout<<"正確答案是:"<<x<<endl;
continue1:cout<<"想再來一次嗎?y/n"<<endl;
cin>>answer;
check_letter=Judge_letter(answer);
}
return 1;
}
void main()
{
int check;
char answer[10];
cout <<" =================================="<<endl;
cout <<" 歡迎使用猜數字游戲! "<<endl;
cout <<" Made By LWW on 24/10/2008 "<<endl;
cout <<endl;
cout <<"游戲說明:系統將隨機給出一個0~100之間的整數,您的任務就是猜出這個數!"<<endl;
cout <<" 錯誤輸入時,系統將會出現提示!"<<endl;
cout <<" =================================="<<endl;
putchar('\n');
cout <<" 是否要開始游戲:(y/n)"<<endl;
cout <<"在此輸入:";
gets(answer);
putchar('\n');
check=Judge_letter(answer); //判斷輸入的字母是否合法
number_circulate(check); //確定數的范圍
cout<<"游戲結束!謝謝您的使用!"<<endl;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -