学生通讯录 课程设计

// 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<<"       输入要修改的邮编:";
		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();
}



 

 

主界面

 

添加删除联系人

 

 

联系人查询

 

退出及返回

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值