我正在将队名输入足球联赛。
我有一个阵列设置,以便联盟最多可以使用4支球队,
我还有一个数组,表明联盟中的球队数量恰好是4支球队。
所以我想设置一个计数器,阻止我输入太多团队名称。
这是我的一小部分代码
str teamName
for(int i = 0; i < leagueSize; i++)
cout << "Enter a Team Name"<<endl'
cin >> teamName;
那么有没有办法让团队名称值为1,这样每次输入团队名称时,它会减少数组中的数字,直到我无法再添加任何团队?
我是c ++的新手,并且没有那么久的学习,所以我可能完全不在这里。
提前致谢。
答案 0 :(得分:4)
你几乎就在那里,你只是缺少一些花括号,你需要为团队名称声明一个数组而不是一个字符串:
#include <iostream>
#include <string>
using namespace std;
int main(void)
{
int leagueSize = 4;
string teamNames[leagueSize];
for (int i = 0; i < leagueSize; i++) {
cout << "Enter a team name:" << endl;
cin >> teamNames[i];
}
cout << endl;
cout << "The following teams have been entered:" << endl;
for (int i = 0; i < leagueSize; i++) {
cout << "Team " << (i + 1) << ": " << teamNames[i] << endl;
}
}
答案 1 :(得分:2)
用于控件结构(以及if,else和while)执行下一个语句或块。所以在你的例子中:
for(int i = 0; i < leagueSize; i++)
cout << "Enter a Team Name"<<endl;
cin >> teamName;
只有输出语句是for循环的一部分,输入语句只在整个循环结束后发生一次。
所以,你想要做的是把你的代码放在一个块中:
for(int i = 0; i < leagueSize; i++)
{
cout << "Enter a Team Name"<<endl;
cin >> teamName;
}
许多C和C ++编码样式建议您始终使用块,即使您只有一个语句:
for (...)
{
one-statement;
}
答案 2 :(得分:0)
好的,所以我编写了一些代码,
具体说明如下: 编写一个函数来输入所有团队名称并设置所有其他变量
所以我可以在一个函数中完成所有操作,不是吗?
这是我提出的全部功能
void addTeam(T * T,char * teamName,int i)
{
str teamName [leagueSize];
for(int i = 0; i < leagueSize; i++)
{
cout << "Enter a Team Name"<<endl'
cin >> teamName[i];
}
cout << endl;
cout << "The following teams have been entered:" << endl;
for (int i = 0; i < leagueSize; i++) {
cout << "Team " << (i + 1) << ": " << teamNames[i] << endl;
T[i].name = teamName;
T[i].numPoints = 0;
T[i].numGoalsFor = 0;
T[i].numGoalsAgainst = 0;
T[i].numMatchesPlayed = 0;
T[i].numMatchesWon = 0;
T[i].numMatchesLost = 0;
T[i].numMatchesDrawn = 0;
}