美容护肤知识

代码语言:c代码运行次数:0运行复制

#---- TableTennis.h ----#

typedef struct

{

int aCount;

int aStatusFlag;

int aWinFourgamesFlag;

int aCompetentFlag;

}aScoreStruct;

extern aScoreStruct aScoreS;

typedef struct

{

int bCount;

int bStatusFlag;

int bWinFourgamesFlag;

int bCompetentFlag;

}bScoreStruct;

extern bScoreStruct bScoreS;

#---- TableTennis.c ----#

#include

#include "TableTennis.h"

aScoreStruct aScoreS;

bScoreStruct bScoreS; // 结构体声明,引用,理解为: 结构体 被 bScoreS 继承

#define ScoreZero 0 // 定义常量变量,理解为 普通变量 后面是赋值 0

#define ScoreFour 4

#define ScoreTen 10

#define ScoreEleven 11

#define ScoreTwelve 12

static int VictoryExitFlag = 0; // static 静态变量 其数值 为0 不被更改,一般在函数内:被其他方法赋值后,在其他if 或者 for 等方法中 不希望保留数值,而是每次都是 0 进行使用

static int abTieFlag = 0;

void Counting_Score(aScoreStruct *_aScoreS,bScoreStruct *_bScoreS,int inputData[2])

{ // 结构体 赋值给 指针,main 函数调用本函数需要传递内存地址

if( inputData[0] == 1 )

{

_aScoreS->aStatusFlag = 1;

_aScoreS->aCount++;

}

else

{

_bScoreS->bStatusFlag = 1;

_bScoreS->bCount++;

}

if(_aScoreS->aCount == ScoreFour && _bScoreS->bCount == ScoreZero)

{

VictoryExitFlag = 1;

aScoreS.aWinFourgamesFlag = 1;

printf("\n a 胜利,连胜 %d 局 \n",ScoreFour);

}

if(_aScoreS->aCount == ScoreZero && _bScoreS->bCount == ScoreFour)

{

VictoryExitFlag = 1;

bScoreS.bWinFourgamesFlag = 1;

printf("\n b 胜利,连胜 %d 局 \n",ScoreFour);

}

if( _bScoreS->bCount == ScoreTen && _aScoreS->aCount == _bScoreS->bCount )

{

printf("\n a b 在 %d : %d 中平局,需要加局赛 \n",ScoreTen,ScoreTen );

abTieFlag = 1;

}

if( _aScoreS->aCount == ScoreTwelve && abTieFlag == 1)

{

VictoryExitFlag = 1;

printf("\n a 胜利,得分: %d ; 来自: %d : %d 平局加局赛 \n",_aScoreS->aCount, ScoreTen,ScoreTen);

}

if( _bScoreS->bCount == ScoreTwelve && abTieFlag == 1)

{

VictoryExitFlag = 1;

printf("\n b 胜利,得分: %d ; 来自: %d : %d 平局加局赛 \n",_bScoreS->bCount, ScoreTen,ScoreTen);

}

if( _aScoreS->aCount == ScoreEleven && abTieFlag == 0)

{

VictoryExitFlag = 1;

printf("\n a 胜利,得分: %d ; 来自:先得 11 分\n",_aScoreS->aCount);

}

if( _bScoreS->bCount == ScoreEleven && abTieFlag == 0)

{

VictoryExitFlag = 1;

printf("\n b 胜利,得分: %d ; 来自:先得 11 分\n",_bScoreS->bCount);

}

}

int TableTennis(void)

{

for(;;)

{

int inputData[2];

if( VictoryExitFlag == 1 )

{

printf("\n 统计结束 \n");

break;

}

printf("\n 输入 A 的分数,然后回车输入B的分数 \n");

for(int i=0;i<2;i++)

{

scanf("%d",&inputData[i]);

}

Counting_Score(&aScoreS,&bScoreS,inputData);

printf("\n aScoreS.aCount = %d,aScoreS.aWinFourgamesFlag = %d,\n bScoreS.aCount = %d,bScoreS.bWinFourgamesFlag = %d",aScoreS.aCount,aScoreS.aWinFourgamesFlag,bScoreS.bCount,bScoreS.bWinFourgamesFlag);

}

}

int main()

{

TableTennis();

}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

c 语言原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

c 语言