C++学籍管理系统 下载本文

"|"<<endl;

cout<<" |";cout<<"网 络|

";for(e=4,f=0;f<6;f++){cout<<setfill('\0')<<setw(5)<<setiosflags(ios::right)<<point[e][f]<<" "<<"|

";}cout<<"

"<<setfill('\0')<<setw(5)<<setiosflags(ios::left)<<setiosflags(ios::fixed)<<setprecision(1)<<eva[4]<<

"|"<<endl;

cout<<" |_____|______|______|______|______|______|______|

______|"<<endl;

}

void cunqu_data() //存取文件

{char g;

for(g='0';g=='0'||g!='3';)

{

system("cls");

cout<<"1.保存文件"<<endl<<"2.读取文件"<<endl<<"3.返回主菜单"<<endl;

cin>>g;

system("cls");

switch(g)

{case '1':save_data();break;

case '2':read_data();break;

case '3':break;

default:cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<" 错误指令!按任意键返回。"<<endl;getch();break;

}

}}

void save_data() //保存文件

{

int i;

remove("学生学籍信息.dat");

ofstream outfile("学生学籍信息.dat",ios::out);

if(outfile==0)

{cerr<<"打开失败!"<<endl;

exit(1);

}

else

{

for(i=0;i<n;i++)

{

outfile<<stud[i].name<<" ";

outfile<<stud[i].num<<" ";

outfile<<stud[i].sex<<" ";

outfile<<stud[i].shuxue<<" ";

outfile<<stud[i].wuli<<" ";

outfile<<stud[i].huaxue<<" ";

outfile<<stud[i].yingyu<<" ";

outfile<<stud[i].wangluo<<" ";

}

n=i;

cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<" 保存成功^_^,按任意键返回主菜单。"<<endl;}

outfile.close();

getch();}

void read_data() //读取文件

{int i;

ifstream infile("学生学籍信息.dat",ios::in);

if(!infile)

{cerr<<"打开失败!"<<endl;

exit(1);

}

else

{for(n=0,i=0;i<200;i++)

{infile>>stud[i].name;

infile>>stud[i].num;

infile>>stud[i].sex;

infile>>stud[i].shuxue;

infile>>stud[i].wuli;

infile>>stud[i].huaxue;

infile>>stud[i].yingyu;

infile>>stud[i].wangluo;

n++;

if(stud[i].wangluo==0&&stud[i].wuli==0&&stud[i].huaxue==0)

{i=200;

n--;}

}}

cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<" 读取成功^_^,按任意键返回主菜单。"<<endl;

getch();

infile.close();

}

void renew_data()

{char h;

for(h='0';h=='0'||h!='3';)

{system("cls");

cout<<"1.删除学籍记录"<<endl<<"2.恢复删除记录"<<endl<<"3.返回主菜单"<<endl;

cin>>h;

system("cls");

switch(h)

{case '1':system("cls");

cout<<endl<<endl<<endl;

cout<<" 原始学生学籍信息"<<endl;

put_massage(n,stud);

cout<<"

________________________________________________________________"<<endl;

cout<<" 输入您需要删除的学籍的序号:"<<'\t';

cin>>p;

if(p>n)

{cout<<endl<<" 错误指令!"<<endl;

getch();

break;}

delete_data(p);getch();break;

case '2':recover_data();break;

case '3':break;

default:cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<" 错误指令!按任意键返回。"<<endl;getch();break;

}

}

}

void delete_data(int m) //删除记录

{

int i;

system("cls");

char o;

cout<<"确认删除?(Y/N)"<<endl;

cin>>o;

if(o=='y'||o=='Y')

{u++;

studl[u-1]=stud[m-1];

for(i=0;i<n;i++)

{

stud[m-1].name=stud[m].name;

stud[m-1].num=stud[m].num;

stud[m-1].sex=stud[m].sex;

stud[m-1].shuxue=stud[m].shuxue;

stud[m-1].wuli=stud[m].wuli;

stud[m-1].huaxue=stud[m].huaxue;

stud[m-1].yingyu=stud[m].yingyu;

stud[m-1].wangluo=stud[m].wangluo;

}

n--;

cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<" 删除成功^_^,按任意键返回主菜单。"<<endl;}

else if(o=='N'||o=='n'){}

else

cout<<"错误指令!"<<endl;

}

void recover_data() /*恢复记录*/

{

int k;

system("cls");

cout<<" 已被删除的学生学籍信息"<<endl;

put_massage(u,studl);

cout<<"

________________________________________________________________"<<endl;

cout<<" 输入您想恢复的学籍信息的序号";

cin>>k;

stud[n]=studl[k-1];

n++;

if(k==u)

{u--;}

else

{

studl[k-1].name=studl[k-1].name;

studl[k-1].num=studl[k-1].num;

studl[k-1].sex=studl[k-1].sex;

studl[k-1].shuxue=studl[k-1].shuxue;

studl[k-1].wuli=studl[k-1].wuli;

studl[k-1].huaxue=studl[k-1].huaxue;

studl[k-1].yingyu=studl[k-1].yingyu;

studl[k-1].wangluo=studl[k-1].wangluo;

u--;

}

system("cls");

cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<" 恢复成功^_^,按任意键返回主菜单。"<<endl;

getch();}

int main(int argc, char* argv[]) //主函数

{

system("color 4F");

cout<<'\n'<<'\n'<<" ╰★╯╰☆╯ ╰☆╮"<<endl; /*界

面*/

cout<<" ________________________ "<<endl;

cout<<" 中南大学

╰★╯ "<<endl;