📄 猜数字(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 + -