您的位置:首页 > 其它

学生通讯录 课程设计

2014-06-21 14:42 357 查看
// bin.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

#include<iostream>
#include<fstream>
#include<string>
using namespace std;

struct student       //通讯录整体可查询资料
{
char name[31];       //姓名
char num[31];      //学号
char address[31];   //地址
char tel_num[31];     //电话号码
char miscomessage[31];   ///微信
char QQ[31];          //QQ
};

int back_1();

class inter
{
private:
student st[31];    //最大限制为31个电话号码
public:
void add(char num[20],char name[20],char address[100],char tel_num[20],char miscomessage[10],char QQ[40]);
void del(char name[20]);
void find1(char num[20]);
void find2(char name[20]);
void find3(char address[100]);
void find4(char tel_num[20]);
void find5(char miscomessage[10]);
void find6(char QQ[40]);
void list1();
int correct(char name[20]);
//void format();
int back()      //返回主菜单函数
{
cout<<"         ------------------------------------------------------------"<<endl;
cout<<endl;
cout<<"     退出系统还是返回主菜单(任意键(除B)为退出,B为返回主菜单,大小写都OK):";
char back;
cin>>back;
if(back=='B'||back=='r')
return back_1();
}
void print(int i)    //输出联系人的内容
{
cout<<"学号:"<<st[i].num<<endl;
cout<<"姓名:"<<st[i].name<<endl;
cout<<"地址:"<<st[i].address<<endl;
cout<<"电话号码:"<<st[i].tel_num<<endl;
cout<<"微信号:"<<st[i].miscomessage<<endl;
cout<<"QQ:"<<st[i].QQ<<endl;
}
};

int main()
{
inter a;
//a.format();
char select1;
cout<<endl;
top:cout<<"\t\t▁▂▃▄▅█▉▊▋▌▍▏▎▍▋▊▉█▇▆▅▄▃▂▁"<<endl
<<"\t\t◆                                                ◆"<<endl
<<"\t\t◆            自动化学生通讯录                    ◆"<<endl
<<"\t\t◆                                                ◆"<<endl
<<"\t\t◆ 1. 通讯录的各项操作                            ◆"<<endl
<<"\t\t◆                                                ◆"<<endl
<<"\t\t◆ 2. 查询联系人具体信息.                         ◆"<<endl
<<"\t\t◆                                                ◆"<<endl
<<"\t\t◆                                  自动化1124    ◆"<<endl
<<"\t\t◆                         杨耀斌      		  ◆"<<endl
<<"\t\t◆                                                ◆"<<endl
<<"\t\t▁▁▁▁▁▁▁▁▁▁▁▁▁▁●●▁▁▁▁▁▁▁▁▁▁"<<endl
<<"\t\t                                                    "<<endl<<endl
<<"\t\t\t选择 :";
cin>>select1;
switch(select1)      //功能选择
{
case'1':cout<<"       (1)添加联系人:"<<endl;
cout<<"       (2)删除联系人:"<<endl;
cout<<"       (3)修改联系人:"<<endl;
char select2;
cout<<"       请选择:"<<endl;
cin>>select2;
switch(select2)    //功能1内的功能选择
{
case '1':cout<<"       输入添加的通讯录内容:"<<endl;
char num[20];
char name[20];
char address[100];
char tel_num[20];
char miscomessage[10];
char QQ[40];
cout<<"       输入学号:"<<endl;
cin>>num;
cout<<"       输入姓名:"<<endl;
cin>>name;
cout<<"       输入地址:"<<endl;
cin>>address;
cout<<"       输入电话号码:"<<endl;
cin>>tel_num;
cout<<"       输入微信号:"<<endl;
cin>>miscomessage;
cout<<"       输入QQ:"<<endl;
cin>>QQ;
a.add(num,name,address,tel_num,miscomessage,QQ);      //调用添加函数
cout<<"     退出系统还是返回主菜单(任意键(除B)为退出,B为返回主菜单,大小写都OK):";
char back_add;
cin>>back_add;
if(back_add=='B'||back_add=='b')
goto top;
else
goto bottom;
break;
case '2':cout<<"       输入要删除的人的姓名:"<<endl;
char name2[20];
cin>>name2;
a.del(name2);
cout<<"     退出系统还是返回主菜单(任意键(除B)为退出,B为返回主菜单,大小写都OK):";
char back_del;
cin>>back_del;
if(back_del=='B'||back_del=='b')
goto top;
else
goto bottom;
break;
case '3':cout<<"       输入需要修改的人的姓名:"<<endl;
char name3[20];
cin>>name3;
if(a.correct(name3))
goto top;
else
goto bottom;
break;
}
break;
case '2':cout<<"       (1)根据学号查找"<<endl;
cout<<"       (2)根据姓名查找"<<endl;
cout<<"       (3)根据地址查找"<<endl;
cout<<"       (4)根据电话号码查找"<<endl;
cout<<"       (5)根据微信查找"<<endl;
cout<<"       (6)根据QQ查找"<<endl;
char select3;
cout<<"       请选择:";
cin>>select3;
switch(select3)         //查找的功能
{
case '1':char num4[20];      //通过学号查找
cout<<"       输入学号:";
cin>>num4;
a.find1(num4);
cout<<"     退出系统还是返回主菜单(任意键(除B)为退出,B为返回主菜单,大小写都OK):";
char back_f1;
cin>>back_f1;
if(back_f1=='B'||back_f1=='b')
goto top;
else
goto bottom;
break;
case '2':char name4[20];    //通过姓名查找
cout<<"       输入姓名:";
cin>>name4;
a.find2(name4);
cout<<"     退出系统还是返回主菜单(任意键(除B)为退出,B为返回主菜单,大小写都OK):";
char back_f2;
cin>>back_f2;
if(back_f2=='B'||back_f2=='b')
goto top;
else
goto bottom;
break;
case '3':char address4[100];    //通过地址查找
cout<<"       输入地址:";
cin>>address4;
a.find3(address4);
cout<<"     退出系统还是返回主菜单(任意键(除B)为退出,B为返回主菜单,大小写都OK):";
char back_f3;
cin>>back_f3;
if(back_f3=='B'||back_f3=='b')
goto top;
else
goto bottom;
break;
case '4':char tel_num4[20];     //通过电话号码查找
cout<<"       输入电话号码:";
cin>>tel_num4;
a.find4(tel_num4);
cout<<"     退出系统还是返回主菜单(任意键(除B)为退出,B为返回主菜单,大小写都OK):";
char back_f4;
cin>>back_f4;
if(back_f4=='B'||back_f4=='b')
goto top;
else
goto bottom;
break;
case '5':char miscomessage4[10];    //通过微信查找
cout<<"       输入微信:";
cin>>miscomessage4;
a.find5(miscomessage4);
cout<<"     退出系统还是返回主菜单(任意键(除B)为退出,B为返回主菜单,大小写都OK):";
char back_f5;
cin>>back_f5;
if(back_f5=='B'||back_f5=='b')
goto top;
else
goto bottom;
break;
case '6':char QQ4[40];
cout<<"       输入QQ:";     //通过QQ查找
cin>>QQ4;
a.find6(QQ4);
cout<<"     退出系统还是返回主菜单(任意键(除B)为退出,B为返回主菜单,大小写都OK):";
char back_f6;
cin>>back_f6;
if(back_f6=='B'||back_f6=='b')
goto top;
else
goto bottom;
break;

}
bottom:cout<<"           ----------------------------------------------------  "<<endl;
}
return 0;
}

/*******************************增加联系人****************************/
void inter::add(char num[20],char name[20],char address[100],char tel_num[20],char miscomessage[10],char QQ[40])
{
int x=1;
for(int i=0;i<35;i++)
{
if(!strcmp(st[i].num,"0"))
{
strcpy(st[i].address,address);
strcpy(st[i].QQ,QQ);
strcpy(st[i].name,name);
strcpy(st[i].num,num);
strcpy(st[i].miscomessage,miscomessage);
strcpy(st[i].tel_num,tel_num);
x=0;
}
if(x==0)
break;
}
}

/***********************************删除某个联系人***********************/
void inter::del(char name[20])
{
int x=0;
for(int i=0;strcmp(st[i].name,name)==0&&i<35;i++)
{
if(strcmp(st[i].name,name)==0)     //寻找该联系人的姓名
{
strcpy(st[i].address,"0");
strcpy(st[i].QQ,"0");
strcpy(st[i].name,"0");
strcpy(st[i].num,"0");
strcpy(st[i].miscomessage,"0");
strcpy(st[i].tel_num,"0");
cout<<"删除成功!"<<endl;
}
x++;
}
if(x==0)
cout<<"       输入姓名错误!"<<endl;

}

/*******************************修改某个联系人*************************************/
int inter::correct(char name[20])
{
int x;
for(int i=0;i<35;i++)
{
if(!strcmp(st[i].name,name))    //寻找该联系人
x=i;
}
char select;
cout<<"       (1)修改姓名:"<<endl;
cout<<"       (2)修改学号:"<<endl;
cout<<"       (3)修改地址:"<<endl;
cout<<"       (4)修改微信:"<<endl;
cout<<"       (5)修改电话号码:"<<endl;
cout<<"       (6)修改QQ:"<<endl;
cout<<"         请选择:";
cin>>select;
switch(select)
{
case '1':cout<<"        输入要修改的姓名:";
char name1[20];
cin>>name1;
strcpy(st[x].name,name1);
cout<<"       修改成功!"<<endl;
break;
case '2':cout<<"       输入要修改的学号:";
char num1[20];
cin>>num1;
strcpy(st[i].num,num1);
cout<<"       修改成功!"<<endl;
break;
case '3':cout<<"       输入要修改的地址:"<<endl;
char address1[100];
cin>>address1;
strcpy(st[x].address,address1);
cout<<"       修改成功!"<<endl;
break;
case '4':cout<<"       输
a03b
入要修改的邮编:";
char miscomessage1[10];
cin>>miscomessage1;
strcpy(st[x].miscomessage,miscomessage1);
cout<<"       修改成功!"<<endl;
break;
case '5':cout<<"       输入要修改的电话号码:";
char tel_num1[20];
cin>>tel_num1;
strcpy(st[x].tel_num,tel_num1);
cout<<"       修改成功!"<<endl;
break;
case '6':cout<<"       输入要修改的QQ:";
char QQ1[40];
cin>>QQ1;
strcpy(st[x].QQ,QQ1);
cout<<"       修改成功!"<<endl;
break;
}

return  back();
}

/***********************************通过学号查询联系人*******************/
void inter::find1(char num[20])
{
int x,y=1,z=1;
for(int i=0;i<35;i++)
{
if(!strcmp(st[i].num,num))    //寻找该学号的联系人
{
x=i;
z=0;
}
else y=0;
if(z==0)
break;
}
if(y==0)
cout<<"       输入的学号不存在!"<<endl;
else
print(x);

}

/***********************************通过姓名查询联系人********************/
void inter::find2(char name[20])
{
int x,y=1,z=1;
for(int i=0;i<35;i++)
{
if(!strcmp(st[i].name,name))    //寻找改姓名的联系人
{
x=i;
z=0;
}
else y=0;
if(z==0)
break;
}
if(y==0)
cout<<"       输入的姓名不存在!"<<endl;
else
print(x);
}

/***********************************通过地址查询联系人********************/
void inter::find3(char address[100])
{
int x,y=1,z=1;
for(int i=0;i<35;i++)
{
if(!strcmp(st[i].address,address))    //寻找该地址的联系人
{
x=i;
z=0;
}
else y=0;
if(z==0)
break;
}
if(y==0)
cout<<"       输入的地址不存在!"<<endl;
else
print(x);

}

/***********************************通过电话号码查询联系人********************/
void inter::find4(char tel_num[20])
{
int x,y=1,z=1;
for(int i=0;i<35;i++)
{
if(!strcmp(st[i].tel_num,tel_num))    //寻找该号码的联系人
{
x=i;
z=0;
}
else y=0;
if(z==0)
break;
}
if(y==0)
cout<<"       输入的电话号码不存在!"<<endl;
else
print(x);

}

/***********************************通过邮编查询联系人********************/
void inter::find5(char miscomessage[10])
{
int x,y=1,z=1;
for(int i=0;i<35;i++)
{
if(!strcmp(st[i].miscomessage,miscomessage))    //寻找该邮编的联系人
{
x=i;
z=0;
}
else y=0;
if(z==0)
break;
}
if(y==0)
cout<<"       输入的微信不存在!"<<endl;
else
print(x);

}

/***********************************通过QQ查询联系人********************/
void inter::find6(char QQ[40])
{
int x,y=1,z=1;
for(int i=0;i<35;i++)
{
if(!strcmp(st[i].QQ,QQ))      //寻找该QQ的联系人
{
x=i;
z=0;
}
else y=0;
if(z==0)
break;
}
if(y==0)
cout<<"       输入的QQ不存在!"<<endl;
else
print(x);

}

/********************************返回主菜单的辅助函数*******************/
int back_1()
{
return main();
}


 

 

主界面



 

添加删除联系人



 

 

联系人查询



 

退出及返回

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: