我是一名新手程序员,我在练习中遇到了麻烦。我需要创建一个程序,从名为" students.txt"的.txt文件中读取学生信息(SSN,名字和姓氏,测试分数),然后使用四个全局并行数组来存储学生信息。我需要使用int数组来存储SSN,一个用于存储名字的字符串数组,一个用于存储姓氏的字符串数组,以及一个用于存储分数的双数组。这些行动包括列出学生的姓名。这样的信息究竟如何出现:
SSN Last-Name First-Name Score
628130189 James, Paul 92.0
237698211 Cook , Daniel 86.0
201895367 Garza, Melessa 78.0
491066285 Barbara, Jessica 62.0
168606868 Bruce, Elizabeth 90.0
378205732 Lee, Sarah 91.5
118453900 Brian, David 87.0
583192186 Garza, Cody 92.0
226665118 Lewis, Gage 78.0
175382843 Collins, James 69.5
816231095 White, Ann 88.5
376651608 Jackson, Mark 72.0
508234567 Freeman, Mark 86.0
763211099 William, Jack 52.0
286204723 Rodriguez, John 69.5
但是,当然,.txt文件只是SSN名字的姓氏和分数未对齐并由逗号分隔。然后我必须使用" void"来显示得分最高的学生,然后是最低分和所有分数的平均分。我只是不知道如何让它首先读取文件并制作数据,以便将它组织成列。
另外......如果找不到文件,我必须立即报告错误信息并立即退出程序?否则,程序应显示如下主菜单,以允许用户完成列出的内容 操作
这是我到目前为止所拥有的:
#include <iostream>
#include<iomanip>
#include<fstream>
using namespace std;
void mainmenu();
/*
void sort_name();();
void sort_ssn();
void sort_score ();
*/
void average();
void lowest_score();
void highest_score();
void open_file();
const int totNum = 15; //my global variables
int ssn[totNum];
string fname [totNum];
string lname [totNum];
double score [totNum];
int main ()
{
char choice;
ifstream fin;
fin.open("students.txt")
for (1=0; i <= totNum; i++)//this is where I'm stuck
{
?????
}
do
{ mainmenu(); //calling main menu funtion
cin >> choice;
cin.ignore (10, '\n'); //spacing
switch(choice) // switch statment for multiple cases for flexibility
{
case 'l':
case 'L':
case '1': open_file(); break;
/*
case 'h':
case 'H':
case '2': highest_score(); break;
case 'o':
case 'O':
case '3': lowest_score(); break;
case 'a':
case 'A':
case '4': average(); break;
case 's':
case 'S':
case '5': sort_ssn(); break; //operation 5-7 is a bonus work
case 'n':
case 'N':
case '6': sort_name(); break;
case 'c':
case 'C':
case '7': sort_score();break;
*/
case 'e':
case 'E':
case '0': break;
default: cout << "Wrong choice!" << endl; break;
}
cout << endl;
} while(choice != '0'); // && choice !='E' && choice!='e')
}
void mainmenu() //output main menu
{
cout << "Main Menu (Assignment 8)" << endl;
cout << "1. List students' infromation (L)" << endl;
/*
cout << "2. Find the highest score (H)" << endl;
cout << "3. Find the lowest score (O)" << endl;
cout << "4. Calculate the average score (A)" << endl;
cout << "5. Sort students by SSN (S)" << endl;
cout << "6. Dort students by name (N)" << endl;
cout << "7. Sort students by score (C)" << endl;
*/
cout << "0. Exit" << endl;
cout << "Please select an option: ";
}
现在没有任何意义,但这就是为什么我迫切需要帮助...