📄 yangtao.cpp
字号:
#include<iostream>
#include<iomanip>
#include<string>
#include<fstream>
using namespace std;
#define Max 40
class personer
{
private:
int tage;
int Number;
char Name[10];
char address[50];
long callNumber;
public:
personer(){ }
int gettage(){return tage;}
int getNumber(){return Number;}
void setname(char na[])//改名
{
strcpy(Name,na);
}
void addperson(int n,char na[],char addr[],long call)//增加
{
Number=n;strcpy(Name,na);strcpy(address,addr);callNumber=call;tage=0;
}
void delet()//删除
{
tage=1;
}
void display()//显示信息
{
cout<<"学生号 :"<<Number<<endl;
cout<<"姓名 :"<<Name<<endl;
cout<<"地址 :"<<address<<endl;
cout<<"电话号码:"<<callNumber<<endl;
}
};
class people
{
private:
personer per[Max];
int top;
public:
people()
{
personer person;
top=-1;
fstream file("student.txt",ios::in);
while(1)
{
file.read((char*)&person,sizeof(person));
if(!file)break;
top++;
per[top]=person;
}
file.close();
}
personer *query(int n)
{
int i;
for (i=0;i<=top;i++)
if ((per[i].getNumber()==n)&&(per[i].gettage()==0)) return &per[i];
return NULL;
}
void add(int n,char na[],char addr[],long call)
{
personer *p=query(n);
if(p==NULL)
{
top++;
per[top].addperson(n,na,addr,call);
}
}
void delet(int n)
{
personer *p=query(n);
if(p==NULL)cout<<"No this person !"<<endl;
else p->delet();
}
void reset(int n)
{
char Na[10];
personer *p=query(n);
if(p==NULL)cout<<"No this person !"<<endl;
else
{
cout<<"please input a new name !"<<endl;
cin>>Na;
p->setname(Na);
cout<<"finshed rename!"<<endl;
}
}
void dis()
{
for(int i=0;i<=top;i++)
if(per[i].gettage()==0)
per[i].display();
}
void search(int n)
{
personer *p=query(n);
if(p==NULL)cout<<"No this person!"<<endl;
else p->display();
}
~people()
{
fstream file("student.txt",ios::out);
for(int i=0;i<=top;i++)
if(per[i].gettage()==0)
file.write((char*)&per[i],sizeof(per[i]));
file.close();
}
};
int main()
{
int choice;
int Number;
char Name[10];
char address[50];
long callNumber;
people peo;
while(choice!=0)
{
cout<<endl<<"\t\t\t计本061班学生管理系统\n\n\n";
cout<<"\t\t\t1.个人信息\n\n\t\t\t2.更改\n\n\t\t\t3.增加\n\n\t\t\t4.删除\n\n\t\t\t5.查找\n\n\t\t\t0.退出"<<endl;
cin>>choice;
switch(choice)
{
case 1 :
cout<<endl<<"\t\t\t计本061班学生信息"<<endl;
peo.dis();
break;
case 2:
cout<<endl<<"\t\t\t更改"<<endl;
cout<<"请输入学生号"<<endl;
cin>>Number;
peo.reset(Number);
break;
case 3:
cout<<endl<<"\t\t\t增加"<<endl;
cout<<"请输入学生号"<<endl;
cin>>Number;
cout<<"请输入姓名"<<endl;
cin>>Name;
cout<<"请输入地址"<<endl;
cin>>address;
cout<<"请输入电话号码"<<endl;
cin>>callNumber;
peo.add(Number,Name,address,callNumber);
break;
case 4:
cout<<endl<<"\t\t\t删除"<<endl;
cout<<"请输入学生号"<<endl;
cin>>Number;
peo.delet(Number);
break;
case 5:
cout<<endl<<"\t\t\t查找"<<endl;
cout<<"请输入学生号"<<endl;
cin>>Number;
peo.search(Number);
break;
case 0:break;
default : cout<<"输入错误,请重新输入!"<<endl;
}//switch
}//while
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -