📄 ok.txt
字号:
#include <iostream>
#include <string.h>
#include <fstream>
using namespace std;
class student
{ public :
char num[10];
char name[20];
int age;
char sex[10];
char address[50];
long tel;
class student *next;
};
class grade
{
public :
class student * head;
void menu();
void init();
void insert();
int delete_f();
int select();
int xiugai();
int display();
void savefile();
void quit();
};
void grade::init()
{
cout<<"************************************主菜单************************************\n";
cout<<"\t\t1输入学生信息\t\t\t2删除学生信息\n";
cout<<"\t\t3查询学生信息\t\t\t4修改学生信息\n";
cout<<"\t\t5显示学生信息\t\t\t6保存学生信息";
cout<<"\t\t\t\t\t\t\t0退出系统\n";
cout<<"******************************************************************************\n";
head=NULL;
}
void grade::menu()
{
cout<<"************************************主菜单************************************\n";
cout<<"\t\t1输入学生信息\t\t\t2删除学生信息\n";
cout<<"\t\t3查询学生信息\t\t\t4修改学生信息\n";
cout<<"\t\t5显示学生信息\t\t\t6保存学生信息\n";
cout<<"\t\t\t\t\t\t\t0退出系统\n";
cout<<"******************************************************************************\n";
}
void grade::insert()
{ ofstream outfile("f1学生通讯录.txt",ios::out);
if(! outfile){cerr<<"open errpr!!"<<endl;exit(1);}
class student * p,*p1;
p=(class student *)malloc(sizeof(class student));
cout<<"请输入学号,姓名,性别,年龄,电话,家庭住址:"<<endl;
cin>>p->num>>p->name>>p->sex>>p->age>>p->tel>>p->address;
outfile<<p->num<<" "<<p->name<<" "<<p->sex<<" "<<p->age<<" "<<p->tel<<" "<<p->address;
if (head==NULL) {head=p;head->next=NULL;}
else
{
p1=head;
while(p1->next!=NULL)
p1=p1->next;
p1->next=p;
p->next=NULL;
}
}
int grade::delete_f()
{
char dnum[10];/* 要删除的学号*/
class student *p,*p1;
cout<<"请你输入要删除的学号:"<<endl;
cin>>dnum;
if (head==NULL) {cout<<"不存在记录"<<endl;return 0;}
if (head->next==NULL && strcmp(dnum,head->num)==0)
{head=NULL;cout<<"完成删除"<<endl;return 0;}
/* 只有一个记录且是要删除的数据*/
p=head;
while (p->next!=NULL)
{
p1=p->next;
if (strcmp(dnum,head->num)==0)
{head=head->next;cout<<"已经完成删除"<<endl;return 0;}
/* 要删除的数据在文件头*/
if (strcmp(dnum,p1->num)==0)
{p->next=p1->next;cout<<"已经完成删除"<<endl;return 0;}
p=p->next;
}
cout<<"不存在记录"<<endl;return 0;
}
int grade::select()
{
char snum[10];/* 要查询的学号*/
class student * p;
cout<<"请你输入要查询的学号:"<<endl;
cin>>snum;
p=head;
while(p!=NULL)
{
if (strcmp(p->num,snum)==0)
{
cout<<"学号: "<<p->num<<"\n姓名: "<<p->name<<"\n性别: "<<p->sex<<"\n年龄: "<<p->age<<"\n电话: "<<p->tel<<"\n家庭住址: "<<p->address<<endl;
return 0;
}
p=p->next;
}
cout<<"不存在记录"<<endl;return 0;
}
int grade::xiugai()
{
char mnum[10];/* 要修改的学号*/
class student *p;
cout<<"请你输入要修改的学号:"<<endl;
cin>>mnum;
p=head;
while(p!=NULL)
{
if (strcmp(p->num,mnum)==0)
{
cout<<"请输入新的姓名,性别,年龄,电话,家庭住址:"<<endl;
cin>>p->name>>p->sex>>p->age>>p->tel>>p->address;
cout<<"完成修改"<<endl;
return 0;
}
p=p->next;
}
cout<<"不存在记录"<<endl;return 0;
}
int grade::display()
{ ifstream infile("f1学生通讯录.txt",ios::in);
if(! infile){cerr<<"open errpr!!"<<endl;exit(1);}
class student *p;
p=head;
if (head==NULL) {cout<<"不存在记录"<<endl;return 0;}
while(p!=NULL)
{
infile>>p->num>>p->name>>p->sex>>p->age>>p->tel>>p->address;
cout<<"学号: "<<p->num<<endl<<"姓名: "<<p->name<<endl<<"性别: "<<p->sex<<endl<<"年龄: "<<p->age
<<endl<<"电话: "<<p->tel<<endl<<"家庭住址: "<<p->address<<endl;
p=p->next;
cout<<endl;
}
return 0;
}
void grade::savefile()
{
class student * p;
ifstream infile("f1学生通讯录.txt",ios::in);//ifstream input;
if(! infile){cerr<<"open errpr!!"<<endl;exit(1);}
//input.open("学生通讯录.txt");
p=head;
while(p!=head)
{
infile>>p->num>>p->name>>p->sex>>p->age>>p->tel>>p->address;
p=p->next;
}
cout<<"保存成功"<<endl;
}
int main()
{
int choice;
grade Grade;
Grade.init();
while(1)
{
cin>>choice;
switch(choice)
{
case 1: Grade.insert(); break;
case 2: Grade.delete_f(); break;
case 3: Grade.select(); break;
case 4: Grade.xiugai(); break;
case 5: Grade.display();break;
case 6: Grade.savefile();break;
case 0: return 0;
}
Grade.menu();
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -