使用函数和数组从文件中读取和打印数据

Using Functions and Arrays to Read and Print Data from a File

本文关键字:读取 打印 数据 文件 函数 数组      更新时间:2023-10-16

我对C++还比较陌生,我的教授给了我们一个我似乎无法理解的任务。

我们应该编写能够读取文件并将值打印到屏幕上的函数。然后我们应该能够从文件中打印出最大的值。这听起来很简单,但我似乎无法让它发挥作用。

它编译了,但我得到了这个作为我的输出:

0023F908-858993460-858993460-858993460-858993460-858993460-858993460-858993460-8
58993460-858993460-858993460-858993460-858993460-858993460-858993460-858993460-8
58993460-858993460-858993460-858993460-8589934600023F908-858993460-858993460-858
993460-858993460-858993460The largest value is 0
Press any key to continue . . .

任何建议都将不胜感激!

这就是文件包含的内容:

4 5
3 1 4 1 5
2 3 6 7 1 
7 8 8 8 8 
9 8 7 6 5

到目前为止,我拥有的是:

void printValue( const ChartType, int, int);
int main () 
{ 
 ChartType chart; 
 int rowsUsed; 
 int colsUsed; 
 ifstream dataIn; 
 dataIn.open("Chart.txt"); 
 GetChart(dataIn, chart, rowsUsed, colsUsed); 
 PrintChart(chart, rowsUsed, colsUsed); 
 printValue(chart, rowsUsed, colsUsed);
 return 0; 
} 
void GetChart(ifstream& data, ChartType chart, int& rowsUsed, int& colsUsed) 
{ 
int tempVariable;
 data >> rowsUsed >> colsUsed; 
 for (int row = 0; row < rowsUsed; row++) 
    for (int col = 0; col < colsUsed; col++) 
        data >> chart[4][5];
        data >> tempVariable;
        chart[rowsUsed][colsUsed] = tempVariable;
 } 
void PrintChart( const ChartType chart, int rowsUsed, int colsUsed) 
{ 
 cout << chart[rowsUsed];
 for (int row = 0; row < rowsUsed; row++) 
 { 
 for (int col = 0; col < colsUsed; col++) 
 cout << chart[row][col]; 
 } 
}
 void printValue( const ChartType chart, int rowsUsed, int colsUsed) 
{ 
 int largest = 0;
 int row = 0;
 int col = 0;
 cout << chart[rowsUsed];
 for ( ; row < rowsUsed; row++) 
 { 
 for ( ; col < colsUsed; col++) 
 cout << chart[row][col];
 if (chart[row][col] > largest)
     largest = chart[row][col];
 }
 cout << "The largest value is " << largest << endl;
 } 
据我所知,GetChart函数是错误的。试试这个,
void GetChart(ifstream& data, ChartType chart, int& rowsUsed, int& colsUsed) 
{ 
    data >> rowsUsed >> colsUsed; 
    for (int row=0; row<rowsUsed; ++row) 
        for (int col=0; col<colsUsed; ++col) 
            data >> chart[row][col];
}