c++最简单的代码,c++入门代码大全
大家好,今天小编来为大家解答以下的问题,关于c++最简单的代码,c++入门代码大全这个很多人还不知道,现在让我们一起来看看吧!
C++做一个小游戏,有源代码的最好,谢谢
#include<iostream>
#include<fstream>
#include<ctime>
#include<cmath>
#include<stdlib.h>
#include<stdio.h>//时间//文件
#include<string>
#define random(x)(rand()%x)
using namespace std;
void thunder(int Dif,int Row,int Column,char*USer)
{
int r,c,alls[22][22],backstage[22][22]={0};
srand((int)time(0));
for(r=1;r<=Row;r++)//生成alls(0~1)1是雷
{
for(c=1;c<=Column;c++)
{
if(random(6)<1){alls[r][c]=1;} else{alls[r][c]=0;};
}
};
for(r=0;r<=Row+1;r++)//生成 backstage(正确答案)
{
for(int c=0;c<=Column+1;c++)
{
if(alls[r][c]==1)
{
(int)backstage[r][c]='*';//将1变为*代表雷
}
else
{
for(int i=r-1;i<=r+1;i++)//将0变为数字(代表周围雷数)
for(int j=c-1;j<=c+1;j++)
{
if(alls[i][j]!=alls[r][c]&&alls[i][j]==1){backstage[r][c]++;};
}
};//else结束
};// for结束
};// for结束
cout<<"======================*********================================"<<endl;
char surface[22][22];//生成surface(用户界面)
for(r=0;r<22;r++)//全部为零
for(c=0;c<22;c++)
{
surface[r][c]='0';
}
for(r=1;r<=Row;r++)//中间化#形成0包围#的形式(通过数#-->(*||数字)的个数赢的时候停止循环)
for(c=1;c<=Column;c++)
{
surface[r][c]='#';
}
for(r=1;r<=Row;r++)//输出 surface界面便于检查
{
for(c=1;c<=Column;c++){cout<<""<<surface[r][c];};
cout<<endl;
};
cout<<"请按格式输入"<<endl
<<"前两个数字为坐标,最后一个数字“1”表示此位置为雷,“0”则表示不是。"<<endl
<<"如:1 3 1表示一行三列是雷;2 4 0表示二行四列不是雷"<<endl
<<"提示:当数字周围雷都被扫出时,可再次按要求输入此位置,可得到周围数字。"<<endl;
long i=10000000L;//计算时间开始
clock_t start,finish;
double duration;
start=clock();
while(i--);//计算时间开始
int num=Row*Column;//计算#号个数
while(num!=0)//控制是否点完所有位置
{
int x,y,judge;
cin>>x>>y>>judge;
if(alls[x][y]!=judge)
{
cout<<"you lose!!!"<<endl;
cout<<"The answer is:"<<endl;
for(r=1;r<=Row;r++)//输了输出backstage显示正确答案
{
for(int c=1;c<=Column;c++)
{
cout<<""<<(char)(backstage[r][c]==42?backstage[r][c]:backstage[r][c]+'0');//输出backstage
}
cout<<endl;
}
break;
}
else
{
if(alls[x][y]==1){if(surface[x][y]=='#'){num--;}surface[x][y]='@';}//雷判断正确显示“@”;数“#”
else
{
if(backstage[x][y]!=0)//数字判断正确显示数字
{
if(surface[x][y]=='#'){num--; surface[x][y]=backstage[x][y]+'0';}//数“#”
else
{
int lei_num=0;
for(int i=x-1;i<=x+1;i++)//数数字周围雷的个数
for(int j=y-1;j<=y+1;j++)
{
if(surface[i][j]=='@')
lei_num++;
}
if(backstage[x][y]==lei_num)//看数字周围雷是否全部扫出提示显示数字周围
{
for(int i=x-1;i<=x+1;i++)
for(int j=y-1;j<=y+1;j++)
if(surface[i][j]=='#')//数“#”
{
surface[i][j]=backstage[i][j]+'0';
num--;
}
}
}
}
else//数字为零时显示零周围的零
{
if(surface[x][y]=='#'){num--;};//数“#”
surface[x][y]=backstage[x][y]+'0';
for(int i=x-1;i<=x+1;i++)//显示零周围的数字
for(int j=y-1;j<=y+1;j++)
if(surface[i][j]=='#')//避免死循环
{
surface[i][j]=backstage[i][j]+'0';
num--;//数“#”
}
for(int k=0;k<20;k++)//最多20层零(点出最边上的零)
{
for(int R=1;R<=Row;R++)//检查所有零
for(int C=1;C<=Column;C++)//再次显示零周围的数字
{
if(surface[R][C]=='0')
{
for(int i=R-1;i<=R+1;i++)
for(int j=C-1;j<=C+1;j++)
{
if(surface[i][j]=='#')//避免死循环数“#”
{
surface[i][j]=backstage[i][j]+'0';
num--;
}
}
}
}//匹配for内
}//匹配 for外
}//匹配else
}//匹配else
}//匹配els
cout<<endl;
cout<<"======================*********================================"<<endl;
for(r=1;r<=Row;r++)//输出界面(已修改)
{
for(c=1;c<=Column;c++){cout<<""<<surface[r][c];};
cout<<endl;
};
}//匹配while
finish=clock();//计算时间结束
duration=(double)(finish-start)/CLOCKS_PER_SEC;//时间变量
if(num==0)//所有
{
cout<<" You win! Congratulations!!"<<endl;
cout<<" Your time is:"<<duration<<endl;
if(Dif==1)//读取简单扫雷的存储文件
{
string Name;
string name[6];
double Time,rang;
double times[6];
int i=0;
ifstream inf("扫雷简单.txt");
for(i=0;i<5;i++)//文件中信息导入到数组里
{
inf>>Name;inf>>rang>>Time;
name[i]=Name;
times[i]=Time;
}
inf.close();
name[5]=USer;//本轮玩家信息
times[5]=duration;
double t1=0;
string t2;
for(int j=0;j<5;j++)//冒泡排序法
{
for(i=0;i<5-j;i++)
{
if(times[i]>times[i+1])
{
t1=times[i];
times[i]=times[i+1];
times[i+1]=t1;
t2=name[i];
name[i]=name[i+1];
name[i+1]=t2;
}
}
}
ofstream outf("扫雷简单.txt");
for(i=0;i<5;i++)//将前五名玩家信息存储到文件中
{
cout<<name[i]<<""<<i+1<<""<<times[i]<<endl;
outf<<name[i]<<""<<i+1<<""<<times[i]<<endl;
}
outf.close();
}
if(Dif==2)//读取一般扫雷的存储文件
{
string Name;
string name[6];
double Time,rang;
double times[6];
int i=0;
ifstream inf("扫雷一般.txt");
for(i=0;i<5;i++)//文件中信息导入到数组里
{
inf>>Name;inf>>rang>>Time;
name[i]=Name;
times[i]=Time;
}
inf.close();
name[5]=USer;//本轮玩家信息
times[5]=duration;
double t1=0;
string t2;
for(int j=0;j<5;j++)//冒泡排序法
{
for(i=0;i<5-j;i++)
{
if(times[i]>times[i+1])
{
t1=times[i];
times[i]=times[i+1];
times[i+1]=t1;
t2=name[i];
name[i]=name[i+1];
name[i+1]=t2;
}
}
}
ofstream outf("扫雷一般.txt");
for(i=0;i<5;i++)//将前五名玩家信息存储到文件中并输出
{
cout<<name[i]<<""<<i+1<<""<<times[i]<<endl;
outf<<name[i]<<""<<i+1<<""<<times[i]<<endl;
}
outf.close();
}
if(Dif==3)//读取困难扫雷的存储文件
{
string Name;
string name[6];
double Time,rang;
double times[6];
int i=0;
ifstream inf("扫雷困难.txt");
for(i=0;i<5;i++)//文件中信息导入到数组里
{
inf>>Name;inf>>rang>>Time;
name[i]=Name;
times[i]=Time;
}
inf.close();
name[5]=USer;//本轮玩家信息
times[5]=duration;
double t1=0;
string t2;
for(int j=0;j<5;j++)//冒泡排序法
{
for(i=0;i<5-j;i++)
{
if(times[i]>times[i+1])
{
t1=times[i];
times[i]=times[i+1];
times[i+1]=t1;
t2=name[i];
name[i]=name[i+1];
name[i+1]=t2;
}
}
}
ofstream outf("扫雷困难.txt");
for(i=0;i<5;i++)//将前五名玩家信息存储到文件中
{
cout<<name[i]<<""<<i+1<<""<<times[i]<<endl;
outf<<name[i]<<""<<i+1<<""<<times[i]<<endl;
}
outf.close();
}
}
}
void scale(int dif,char*User)//选择难度
{
int row,column;
if(dif==1){row=3;column=3;}
if(dif==2){row=7;column=7;}
if(dif==3){row=10;column=10;}
cout<<"The scale is:"<<row<<"*"<<column<<endl;
thunder(dif,row,column,User);
};
int main()
{
int Continue=1;
int difficulty;
char user[10];
cout<<" Welcom to the game!"<<endl
<<"请输入用户名!"<<endl;
cin>>user;
while(Continue==1)
{
cout<<"=======================*******************======================="<<endl
<<"请选择难度!"<<endl
<<"简单——1"<<endl
<<"一般——2"<<endl
<<"困难——3"<<endl;
cin>>difficulty;
scale(difficulty,user);
cout<<"继续游戏——1结束游戏——0"<<endl;
cin>>Continue;
}
return 0;
}
扫雷小游戏,自己编的代码
c++入门代码是什么
c++入门代码是:
#include<stdio.h>
intmain(void)
{
printf("Hello,world!");
return0;
}
代码解析:
其中第一行的#include<stdio.h>,这行代码是编译预处理指令,用来提供输入输出函数的声明和宏的定义,全局量的定义这些信息。stdio.h是系统提供的一个文件名,stdio是为standardinput&output的缩写,意为标准输入输出,
文件后缀.h的意思是头文件(header file),因为这些文件都是放在程序各文件模块的开头的。总的来说,输入输出函数的相关信息已事先放在stdio.h文件中,然后,要用#include指令把这些信息调入供使用。
void main(){},main是主函数的函数名,表示这是一个主函数,每一个C源程序都必须有且只能有一个主函数。
函数调用语句,即调用printf("Hello World
");语句,printf函数的功能是把要输出的内容送到显示器去显示,即打印输出HelloWorld到windows控制台下,其中
为转义字符,具有转行的功能。
c++入门代码是多少
c++入门代码是:
#include<stdio.h>
intmain(void)
{
printf("Hello,world!");
return0;
}
介绍
C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。
C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。
C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。
好了,文章到这里就结束啦,如果本次分享的c++最简单的代码和c++入门代码大全问题对您有所帮助,还望关注下本站哦!