资源简介
24点游戏.cpp
代码片段和文件信息
#include
#include
#include
#include
using namespace std;
double Operate(char ch double a double b);
char Precede(char achar b);
int CaluExpress(char *int []);
static double fabs(double);
int fun1(int);
float fun2(float afloat bint n);
char fun3(int);
char fun4(int);
void PrintExpress(int);
int putr(int *int);
void ClearSpace(char *);
void GameResult();
void PrintHelp();
void RandomTest();
void gotoxy(int int);
void PrintMenu(int);
void clr(int int);
void PrintEnd(int);
void file(int);
static int location;
static int times;
int ans[4];
time_t now;
struct sort
{
char na[5][30];
double sc[5];
int la;
}so;
void file(int n)
{
int len;
if(n==0)
{
FILE *file=fopen(“rank.txt““wb“);
sort te=so;
for(int t2=0;t2<5;t2++)
{
len=strlen(te.na[t2]);
for(int t3=0;t3 te.na[t2][t3]--;
}
fwrite((char*)&tesizeof(te)1file);
fclose(file);
}
else
{
FILE *file=fopen(“rank.txt““rb“);
if(file==0) return ;
fread((char*)&sosizeof(so)1file);
for(int p=0;p<5;p++)
{
len=strlen(so.na[p]);
for(int j=0;j so.na[p][j]++;
}
fclose(file);
}
}
void gotoxy(int nX int nY)//参见函数SetConsoleCursorPosition()
{
HANDLE device;//定义一个句柄
device=GetStdHandle(STD_OUTPUT_HANDLE); //获得输出设备的句柄
COORD position; //定义结构体变量
position.X=nX;
position.Y=nY;
SetConsoleCursorPosition(deviceposition); //定位
}
void PrintMenu(int n)
{
int i;
switch(n)
{
case 1:
printf(“\n\t\t\t^-^欢迎进入速算24游戏^-^\n\n“);
printf(“以下是游戏选项:“);
printf(“ 1.开始游戏 \t2.查看游戏规则及其排行 3.退出游戏。\n“);
printf(“请输入游戏选项: “);
return ;
case 2:
printf(“\n您只能输入数字1,2 或 3。\n“);
PrintEnd(1);
return;
case 3:
clr(07);
printf(“请用加减乘除和括号将下面四个基数组成一串算式,使它的值为24。\n“);
printf(“您也可以直接选择: \n\n1.返回\t 2.退出\t3.产生一个答案\t 4.检验一组基数\n“);
gotoxy(013);
printf(“敲“回车”键开始输入并计时....“);
PrintEnd(0);
clr(013);
printf(“这组基数为:“);
for(i=0;i<4;i++)
printf(“%d “ans[i]);
gotoxy(4414);
printf(“系统已开始计时“);
gotoxy(016);
printf(“开始输入:“);
return ;
case 4:
clr(016);
printf(“其中一种算法:“);
putr(ans1);
PrintEnd(1);
return;
case 5:
printf(“并且您进入了排行榜,请留下您的痕迹:“);
return ;
case 6:
int val[4];
clr(013);
printf(“请输入要检测的四个基数: “);
for(i=0;i<4;i++)
scanf(“%d“&val[i]);
for(i=0;i<4;i++)
if(val[i]>13||val[i]<1)
break;
fflush(stdin);
if(i<4)
printf(“\n数据范围有误!\n“);
if(i<4)
{
PrintEnd(1);
return ;
}
clr(2413);
for(i=0;i<4;i++)
printf(“%d “val[i]);
gotoxy(015);
if(putr(val0)==0&&i==4)
printf(“此基数是无效的,不能算成24.\n“);
else
printf(“此基数组是有效的,其中一种算法:“);
putr(val1);
PrintEnd(1);
return;
case 7:
gotoxy(1016);
printf(“ “);
printf(“\n\n计算错误请重新输入!“);
return;
- 上一篇:霍夫曼编码C++实现
- 下一篇:Huffman编/译码器C语言代码
评论
共有 条评论