SOGO論壇

標題: 設計"成績查詢系統" [列印本頁]

作者: 可憐的羊    時間: 2009-5-18 09:38:55     標題: 設計"成績查詢系統"

這個程式搞了我好幾天了><
痘痘不知道冒了幾顆了
懇求大大們幫忙一下解決問題><!!!
我想睡覺阿Orz!

建置後出現三個錯誤:
(71) : error C2065: 'i' : 未宣告的識別項
(73) : error C2228: '.display' 的左邊必須有類別/結構/等位
(80) : error C2228: '.name' 的左邊必須有類別/結構/等位

一直在找始終找不到Orz

以下是我的程式:
#include <iostream>
#include <iomanip>
#include <conio.h>
#include <string>
using namespace std;
class grade {
public:  
    string name, id;
    int chi, bcc, math, eng, tot;
    float avg;
    void set();         //用來設定資料成員的初值
    void display();     //輸出三科的成績
}; // end class grade
void grade::set() {    //由鍵盤輸入三科的成績放入資料成員
        cout << "  輸入學號:";
        cin >> id;        
        cout << "  輸入姓名:";
        cin >> name;
        cout << "  計概成績:";
        cin >> bcc;
        cout << "  數學成績:";
        cin >> math;
        cout << "  英文成績:";
        cin >> eng;
        cout << "  國文成績:";
        cin >> chi;
        avg=(float)(bcc+math+eng+chi)/4;
        tot=(bcc+math+eng+chi);
} // end grade::set()
void grade::display() {
        cout << " 學號:" << id;            
        cout << " 姓名:" << name;
        cout << " 國文:" << chi;
        cout << " 計概:" << bcc;
        cout << " 數學:" << math;
        cout << " 英文:" << eng ;
        cout << " 平均:" << avg;
} // end grade::display

void totsort(grade s[], int n) {
        int i, j;
        grade temp;
        for(i=n-1;i>=0;i--){
                for(j=0;j<=i;j++) {
                        if(s[j].tot < s[j+1].tot) {
                                temp=s[j];
                s[j]=s[j+1];
                s[j+1]=temp;
                        } // end if(s[j].tot < s[j+1].tot)
                } // end for(j=0;j<=i;j++)
        } // end for(i=n-2;i>=0;i--)
} // end totsort(grade s[], int n)
//-----------
int main(void) {
        grade my[4];          //宣告my是屬於grade類別的陣列,共有my[0]~my[3]
        for(int k=1;k<=3;k++){ //透過迴圈及set()成員函式由鍵盤輸入資料並放到資料成員中
                cout << "輸入第" << k << "位同學的成績" << endl;
                my[k-1].set();
        } // end main(void)
        cout << endl << "-----------------------------------------------\n\n";
        for(int i=1;i<=3;i++){ //透過迴圈及display()成員函式將資料成員輸出
                cout << endl << "第" << i << "位同學的成績-->" ;
                my[i-1].display();
        } // end for(int i=1;i<=3;i++)
        totsort(my, 3);
        cout <<  "\n\n依總分排序後...\n";
        for(i=1;i<=3;i++){ //透過迴圈及display()成員函式將資料成員輸出
                cout << endl << "第" << i << "名同學的成績-->" ;
                my[i-1].display();
        } // end for(int i=1;i<=3;i++)
        int f=3;
        string sname;
        cout << "\n\n請輸入欲尋找的學生姓名:";
        cin>>sname;
        for (i=0; i<3; i++) {
                if(my.name==sname) {
                        f=i;
                        break;
                } // end if(my.name==sname)
        } // end for (int i=0; i<4; i++)
        cout << endl <<endl;
        cout << sname << "的資料如下..." << endl;
        my[f].display();
        getch();
        return 0;
} // end main




歡迎光臨 SOGO論壇 (https://oursogo.com/) Powered by OURSOGO.COM