Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays C++接收文件的多个输入项,然后准确显示它是否需要包含一个循环?_Arrays_Loops_File_Stream - Fatal编程技术网

Arrays C++接收文件的多个输入项,然后准确显示它是否需要包含一个循环?

Arrays C++接收文件的多个输入项,然后准确显示它是否需要包含一个循环?,arrays,loops,file,stream,Arrays,Loops,File,Stream,这将创建一个菜单,用于创建棒球运动员卡,接收关于该卡的信息输入并将其存储到文件中;然后使用所述文件输出棒球卡信息。我的问题是,当我输入第一张卡并显示它时,所有信息都是正确的,但当我添加另一张卡时,新信息在数字旁边正确打印出来,并删除以前的输入。我需要的信息是输入的所有卡显示每次文件读取和显示。我也有一个头球,让我知道这是否有帮助 #include <iostream> #include <fstream> #include <cstdlib> #include

这将创建一个菜单,用于创建棒球运动员卡,接收关于该卡的信息输入并将其存储到文件中;然后使用所述文件输出棒球卡信息。我的问题是,当我输入第一张卡并显示它时,所有信息都是正确的,但当我添加另一张卡时,新信息在数字旁边正确打印出来,并删除以前的输入。我需要的信息是输入的所有卡显示每次文件读取和显示。我也有一个头球,让我知道这是否有帮助

#include <iostream>
#include <fstream>
#include <cstdlib>
#include <iomanip>
#include <string>
#include <array>
#include "baseBallCardHead.h"

using namespace std;
int select{0};
void readAndDisplayRecords(array<unsigned int, 5>&);
void inputAndWriteRecords(array<unsigned int, 5>&);
void resetFile(array<unsigned int, 5>&);

PlayerProfile playerCard;
bool selection{true};

int main()
{
array<unsigned int, 5> cardCount{};
\\Creates a menu to select from.
while (selection != false){
  cout << "Baseball Player list"
   << "\n\nPlease select:"
   << "\n\n1 - Add a Card"
   << "\n\n2 - Display Card List"
   << "\n\n3 - Reset (erase) Card List"
   << "\n\n4 - Exit"
   << "\n\n?" << endl;
   cin >> select;
    switch(select){
    case 4:
        return 0;
        selection = false;
    case 3:
        resetFile(cardCount);
        break;
    case 2:
        readAndDisplayRecords(cardCount);
        break;
    case 1:
        inputAndWriteRecords(cardCount);
        break;
    }
}
    return 0;
}
\\Reads from void inputAndWriteRecords
void readAndDisplayRecords(array<unsigned int, 5>& cardCount) {
string baseballCards;
ifstream cards("baseballCards.txt", ios::in);
if(!cards){
        cerr << "File could not be opened" << endl;
        exit(EXIT_FAILURE);
    }
for (size_t i=0; i < 5; i++){
      cards  >>  baseballCards;
cout << left << "Year" << "\tCard" << "\tCard#" << "\tPlayer" << "\t\tPosition\n"
<< "\n" << playerCard.getYear() << "\t" << playerCard.getComp()
<< "\t" << playerCard.getCardNumb() << "\t" << playerCard.getName()
<< "\t"  << playerCard.getPos() << "\n\n";
}
cards.close();
}

void inputAndWriteRecords(array<unsigned int, 5>& cardCount){
string playerName;
string playerPos{""};
string compName{""};
int cardYear, cardNum = 0;

ofstream cards("baseballCards.txt",ios::out);
for (size_t i=0; i < 5; i++){
cout << "\n\nEnter Card Year: ";
cin >> cardYear;
playerCard.setYear(cardYear);

cout << "\n\nEnter Card Company: ";
cin >> compName;
playerCard.setComp(compName);

cout << "\n\nEnter Card Number: ";
cin >> cardNum;
playerCard.setCardNumb(cardNum);
cin.ignore();

cout << "\n\nEnter Player Name: ";
getline(cin, playerName);
playerCard.setName(playerName);

cout << "\n\nEnter Player Position: ";
cin >> playerPos;
playerCard.setPos(playerPos);
cout << "\n";

cards << cardCount[i] << cardYear << compName << cardNum << playerName << playerPos << " ";
 }
cards.close();
}

void resetFile(array<unsigned int, 5>& cardCount){
ofstream cards("baseballCards.txt",ios::out | ios::trunc);
cards.close();
}