📄 bowling1.cpp
字号:
// Bowling1.cpp: implementation of the CBowling class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "Bowling1.h"
#include "iostream.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CBowling::CBowling()
{
}
CBowling::~CBowling()
{
}
void CBowling::INitArray()
{
for(int m=0;m<=10;m++)
{
m_RecordList[m].First = 0;
m_RecordList[m].Second = 0;
m_RecordList[m].Grade = 0;
m_RecordList[m].All = 0;
m_RecordList[m].iFlag = 0;
m_RecordList[m].bFlag = 0;
}
}
void CBowling::InputNum(int round)
{
int iCount;
m_iRound = round;
if((m_iRound == 10) && ((m_RecordList[m_iRound-1].iFlag == 1) || //第十轮和为10处理
(m_RecordList[m_iRound-1].iFlag == 2)))
{
cout<<"Please input addtion once:"<<":\n";
cin>>iCount;
m_RecordList[m_iRound].First = iCount;
if(m_RecordList[m_iRound-1].iFlag == 1)
{
cout<<"Please input addtion once:"<<":\n";
cin>>iCount;
m_RecordList[m_iRound].Second = iCount;
}
m_RecordList[m_iRound].iFlag = 4;
}
else if(m_iRound != 10) //一般处理
{
cout<<"Please input the first number you have hit of round"<<m_iRound+1<<":\n";
cin>>iCount;
m_RecordList[m_iRound].First = iCount;
if(m_RecordList[m_iRound].First != 10)
{
cout<<"Please input the second number you have hit of round"<<m_iRound+1<<":\n";
cin>>iCount;
m_RecordList[m_iRound].Second = iCount;
if(m_RecordList[m_iRound].First + m_RecordList[m_iRound].Second == 10)
{
m_RecordList[m_iRound].iFlag = 2;
}
else
{
m_RecordList[m_iRound].iFlag = 3;
}
}
else
{
m_RecordList[m_iRound].iFlag = 1;
}
}
}
void CBowling::GetAll()
{
int icount = 0;
while(m_RecordList[icount].bFlag == 1)
{
if(m_RecordList[icount].All == 0)
{
for(int k=0;k<=icount;k++)
{
m_RecordList[icount].All += m_RecordList[k].Grade;
}
}
icount++;
}
}
void CBowling::GetGrade()
{
if(m_RecordList[m_iRound].iFlag == 3) //一般处理
{
m_RecordList[m_iRound].Grade = m_RecordList[m_iRound].First + m_RecordList[m_iRound].Second;
m_RecordList[m_iRound].bFlag = 1;
}
for(int i=0;i<=m_iRound;i++)
{
if((m_RecordList[i].iFlag == 1) && (m_RecordList[i+1].iFlag == 1)
&& (m_RecordList[i+2].iFlag == 1))
{
m_RecordList[i].Grade= 30;
m_RecordList[i].bFlag = 1;
}
else if((m_RecordList[i].iFlag == 1) && (m_RecordList[i+1].iFlag == 1)
&& (m_RecordList[i+2].iFlag != 0) && (m_RecordList[i+2].iFlag != 1))
{
m_RecordList[i].Grade = 20 + m_RecordList[i+2].First;
m_RecordList[i].bFlag = 1;
}
else if((m_RecordList[i].iFlag == 1) && (m_RecordList[i+1].iFlag != 0)
&& (m_RecordList[i+1].iFlag != 1))
{
m_RecordList[i].Grade = 10 + m_RecordList[i+1].First
+ m_RecordList[i+1].Second;
m_RecordList[i].bFlag = 1;
}
else if((m_RecordList[i].iFlag == 2) && (m_RecordList[i+1].iFlag != 0))
{
m_RecordList[i].Grade = 10 + m_RecordList[i+1].First;
m_RecordList[i].bFlag = 1;
}
if((i == 9) && (m_RecordList[9].iFlag == 1) && (m_RecordList[10].bFlag == 1) //九轮,十论处理
&& (m_RecordList[11].iFlag == 4))
{
m_RecordList[9].Grade = 20 + m_RecordList[11].First;
m_RecordList[9].bFlag = 1;
}
else if((i == 10) && ((m_RecordList[10].iFlag == 1) || (m_RecordList[10].iFlag == 2))
&& (m_RecordList[11].iFlag == 4))
{
m_RecordList[10].Grade = 10 + m_RecordList[11].First + m_RecordList[11].Second;
m_RecordList[10].bFlag = 1;
}
}
}
void CBowling::Output()
{
for(int j=0;j<=m_iRound;j++)
{
cout<<j+1<<"\t";
if(m_RecordList[j].iFlag != 0)
{
if(m_RecordList[j].First != 0)
{
cout<<m_RecordList[j].First<<"\t";
}
else
{
cout<<"/";
cout<<"\t";
}
if(m_RecordList[j].Second != 0)
{
cout<<m_RecordList[j].Second<<"\t";
}
else
{
cout<<"/";
cout<<"\t";
}
}
if(j == 10)
{
m_RecordList[11].All = 0;
cout<<"/"<<"\t"<<"/"<<"\n";
}
else
{
cout<<m_RecordList[j].Grade<<"\t"<<m_RecordList[j].All<<"\n";
}
}
}
int CBowling::GetiFlag(int round)
{
return m_RecordList[round].iFlag;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -