执行InFile数组的程序

Program to do InFile arrays

本文关键字:程序 数组 InFile 执行      更新时间:2023-10-16

我要写一个有6栏的程序,显示家庭收入、SAT成绩、新生GPA、兄弟姐妹数量、每周学习小时数,以及他们是否酗酒。该程序是读取输入数据并打印出收入超过10万的学生及其gpa<2.3.我有c++文件的infile文档。当我运行程序时,没有错误,但输出为零。我正在按照我的导师给出的模板进行操作。

#include <iostream>  
#include <iomanip>  
#include <fstream>  
using namespace std;  
int main()  
{  
int IncomeArray[975];              
int SATArray[975];                  
float GPAArray[975];                
int SiblingArray[975];                         
int StudyHoursArray[975];           
int BingeDrinkerArray[975];      
int Counter = 1;                   
int Counter2 = 1;                                                          
ifstream InFile;  
InFile.open("Students"); 
while(!InFile.eof())               
{  
InFile>>IncomeArray[Counter]>>SATArray[Counter]>>GPAArray[Counter]>>
      SiblingArray[Counter]  >>StudyHoursArray[Counter]>>BingeDrinkerArray[Counter];  
++Counter;  
}  

 for(Counter2 = 1; Counter2 <= Counter; ++Counter2)  
     {  
     cout<<setprecision(2)<<fixed<<showpoint;  
        if(IncomeArray[Counter2]>100000 && GPAArray[Counter2] <= 2.3)  
        {
                             cout<<IncomeArray[Counter]<<setw(5)<<SATArray[Counter]<<
                             setw(5)<<GPAArray[Counter]<<setw(3)<<SiblingArray[Counter]
                             <<setw(3)<<StudyHoursArray[Counter]<<' '<<
                             BingeDrinkerArray[Counter]<<endl;  
                    }  
              }  
InFile.close();  
return 0;  
} 

for循环中使用counter2。它是您的循环变量,应该在循环内访问它以访问相应的数据

for(Counter2 = 1; Counter2 <= Counter; ++Counter2)  
 {  
    cout<<setprecision(2)<<fixed<<showpoint;  
    if(IncomeArray[Counter2]>100000 && GPAArray[Counter2] <= 2.3)  
    {
                         cout<<IncomeArray[Counter2]<<setw(5)<<SATArray[Counter2]<<
                         setw(5)<<GPAArray[Counter2]<<setw(3)<<SiblingArray[Counter2]
                         <<setw(3)<<StudyHoursArray[Counter2]<<' '<<
                         BingeDrinkerArray[Counter2]<<endl;  
     }  
 }

建议:C中的数组索引从0开始。所以你在这里浪费了数组位置0

因此,最好在开始时将counter初始化为0。。也从0开始循环索引CCD_ 4。