实现一个通讯录;
通讯录可以用来存储1000个人的信息,每个人的信息包括:
姓名、性别、年龄、电话、住址
提供方法:
1. 添加联系人信息
2. 删除指定联系人信息
3. 查找指定联系人信息
4. 修改指定联系人信息
5. 显示所有联系人信息
6. 清空所有联系人
#include"contact.h" int add_contact(pContact pcon) { if(pcon->count_user ==MAX) { printf("通讯录已满!"); return -1; } else { printf("请输入名字:"); scanf("%s",pcon->people[pcon->count_user].name ); printf("请输入性别:"); scanf("%s",pcon->people[pcon->count_user].sex); printf("请输入年龄:"); scanf("%d",&pcon->people[pcon->count_user].age); printf("请输入电话:"); scanf("%s",pcon->people[pcon->count_user].tel); printf("请输入地址:"); scanf("%s",pcon->people[pcon->count_user].add ); pcon->count_user++; } return 0; } int del_contact(pContact pcon) { int i=0; int rel=search_contact(pcon); if(rel!=-1) { for(i=rel;i<pcon->count_user-1;i++) { pcon->people[i] =pcon->people [i+1]; } pcon->count_user--; return 1; } else { printf("不存在!"); return -1; } } int search_contact(pContact pcon) { int i; char name[NAME_LIGHT]; printf("请输入要查找的名字:"); scanf("%s",name); for(i=0;i<pcon->count_user;i++) { if(strcmp(pcon->people[i].name ,name)==0) { printf("\tname\tsex\tage\ttel\tadd\n"); printf("%10s",pcon->people[i].name ); printf("%5s",pcon->people[i].sex); printf("%10d",pcon->people[i].age ); printf("%10s",pcon->people[i].tel ); printf("%10s\n",pcon->people[i].add ); return 1; } } return -1; } int modify_contact(pContact pcon) { int rel=search_contact(pcon); if(rel!=-1) { printf("请输入姓名:"); scanf("%s",pcon->people[pcon->count_user ].name); printf("请输入性别:"); scanf("%s",pcon->people[pcon->count_user].sex ); printf("请输入年龄:"); scanf("%d",&pcon->people[pcon->count_user].age); printf("请输入电话:"); scanf("%s",pcon->people[pcon->count_user ].tel ); printf("请输入地址:"); scanf("%s",pcon->people[pcon->count_user ].add ); return 1; } else { printf("输入错误!"); return -1; } } int show_contact(pContact pcon) { int i; printf("\tname\tsex\tage\ttel\tadd\n"); for(i=0;i< pcon->count_user;i++) { printf("%10s",pcon->people[i].name ); printf("%5s",pcon->people[i].sex); printf("%10d",pcon->people[i].age ); printf("%10s",pcon->people[i].tel ); printf("%10s\n",pcon->people[i].add ); } printf("\n"); return 0; } int clear_contact(pContact pcon) { pcon->count_user =0; return 1; }
#ifndef CONTACT_H #define CONTACT_H #endif #include<stdio.h> #include<string.h> #include<stdlib.h> #define NAME_LIGHT 10 #define SEX_LIGHT 4 #define TEL_LIGHT 20 #define ADD_LIGHT 30 #define MAX 1000 struct peopleInfo { char name[NAME_LIGHT]; char sex[SEX_LIGHT]; int age; char tel[TEL_LIGHT]; char add[ADD_LIGHT]; }; struct contact { struct peopleInfo people[MAX]; int count_user; }; typedef struct contact *pContact; int add_contact(pContact pcon); int del_contact(pContact pcon); int search_contact(pContact pcon); int modify_contact(pContact pcon); int show_contact(pContact pcon); int clear_contact(pContact pcon);
#include"contact.h" int main() { int n; struct contact people; people.count_user=0; printf("请输入一个数:"); scanf("%d",&n); switch(n) { case 1: add_contact(&people); break; case 2: del_contact(&people); break; case 3: search_contact(&people); break; case 4: clear_contact(&people); break; case 5: modify_contact(&people); break; case 6: show_contact(&people); break; default: printf("输入错误!"); break; } return 0; }
上一个:面试官:请用SQL模拟一个死锁