方法一:
给你的登录函数( logon)添加一个返回值,登录成功返回1,失败返回0。
在main函数case里调用logon时,验证返回值。
方法二:
在三次密码错误后(printf("三次均错误,退出程序\n")这句后面),用exit函数直接结束程序(头文件stdlib.h)。
#include<stdio.h>#include<stdlib.h>//随机数生成函数srand()与rand() 所需的头文件
#include<time.h> //time()所需的头文件
int main()
{
int sysdata//系统生成的数据
int n//所猜的数据
int sum = 0//记录猜的次数
srand((unsigned)time(NULL))//随机数发生器初始化函数,以时间为种子
sysdata = rand()%100+1//随机生成1到100的随机数
printf("退出程序请按:ctrl + c!\n")
while(1)
{
if(scanf("%d",&n) != 1) //用于判断用户是否结束游戏
{
break //跳出while循环,结束游戏
}
sum++//每输入一次数据,猜的次数加1
if(sum == 10) // 当猜的次数大于10次的时候重新生成新的随机数
{
if(n == sysdata) //最后一次猜数正确,输出结果,结束游戏
{
printf("猜数正确,总共猜了%d次!\n",sum)
break//跳出while循环,结束游戏
}
else //最后一次猜数不正确则重新开始游戏
{
printf("猜数次数超过%d次,重新开始游戏!\n",sum)
sysdata = rand()%100+1//随机生成1到100的随机数
sum = 0
}
}
else
{
if(n == sysdata)
{
printf("猜数正确,总共猜了%d次!\n",sum)//猜数正确,结束游戏
break //跳出while循环,结束游戏
}
else if(n >sysdata)
{
printf("你猜的数据太大!\n")
}
else
{
printf("你猜的数据太小!\n")
}
}
}
printf("猜数游戏结束!\n")
return 0
}
测试结果:
退出程序请按:ctrl + c!
请输入你猜的数据(1-100): 50
你猜的数据太小!
请输入你猜的数据(1-100): 75
你猜的数据太小!
请输入你猜的数据(1-100): 85
你猜的数据太大!
请输入你猜的数据(1-100): 80
你猜的数据太小!
请输入你猜的数据(1-100): 82
你猜的数据太小!
请输入你猜的数据(1-100): 84
猜数正确,总共猜了6次!
猜数游戏结束!
Press any key to continue
用你写的程序改的
#include<stdio.h>#include<stdlib.h>
#include<time.h>
int main()
{
int a
int chai(int a)
printf("请输入你要猜的数字:")
printf("chai=%d\n",chai(a))
}
int chai(int a)
{int b,i=1
while(1)
{
srand(time(NULL))
a=rand()%100
while(i<=10)
{ scanf("%d",&b)
if(a==b)
{
printf("您猜了%d次才猜对此数",i)
return a
}
else if(b>a)
printf("你猜的数字偏大请重新输入")
else
printf("你猜得数字偏小请重新输入")
i++
}
printf("\n刚才你要猜的正确数字是%d,你猜错了\n",a)
break
}
return 0
}