此代碼接受學生識別和他們當前餘額的輸入。 -999被輸入爲A號碼以打破循環,否則它將一直運行,直到輸入30名學生。循環輸出不顯示
我在程序底部的for循環應該按輸入的相反順序列出輸入的A編號,學生名稱和它們的平衡。儘管沒有列出任何內容。只是頭號的A - 編號:,學生:,和平衡:
我知道有一個簡單的解釋,但我只是想不到,我希望有人可以爲我指出...
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
int main(){
const int maxStudents = 30;
struct Students{
string studentName;
int aNumber;
double outstandingBalance;};
Students students[maxStudents];
int count = 0;
for(; count < maxStudents-1; count++)
{
cout<<"\nA-Number:";
cin>>students[count].aNumber;
if(students[count].aNumber == -999)
break;
cout<<"Student Name:";
cin.ignore();
getline(cin,students[count].studentName);
cout<<"\nOutstanding Balance:";
cin>>students[count].outstandingBalance;
}
cout<<setw(20)<<"\nA-Number "<<"Name "<<"Balance ";
for(; count >= maxStudents-1; count--)
cout<<setw(20)<<students[count].aNumber<<" "<<students[count].studentName<<" "<<students[count].outstandingBalance<<endl;
system("pause");
return 0;
}
「請*裸*與我」 - 但我甚至不知道你! – 2012-02-02 22:55:50
假設你想從當前的倒計數開始迭代,只要它大於或等於零:你的計數永遠不會比最大數量的學生大。 – 2012-02-02 22:59:03
iostreams通常被緩衝,所以你可能想看看刷新以確保輸出寫入時,你也期望它... – 2012-02-02 23:12:39