c++ - 如何将变量放入数组

标签 c++ arrays variables element

我正在制作一个篮球记分牌,可以确定每个节和正赛的获胜者。 如何将变量的值存储在数组中? 我想将“Q1teamOne、Q2teamOne、Q3teamOne、Q4teamOne”的值以及“Q1teamTwo、Q2teamTwo、Q3teamTwo、Q4teamTwo”的值放入数组中,或者将它们作为数组的元素。

#include <iostream>
#include <string>
using namespace std;

int main()
{
string Team1;
string Team2;
double OTscore1;
double OTscore2;
int Q1teamOne, Q2teamOne, Q3teamOne, Q4teamOne; 
int Q1teamTwo, Q2teamTwo, Q3teamTwo ,Q4teamTwo;
int Q2TeamOneTotal, Q3TeamOneTotal, Q4TeamOneTotal;
int Q2TeamTwoTotal, Q3TeamTwoTotal, Q4TeamTwoTotal;
double teamOneScore[4];
double teamTwoScore[4];
int index;
double sumOne, sumTwo;

cout << "BASKETBALL SCOREBOARD:\n" << endl;
cout << "Enter Team 1 name: ";
getline (cin, Team1);
cout << "Enter Team 2 name: ";
getline (cin, Team2);

//FIRST QUARTER

cout << "\nQUARTER 1:\n\n";
cout << "Team " << Team1 << " Score: ";
cin  >> Q1teamOne;

cout << "Team " << Team2 << " Score: ";
cin  >> Q1teamTwo;

if (Q1teamOne > Q1teamTwo)
    {
        cout <<"****" << "Team " << Team1 << " is Leading.****\n\n";
    }
else if (Q1teamOne < Q1teamTwo)
    {
        cout <<"****" << Team2 << " is Leading.****\n\n";
    }
else if (Q1teamOne = Q1teamTwo)
{
    cout <<"****We Have a Tie!!****\n\n";
}


//SECOND QUARTER
cout << "\nQUARTER 2:\n\n";
cout << "Team " << Team1 << " Score: ";
cin  >> Q2teamOne;
Q2TeamOneTotal = Q1teamOne + Q2teamOne;
cout <<"Total Score: "<< Q2TeamOneTotal <<endl;;

cout << "Team " << Team2 << " Score: ";
cin  >> Q2teamTwo;
Q2TeamTwoTotal = Q1teamTwo + Q2teamTwo;
cout <<"Total Score: " << Q2TeamTwoTotal;


if (Q2TeamOneTotal > Q2TeamTwoTotal)
    {
        cout <<"\n****" << Team1 << " is Leading.****\n\n";
    }
else if (Q2TeamOneTotal < Q2TeamTwoTotal)
    {
        cout <<"\n****" << Team2 << " is Leading.****\n\n";
    }
else if (Q2TeamOneTotal = Q2TeamTwoTotal)
{
    cout <<"\n****We Have a Tie!!****\n\n";
}


//THIRD QUARTER
cout << "\nQUARTER 3:\n\n";
cout << "Team " << Team1 << " Score: ";
cin  >> Q3teamOne;
Q3TeamOneTotal = Q1teamOne + Q2teamOne + Q3teamOne;
cout <<"Total Score: "<< Q3TeamOneTotal <<endl;;

cout << "Team " << Team2 << " Score: ";
cin  >> Q3teamTwo;
Q3TeamTwoTotal = Q1teamTwo + Q2teamTwo + Q3teamTwo;
cout <<"Total Score: " << Q3TeamTwoTotal;


if (Q3TeamOneTotal > Q3TeamTwoTotal)
    {
        cout <<"\n****" << Team1 << " is Leading.****\n\n";
    }
else if (Q3TeamOneTotal < Q3TeamTwoTotal)
    {
        cout <<"\n****" << Team2 << " is Leading.****\n\n";
    }
else if (Q3TeamOneTotal = Q3TeamTwoTotal)
    {
    cout <<"\n****We Have a Tie!!****\n\n";
    }

//FOURTH QUARTER

cout << "\nQUARTER 4:\n\n";
cout << "Team " << Team1 << " Score: ";
cin  >> Q4teamOne;
Q4TeamOneTotal = Q1teamOne + Q2teamOne + Q3teamOne + Q4teamOne;
cout <<"Total Score: "<< Q4TeamOneTotal <<endl;

cout << "Team " << Team2 << " Score: ";
cin  >> Q4teamTwo;
Q4TeamTwoTotal = Q1teamTwo + Q2teamTwo + Q3teamTwo + Q4teamTwo;
cout <<"Total Score: " << Q4TeamTwoTotal;


    if (Q4TeamOneTotal > Q4TeamTwoTotal)
    {
        cout <<"\n****" << Team1 << " is Leading.****\n\n";
    }
else if (Q4TeamOneTotal < Q4TeamTwoTotal)
    {
        cout <<"\n****" << Team2 << " is Leading.****\n\n";
    }
else if (Q4TeamOneTotal = Q4TeamTwoTotal)
    {
    cout <<"\n****We Have a Tie!!****\n\n";
    }

最佳答案

例如

#include <functional>

//...


std::reference_wrapper<int> teamOne[] = { Q1teamOne, Q2teamOne, Q3teamOne, Q4teamOne };

std::reference_wrapper<int> teamTwo[] = { Q1teamTwo, Q2teamTwo, Q3teamTwo ,Q4teamTwo };

这是一个演示程序

#include <iostream>
#include <functional>

int main()
{
    int Q1teamOne, Q2teamOne, Q3teamOne, Q4teamOne;
    std::reference_wrapper<int> teamOne[] = 
    { 
        Q1teamOne, Q2teamOne, Q3teamOne, Q4teamOne 
    };

    int i = 0;
    for ( auto &x : teamOne ) x.get() = i++; 

    for ( const auto &x : teamOne ) std::cout << x << ' ';
    std::cout << std::endl;

    return 0;
}

程序输出为

0 1 2 3

或者如果不需要原始值和数组之间的链接那么你可以简单地写

double teamOneScore[] = { Q1teamOne, Q2teamOne, Q3teamOne, Q4teamOne };

您也可以在基于 for 语句的范围内使用初始化列表,而无需声明任何数组。例如

for ( int x : { Q1teamOne, Q2teamOne, Q3teamOne, Q4teamOne } ) std::cout << x << ' ';
std::cout << std::endl;

关于c++ - 如何将变量放入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27244985/

相关文章:

javascript - 将非法 token 传递给 JavaScript 函数?

c++ - 为一对中的一个元素提供小于运算符

c++ - 访问冲突写入位置 0x00000000

javascript - 转换 javascript 对象列表

java - 如何访问 if block 内声明的变量?

javascript - 为什么函数变量可以有对象属性而数字变量不能?

c# - C# 中的 C++ union — 奇怪的行为

C++:32 位到 64 位迁移

php - 获取两个数组之间添加/删除/更改的键=>值对

php - 将数组拆分为 N 个数组 - PHP