成员基本信息:如姓名、性别、年龄、工作单位、通信地址、电话号码(固定电话和移动电话)、
E-MAIL等。
1.各种基本数据的录入。
2.各种基本数据的修改。即:允许对以及录入的数据重新进行编辑、修改。
3.各种基本数据的插入。如:插入一条新成员信息。
4.各种基本数据的删除。删除该成员的相关信息等。
基于各种数据的查询。
#include "stdafx.h"
#include "iostream.h"
#include "string.h"
struct student
{
long ID;
char name[10];
long QQ;
char tel[20];
student *next;
};
class stu
{
private:
student *head;
int n;
public:
stu():head(NULL),n(0){}
~stu(){
student *q;
while(head!=NULL)
{
q=head;
head=head->next;
delete q;
}
}
void insert();
void creat(int m);
void show();
void del(char a[]);
void find(char b[]);
};
void stu::insert()
{
student *p,*p1,*p2;
int k=0;
p=new student;
p->next=NULL;
cout<<"请输入学生学号:"<<endl;
cin>>p->ID;
cout<<"请输入学生姓名:"<<endl;
cin>>p->name;
cout<<"请输入学生QQ:"<<endl;
cin>>p->QQ;
cout<<"请输入学生电话:"<<endl;
cin>>p->tel;
p1=head;
while(p1!=NULL)
{
if(p->ID==p1->ID)
{ cout<<"已存在!"<<endl; return;}
p1=p1->next;
}
p1=head;
if(head==NULL) {head=p;}
else
{
while(p->ID>p1->ID)
{
if(p1->next==NULL)
{
p1->next=p;
k=1;
break;
}
p2=p1;
p1=p1->next;
}
if(k==0)
{ p->next=p1;
p2->next=p;
}
}
n++;
}
void stu::creat(int m)
{
for(int i=0;i<m;i++)
insert();
}
void stu::show()
{
student *q;
q=head;
while(q!=NULL)
{
cout<<"学号 "<<q->ID<<endl
<<"姓名 "<<q->name<<endl
<<"QQ "<<q->QQ<<endl
<<"电话 "<<q->tel<<endl;
q=q->next;
}
}
void stu::del(char a[])
{
student *p1,*p2;
p1=head;
if(p1==NULL)
{ cout<<"记录表为空!"<<endl; return;}
else if(strcmp(head->name,a)==0)
{head=head->next;delete p1;}
else
while(p1!=NULL)
{
p2=p1;
p1=p1->next;
if(strcmp(p1->name,a)==0)
{
p2->next=p1->next;
delete p1;
}
}
cout<<"删除成功!"<<endl;
}
void stu::find(char a[])
{
student *p1;
int k=0;
p1=head;
if(head==NULL)
{cout<<"记录表为空!"<<endl;return;}
while(p1!=NULL)
{
if(strcmp(p1->name,a)==0)
{
cout<<"此人信息为:"<<endl
<<"学号:"<<p1->ID<<endl
<<"姓名:"<<p1->name<<endl
<<"QQ:"<<p1->QQ<<endl
<<"电话:"<<p1->tel<<endl;
k=1;
}
p1=p1->next;
}
if(k==0)
cout<<"无此人!"<<endl;
}
int main(int argc, char* argv[])
{
int c=0;
int m;
char a[10];
char b[10];
stu s1;
enum chose{creat=1,insert,show,del,find,exit};
while(c<5)
{
cout<<"请选择:================"<<endl
<<"1.创建================="<<endl
<<"2.添加================="<<endl
<<"3.显示================="<<endl
<<"4.删除================="<<endl
<<"5.查询================="<<endl
<<"6.退出================="<<endl;
cin>>c;
switch(c)
{
case creat: cout<<"请输入学生数目:"<<endl;
cin>>m;s1.creat(m);break;
case insert:s1.insert();break;
case find: cout<<"请输入查找的学生名字:"<<endl;
cin>>a;s1.find(a);break;
case show: s1.show();break;
case del: cout<<"请输入删除的学生姓名:"<<endl;
cin>>b;s1.del(b);break;
case exit: return 0;break;
default:cout<<"输入有误,请重新输入!"<<endl;
}
}
return 0;
}
才不久写的个....水平不行 别见怪``
[此贴子已经被作者于2007-6-26 17:10:31编辑过]