에는 사용자에게 파일 이름을 입력 한 다음 해당 파일을 가져 와서 구조체 배열을 만들도록 요청하는 프로젝트가 있습니다. 나는 완전히 잃어 버렸다! 여기 내가 지금까지 가지고있는 것입니다.txt 파일의 구조체 배열
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
using namespace std;
string filename;
ifstream inFile;
struct ftballPlayer
{
int NO;
string first;
string last;
char POS;
char clas;
int height;
char ds;
int iheight;
string hometown;
};
int counter=0;
const int MAX_PLAYER=50;
void printList(const ftballPlayer list[], int listSize);
void printOne (ftballPlayer two);
void getData(ifstream& inFile, ftballPlayer list[], int& listSize);
int main()
{
ftballPlayer list[MAX_PLAYER] ;
cout << "Enter the name of the input file: " ;
cin >> filename;
inFile.open(filename.c_str() );
if (!inFile)
{
cout<<"Cannot Open Input File."<<endl;
cout<< "Program Terminates!"<<endl;
return 1;
}
inFile.ignore (200,'\n');
getData (inFile, list, counter);
for (counter = 0;counter < 50;counter++)
{
printOne (list[ counter]) ;
cout <<endl;
}
return 0;
}
void getData(ifstream& inFile, ftballPlayer list[], int& listSize)
{
ftballPlayer item ;
listSize = 0;
inFile >> item.NO >> item.first >> item.last
>> item.POS >> item.clas >> item.height
>> item.ds >> item.iheight >> item.hometown;
while (inFile)
{
list [listSize ] = item ;
listSize++;
inFile >> item.NO >> item.first >> item.last
>> item.POS >> item.clas >> item.height
>> item.ds >> item.iheight >> item.hometown;
}
inFile.close() ;
}
void printList(const ftballPlayer list[], int listSize)
{
int looper;
for (looper = 0; looper < listSize ; looper++)
{
printOne (list [looper] );
cout << endl ;
}
}
void printOne (ftballPlayer one)
{
cout << fixed << showpoint << setprecision (2);
cout << "NO " << one.NO;
cout << setw(5) << left << " Name: " << one.first << " " << one.last;
cout << " POS " << one.POS << setw(5);
cout << "Class "<<one.clas<<setw (5);
cout << "Height "<<one.height<<" "<<one.ds<<" "<<one.iheight<<setw(5);
cout << "Hometown " << one.hometown << endl;
}
내가 올바른 길을 가고 있는지 누군가가 말해 줄 수 있습니까? 내가 얻은 인쇄물은이 텍스트 파일에 근접하지 않습니다.
NO NAME의 POS 클래스 HEIGHT 중량 고향/고등학교
60 조쉬 만 OL SO 6-4 (300) 버지니아 비치, Va./Ocean 호수
64 리키 SEGERS K/P FR 5-11/마지막 대학 185 Glen Allen, Va./Henrico
70 Brandon Carr OL RS_SR 6-2 305 Chesapeake, Va./Western Branch/포크 연합 군사 아카데미
53 Calvert Cook LB FR 6-0 250 노퍽, 버지니아/북 T. 워싱턴
51 Michael Colbert DE RS_SR 6-1 230 Fayetteville, NC/EE Smith
22 T.J. Cowart CB RS_JR 5-9 190 버지니아 비치, VA/오션 레이크
1 Jakwail Bailey WR SO 5-11 185 Haddonfield, NJ/Paul VI
25 Andre Simmons S JR 6-0 205 버지니아 주 로턴/버지니아 주/사우스 카운티/밴더빌트
34 Johnel 앤더슨 RB FR 5-8 180 Sicklerville, NJ/폴 VI
이것은 사용자가 입력되지만 모두 동일한 유형의 정보를 가질 수있는 세 가지 중 하나이다. 나는 내 교과서를보고 몇 시간 동안 온라인으로 사냥을 해왔고 사용자가 파일로 시작하는 대신 파일을 입력 할 때이 작업을 수행 할 수있는 방법을 찾지 못했습니다. 어떤 도움이나 방향을 주시면 감사하겠습니다.
현재 출력을 게시하십시오. – PearsonArtPhoto