我想帮助一个朋友,我似乎无法得到它们.我不知道为什么但几个变量没有正确显示.
我把它撞到了我认为问题所在的地方,但我不知道如何解决它.
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
//declaring variables
ifstream myfile("input.txt");
double grades[26];
unsigned scores[8] = {0};
//getting data from text file
for(int i=0; i<26; i++)
{
myfile >> grades[i];
cin.ignore();
if((grades[i] >= 175) && (grades[i] <= 200)) scores[7]++;
else if(grades[i] >= 150) scores[6]++;
else if(grades[i] >= 125) scores[5]++;
else if(grades[i] >= 100) scores[4]++;
else if(grades[i] >= 75) scores[3]++;
else if(grades[i] >= 50) scores[2]++;
else if(grades[i] >= 25) scores[1]++;
else if(grades[i] >= 0) scores[0]++;
}
//outputing results
for(int z = 0; z < 200; z += 25)
{
if(z == 175)
cout << "Number of students between 175 and 200: " << scores[z] << endl;
else
cout << "Number of students between " << z << " and " << z + 24 << ": " << scores[z]<< endl;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
它从中提取的文件中有这个.
76, 89, 150, 135, 200, 76, 12, 100, 150, 28, 178, 189, 167, 200, 175, 150, 87, 99, 129, 149, 176, 200, 87, 35, 157, 189
Run Code Online (Sandbox Code Playgroud)
我知道问题出在了某个地方
//getting data from text file
for(i=0; i<26; i++)
{
myfile >> grades[i];
cin.ignore();
Run Code Online (Sandbox Code Playgroud)
我不知道该怎么做才能解决它,我不知道为什么它会被打破.
输出是
Number of students between 0 and 24: 25
Number of students between 25 and 49: 32767
Number of students between 50 and 74: 3900547712
Number of students between 75 and 99: 0
Number of students between 100 and 124: 0
Number of students between 125 and 149: 32760
Number of students between 150 and 174: 0
Number of students between 175 and 200: 32767
Run Code Online (Sandbox Code Playgroud)
当输出应该是.
0-24:12之间的学生人数
我不知道为什么它不能正常工作.感谢让我知道将输出放在这里......忘了.
我不知道你想要什么,但仅仅是因为:
double score1, score2, score3, score4, score5, score6, score7, score8 = 0.0;
Run Code Online (Sandbox Code Playgroud)
此行仅初始化score8为0.
| 归档时间: |
|
| 查看次数: |
82 次 |
| 最近记录: |