⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 guess.cpp

📁 编程游戏-猜数字,内有文件调用,很适合有一定基础的人
💻 CPP
字号:
#include<iostream.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<time.h>
void check()
{char a[10],b[10];
 FILE *fp;
 cout<<"请输入密码"<<endl;
 cin>>b;
 if((fp=fopen("mima.txt","r"))==NULL)
 cout<<"不能打开文件"<<endl;
 fscanf(fp,"%s",a);
 while(strcmp(a,b)!=0)
	{ cout<<"密码错误,请从新输入"<<endl;
      cin>>b;}
 fclose(fp);
}
void change_mima()
{char a[10],b[10];
 FILE *fp;
 if((fp=fopen("mima.txt","w"))==NULL)
	 cout<<"写入操作错误"<<endl;
 cout<<"请输入密码"<<endl;
 cin>>a;
 cout<<"请再输入密码"<<endl;
 cin>>b;
 if(strcmp(a,b)==0)
 {fprintf(fp,"%s",a);
 cout<<"更改密码成功"<<endl;}
  else
	  cout<<"修改错误"<<endl;
fclose(fp);
}
void guess_num()
{
 int a1,b1;
 int num,guess,n[4],k,i,j,s=0;
  k=0;
  num=0;
  cout<<"欢迎进入猜数字游戏。"<<endl;
  cout<<"游戏规则:请猜出一个四位数,它的每位数字各不相同且每猜一次都提示相应的a、b值"<<endl;
  cout<<"你总共有八次机会"<<endl;
  cout<<"a代表猜对数字的总个数,b代表数字且对应位置都猜对的数字个数";
  cout<<endl<<"由于系统调用函数,可能要延迟一会儿,待出现提示时开始游戏时继续"<<endl;
  
	  while(!s)
   { ::srand((unsigned int)time(NULL));
      s=rand()%10;
	  n[k]=s;}
	  k++;
	 while(k<5)
	 {loop:	 ::srand((unsigned int)time(NULL));
      s=rand()%10;
	  for(i=0;i<k;i++)
	 if(s!=n[i])
       n[k]=s;
	 else goto loop;
	 k++;}
      cout<<endl;
	 for(i=0;i<4;i++)
     num=num*10+n[i];
	 cout<<"让你久等了,非常抱歉!现在你可以开始游戏了"<<endl; 
a1=0;
b1=0;
int v=0;
cout<<"             a          b"<<endl;
cout<<"这是第"<<v+1<<"次    "<<a1<<"          "<<b1<<"         ";
cin>>guess;
int m[4];
while(v<7)
{m[0]=guess/1000;
 m[1]=(guess-m[0]*1000)/100;
 m[2]=(guess-m[0]*1000-m[1]*100)/10;
 m[3]=guess%10;
for(i=0;i<4;i++)
  for(j=0;j<4;j++)
	  if(n[i]==m[j])
		  a1++;
for(i=0;i<4;i++)
 if(n[i]==m[i])
	 b1=b1+1;
if(a1==4&&b1==4) {k=0;break;}
cout<<"这是第"<<v+2<<"次    "<<a1<<"          "<<b1<<"         ";
cin>>guess;
a1=0;
b1=0;
v++;
}

if(k==0)cout<<"你猜对了,这个数是"<<num<<endl;
else cout<<"这个数是"<<num<<endl;
cout<<"你继续吗?(y/n)"<<endl;
}
void main()
{int i;
 char ch;
 check();
 cout<<"                                         欢迎使用猜数字游戏"<<endl;
 cout<<endl<<endl<<endl;
 cout<<"1------------修改密码" <<endl;
 cout<<"2------------猜数字" <<endl;
 cout<<endl<<endl<<endl;
 cout<<"请选择你要的操作"<<endl;
 cin>>i;
 switch(i)
 {case 1:{change_mima();
       cout<<"你要开始游戏吗?(y/n)"<<endl;
	   cin>>ch;
	   while(ch=='y')
	   {guess_num();
	    cin>>ch;
	   }
	   break;}
 case 2:{guess_num();
	     cin>>ch;
		 while(ch=='y')
			 guess_num();
		 break;}
 default :cout<<"error!"<<endl;
		}
 }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -