这还是大一时候为了完成学校C++软件设计搞出来的玩意,且看且用吧… …
现在C++离我太遥远了。
我还记得我是专业第一名,可能是答辩答得好,深得老师欢心的我。
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
using namespace std;
struct record
{
char name[20]; //姓名
char phone[12]; //电话
char adress[50]; //地址
char postcode[8]; //邮政编码
char e_mail[20]; //电子邮件。
char qq[10]; //QQ号
char wechat[30]; //微信号
}student[100]; //假设最大数为100.
//定义全局变量num,表示已经输入的人数 。
int num; //这里使用数组解决通讯录的问题,实际上使用链表更好。
int menu_select()
{
char s[80];
int a;/*定义整形变量*/
system("cls");
printf("\t\t\t\t\t*********欢迎进入通讯录管理界面*********\n");
printf("\t\t\t\t\t | 0. 输入记录 |\n");
printf("\t\t\t\t\t | 1. 显示记录 |\n");
printf("\t\t\t\t\t | 2. 按姓名查找 |\n");
printf("\t\t\t\t\t | 3. 按电话号码查找 |\n");
printf("\t\t\t\t\t | 4. 插入记录 |\n");
printf("\t\t\t\t\t | 5. 按姓名排序 |\n");
printf("\t\t\t\t\t | 6. 删除记录 |\n");
printf("\t\t\t\t\t | 7. 退出界面 |\n");
printf("\t\t\t\t\t ******************************\n\n");
do{
printf("Enter you choice(0~7):");
scanf("%s",s);
a=atoi(s);
}
while (a<0 || a>7);
return a;
}
int adduser()
{
printf("\t\t\t\t **************** 请输入用户信息 ****************\n");
printf("\t\t\t\t\t输入姓名:");
scanf("%s",student[num].name);
printf("\t\t\t\t\t输入电话号码:");
scanf("%s",student[num].phone);
printf("\t\t\t\t\t输入地址:");
scanf("%s",student[num].adress);
printf("\t\t\t\t\t输入邮编:");
scanf("%s",student[num].postcode);
printf("\t\t\t\t\t输入e-mail:");
scanf("%s",student[num].e_mail);
printf("\t\t\t\t\tQQ:");
scanf("%s",student[num].qq);
printf("\t\t\t\t\t输入微信:");
scanf("%s",student[num].wechat);
num++;
printf("\t\t\t\t\t是否继续添加?(Y/N):\n");
if(getch()=='y' || getch()=='Y')
adduser();
return(0);
}
void list()
{
int i;
system("cls");
if(num!=0)
{
printf("\t\t\t\t *************** 以下为通讯录所有信息************\n");
for (i=0;i<num;i++)
{
printf("\t\t\t\t姓名:%s",student[i].name);
cout<<endl;
printf("\t\t\t\t电话:%s",student[i].phone);
cout<<endl;
printf("\t\t\t\t地址:%s",student[i].adress);
cout<<endl;
printf("\t\t\t\t邮编:%s",student[i].postcode);
cout<<endl;
printf("\t\t\t\te-mail:%s",student[i].e_mail);
cout<<endl;
printf("\t\t\t\tQQ:%s",student[i].qq);
cout<<endl;
printf("\t\t\t\t微信:%s",student[i].wechat);
cout<<endl;
if(i+1<num)
{
system("pause");
}
}
printf("\t\t\t\t*******************************************************\n");
}
else
printf("\t\t\t\t\t ********通讯录中无任何纪录********\n");
printf("按任意键返回主菜单:");
getch(); //这里是无回显的输入字符,你输入的字符不会显示在屏幕上。
return;
}
int searchbyname()
{
int mark=0;
int i;
printf("\t\t\t\t***************** 按姓名查找 *******************\n");
char name[20];
printf("\t\t\t请输入姓名:");
scanf("%s",name);
for(i=0;i<num;i++)
{
if (strcmp(student[i].name,name)==0)
{
printf("\t\t\t\t************* 以下是您查找的用户信息 ***********\n");
printf("\t\t\t\t姓名: %s",student[i].name);
cout<<endl;
printf("\t\t\t\t电话: %s",student[i].phone);
cout<<endl;
printf("\t\t\t\t地址: %s",student[i].adress);
cout<<endl;
printf("\t\t\t\te-mail:%s",student[i].e_mail);
cout<<endl;
printf("\t\t\t\t邮编:%s",student[i].postcode);
cout<<endl;
printf("\t\t\t\tQQ:%s",student[i].qq);
cout<<endl;
printf("\t\t\t\t微信:%s",student[i].wechat);
cout<<endl;
printf("\t\t\t\t\t\t\t\t\t************************************************\n");
mark++;
if((i+1)<num)
{
printf("\t\t\t\t是否继续查找相同名字的用户信息:(y/n)\n");
if(getch()=='y' || getch()=='Y')
{
continue;
}
else
return(0);
}
else
{
printf("按任意键返回主菜单:");
getch();
return(0);
}
}
}
if(mark == 0)
{
printf("\t\t\t\t没有相同姓名的用户纪录\n");
printf("按任意键返回主菜单:");
getch();
return(0);
}
return 0;
}
int searchbyphone()
{
int mark=0;
int i;
printf("\t\t\t\t****************** 按电话查找 ******************\n");
char phone[10];
printf("\t\t\t\t请输入电话号码:");
scanf("%s",phone);
for(i=0;i<num;i++)
{
if (strcmp(student[i].phone,phone)==0)
{
printf("\t\t\t\t************** 以下是您查找的用户信息 **********\n");
printf("\t\t\t\t姓名: %s",student[i].name