• 大小: 0.01M
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-05-08
  • 语言: C/C++
  • 标签: 其他  

资源简介

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;

评论

共有 条评论