小弟刚学C一个月,自己编写了个简易的电话簿管理系统,但就是功能实现不了,求帮助!
#include <stdio.h>#include<string.h>
typedef struct{
char name[30];
char sex;
unsigned short age;
char phone[20];
char QQ[15];
}PHLIST;
PHLIST telepho[100]={{"Li Ming",'m',18,"13888345234","4564323"},
{"Wang Lu",'f',19,"15902345678","93947865"},
{"An Na",'f',18,"15902377889","876899"}};
int tel_len=3;
int tel_search(){
char a[30];
int i;
printf("请输入姓名:");
scanf("%s",a);
for(i=0;i<tel_len;i++);
if(strcmp(a,telepho[i].name)==0)
return i;
return -1;
}
void tel_output(int k){
int i;
for(i=0;i<k;i++){
printf("%s\n",telepho[i].name);
printf("%c\n",telepho[i].sex);
printf("%d\n",telepho[i].age);
printf("%s\n",telepho[i].phone);
printf("%s\n",telepho[i].QQ);
printf("\n");
}
}
void tel_add(){
int i=tel_len;
printf("请输入要添加的姓名:\n");
scanf("%s",telepho[i].name);
printf("请输入要添加的的性别:\n");
scanf("%c",&telepho[i].sex);
printf("请输入要添加的年龄:\n");
scanf("%d",&telepho[i].age);
printf("请输入要添加的电话:\n");
scanf("%s",telepho[i].phone);
printf("请输入要添加的QQ:\n");
scanf("%s",telepho[i].QQ);
tel_len++;
}
void change(){
int m;
m=tel_search();
if(m>=0){
printf("请输入要修改的姓名:");
scanf("%s",telepho[m].name);
printf("请输入要修改的性别:");
scanf("%c",telepho[m].sex);
printf("请输入要修改的年龄:");
scanf("%d",telepho[m].age);
printf("请输入要修改的电话:");
scanf("%s",telepho[m].phone);
printf("请输入要修改的QQ:");
scanf("%s",telepho[m].QQ);
}
else
printf("修改不存在");
}
void delet(){
int i,t;
t=tel_search();
if(t>=0)
for(i=t;i<=tel_len-1;i++)
telepho[i]=telepho[i+1];
else
printf("删除目标不存在");
tel_len--;
}
void meun(){
printf("***********************菜单*************************\n");
printf("* 1 添加通讯记录 2 查找通讯记录 *\n");
printf("* 3 修改通讯记录 4 删除通讯记录 *\n");
printf("* 5 输出通讯记录 0 退出管理系统 *\n");
printf("*****************************************************\n");
}
int main(){
int t,num;
meun();
while(1){
printf("请输入一个数字作出选择:");
scanf("%d",&num);
if(num==0) break;
else
switch(num){
case 1:
tel_add();
break;
case 2:
t=tel_search();
if(t>=0)
printf("查找的结果为:\n");
printf("%s",telepho[t].name);
printf("%c",telepho[t].sex);
printf("%d",telepho[t].age);
printf("%s",telepho[t].phone);
printf("%s",telepho[t].QQ);
break;
case 3:
change();
break;
case 4:
delet();
break;
case 5:
tel_output(tel_len);
break;
}
}
}