我想给一个值为1的字符串

时间:2009-11-26 20:46:11

标签: c++

我正在将队名输入足球联赛。

我有一个阵列设置,以便联盟最多可以使用4支球队,

我还有一个数组,表明联盟中的球队数量恰好是4支球队。

所以我想设置一个计数器,阻止我输入太多团队名称。

这是我的一小部分代码

str teamName

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

cout << "Enter a Team Name"<<endl'
cin >> teamName; 

那么有没有办法让团队名称值为1,这样每次输入团队名称时,它会减少数组中的数字,直到我无法再添加任何团队?

我是c ++的新手,并且没有那么久的学习,所以我可能完全不在这里。

提前致谢。

3 个答案:

答案 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;  

}