1. 程式人生 > >用c++實現學生資訊管理系統

用c++實現學生資訊管理系統

#include
#include
#include<string.h>

using namespace std;
#define MAXSIZE 20

class aclass;
class student
{
private:
long no;
char name[10];
float score;
public:
student();
friend class aclass;//友元內的定義,aclass 中的成員函式均有資格訪問student的資料成員,反之不可。

};
class aclass
{
private:
char cname[10];
student data[MAXSIZE];
int last;
public:
aclass();
int insert_seqlist(int i,student x);
int delete_seqlist(int i);
void print_seqlist();

};

void menu();

int main()
{
aclass sq;
int n,m=1;
while(m)
{
menu();
cin>>n;
switch(n)
{
case 1:
{
int i;
student x;
cout<<“請輸入位置”<<endl;
cin>>i;
sq.insert_seqlist(i,x);

            break;
        }
    case 2:
        {
            int i;
            cout<<"請輸入刪除的位置:";
            cin>>i;
            sq.delete_seqlist(i);
            cout<<endl<<"刪除後資訊:"<<endl<<endl;
            break;

        }

    case 0:m=0;
}

}

return 0;

}

void menu()
{
cout<<endl<<“1.插入”<<endl;
cout<<“2.刪除”<<endl;
cout<<“0.退出”<<endl;
cout<<endl<<“請選擇:”;

}

student::student()
{
no=0;
strcpy(name,"");
score=0;

}

aclass::aclass()
{
cout<<“請輸入班級名稱”<<endl;
cin>>cname;
last=-1;
}

int aclass::insert_seqlist(int i,student x)
{

int j;
if(last==MAXSIZE-1)
{
    cout<<"table is full!"<<endl;
    return(-1);
}
if(i<1||i>(last+2))
{
    cout<<"位置錯誤"<<endl;
    return(0);
}

cout<<"請輸入學生(學號、姓名、成績);"<<endl;
cin>>x.no>>x.name>>x.score;

for(j=last;j>=i-1;j--)
{
    data[j+1]=data[j];
}
data[i-1]=x;
last++;
cout<<endl<<"插入後資訊:"<<endl<<endl;
print_seqlist();
return(1);

}

int aclass::delete_seqlist(int i)
{
int j;
if(i<1||i>(last+1))
{
cout<<“位置錯誤!”<<endl;
return(0);
}
for(j=i;j<=last;j++)
{
data[j-1]=data[j];
}
last–;
return(1);

}
void aclass::print_seqlist()
{
int i;
cout<<“班級”<<cname<<endl;
cout<<“學生”<<endl;
for(i=0;i<=last;i++)
{
cout<<data[i].no<<setw(8)<<data[i].name<<setw(4)<<data[i].score<<endl;
}
cout<<endl;
}