?? 課題參考.txt
字號(hào):
//學(xué)生個(gè)人信息類
#include<iostream.h>
#include<string.h>
#include<fstream.h>
#include<iomanip.h>//kj;lj;j;j;
class student
{private:int maxnum;//學(xué)生學(xué)號(hào)最大值
int sno;//學(xué)號(hào)char name[5];
char sex[2];
int age;char birth[10];//出生日期
char folk[2];//民族
char mianmao[10];//政治面貌
char department[10];//系別
long banji;//班級(jí)
char speciality[10];//專業(yè)
char address[30];//學(xué)生詳細(xì)家庭住址
public:
student();~
student();
void enter();//學(xué)生信息錄入函數(shù)
void display();//學(xué)生信息輸出函數(shù)
void setsno(int temp);
int getsno();
char *getname();
long getbanji();
char *getspeciality();
void read();
void write();
};
student::student()
{}
student::~student()
{}
int student::getsno()
{return sno;}
char *student::getspeciality()
{return speciality;}
long student::getbanji()
{return banji;}
void student::setsno(int temp)
{sno=temp;}
char *student::getname()
{return name;}
void student::display()
{ cout<<setw(4)<<sno<<setw(4)<<name<<setw(4)<<sex<<setw(4)<<age<<setw(4)<<folk<<setw(8)<<birth<<setw(8)<<mianmao<<setw(8)<<department<<setw(8)<<banji<<setw(8)<<speciality<<setw(8)<<address<<endl;}
void student::enter()
{ ifstream tfile("max.txt",ios::binary|ios::nocreate);
if(tfile)
{ tfile.read((char *)&maxnum,sizeof maxnum); }
else
{ maxnum=1000;//學(xué)生學(xué)號(hào)初始化 } tfile.close();
sno=maxnum++;
ofstream ofile("max.txt");
ofile.write((char*)&maxnum,sizeof maxnum); tfile.close();
cout<<"請(qǐng)輸入學(xué)生信息"<<endl;
cout<<"學(xué)生姓名:"<<endl;
cin>>name;
cout<<"性別(男(n),女(m)):"<<endl;
cin>>sex; while(strcmp(sex,"n")!=0&&strcmp(sex,"m")!=0)
{ cout<<"錯(cuò)誤請(qǐng)重新輸入!"<<endl; cin>>sex; }
cout<<"出生日期:"<<endl;
cin>>birth;
cout<<"年齡:"<<endl;
cin>>age;
while(age<=15||age>=50)
{ cout<<"錯(cuò)誤請(qǐng)重新輸入!"<<endl; cin>>age; }
cout<<"政治面貌(團(tuán)員(a),預(yù)備黨員(b),黨員(c)):"<<endl;
cin>>mianmao;
while(strcmp(mianmao,"a")!=0&&strcmp(mianmao,"b")!=0&&strcmp(mianmao,"c")!=0)
{ cout<<"錯(cuò)誤請(qǐng)重新輸入!"<<endl; cin>>mianmao; }
cout<<"民族:"<<endl; cin>>folk;
cout<<"系別:"<<endl; cin>>department;
cout<<"班級(jí):"<<endl; cin>>banji;
cout<<"專業(yè):"<<endl; cin>>speciality;
cout<<"家庭住址:"<<endl; cin>>address;}//主程序部分:#include<iostream.h>
#include<fstream.h>
#include<string.h>
#include<iomanip.h>
#include<stdlib.h>
//#include"student.h"
student stu;//student 類的全局變量
void read()
{ ifstream afile("student.txt",ios::nocreate); afile.read((char*)&stu,sizeof stu);
}
void write()
{ ofstream bfile("student.txt",ios::app); bfile.write((char*)&stu,sizeof stu);}
void input(void)
{ char ch; stu.enter();
write();
cout<<"你還要輸入下一位學(xué)生的信息嗎(Y/N)!"<<endl; cin>>ch;
if(ch=='Y'||ch=='y')
{ input(); }}
void search()
{ int j,k,i,m=0; char ch1[5],ch2[10]; cout<<"請(qǐng)輸入你的查找類型:(1.學(xué)號(hào) 2.姓名 3.專業(yè) 4.班級(jí))"<<endl;
cin>>j;
while(j<=0||j>=5)
{ cout<<"錯(cuò)誤請(qǐng)重新選擇!"<<endl; cin>>j; }
if(j==1)
{ cout<<"請(qǐng)輸入你要查找的學(xué)生的學(xué)號(hào):"<<endl;
cin>>i;
}
if(j==2)
{ cout<<"請(qǐng)輸入你要查找的學(xué)生的姓名:"<<endl;
cin>>ch1;
}
if(j==3)
{
cout<<"請(qǐng)輸入你要查找的學(xué)生所在的專業(yè):"<<endl;
cin>>ch2; }
if(j==4)
{
cout<<"請(qǐng)輸入你要查找的學(xué)生所在的班級(jí):"<<endl; cin>>k;
}
ifstream dfile("student.txt",ios::nocreate); while (dfile.good())
{
dfile.read((char *) &stu,sizeof stu);
if(i==stu.getsno()||strcmp(stu.getname(),ch1)==0||
strcmp(stu.getspeciality(),ch2)==0||k==stu.getbanji())
{
cout<<"你要查找的學(xué)生信息如下:"<<endl;
cout<<setw(4)<<"學(xué)號(hào)"<<setw(4)<<"姓名"<<setw(4)<<"性別"<<setw(4)<< "年齡"<<setw(4)<<"民族"<<setw(8)<<"出生日期"<<setw(8)<<"政治面貌"<< setw(8)<<"系別"<<setw(8)<<"班級(jí)"<<setw(8)<<"專業(yè)"<<setw(8)<<"聯(lián)系電話" <<setw(8)<<"家庭住址"<<endl; stu.display();
i=0;
k=0;
m=1;
return;
}
}
if(m!=1)
cout<<"沒有找到這名學(xué)生的信息!"<<endl;
}
void output()
{
int i=0;
ifstream cfile("student.txt",ios::nocreate);
while(cfile)
{
if( cfile.read((char *)&stu,sizeof stu)) { stu.display(); i++; } } cout<<"一共有"<<i<<"個(gè)學(xué)生信息"<<endl;}void menu(){ cout<<"學(xué)號(hào):2005132040 姓名:孟琳琳 班級(jí):通信053"<<endl;
cout<<" * 學(xué)籍管理系統(tǒng) *"<<endl;
cout<<"*******************************************************"<<endl;
cout<<" 0.退出系統(tǒng) "<<endl;
cout<<" 1.學(xué)生信息錄入 "<<endl;
cout<<" 2.學(xué)生信息查詢 "<<endl;
cout<<" 3.學(xué)生信息輸出 "<<endl;
cout<<"*******************************************************"<<endl;
cout<<" 請(qǐng)選擇以上操作(0=======3) "<<endl;
}
void select()//選擇菜單函數(shù)
{
int ch;
while(1)
{
cin>>ch;
switch(ch)
{
case 0:exit(0);menu();break;
case 1:input();menu();break;
case 2:search();menu();break;
case 3:output();menu();break;
default:menu(); cout<<"輸入無效請(qǐng)重新輸入(0======== 3)"<<endl; break;
}
}
}void main()
{
menu();
select();
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -