实现一个通讯录
来源:互联网 发布:iptv网络电视频道 编辑:程序博客网 时间:2024/06/05 05:49
1. /*
2. 实现一个通讯录;
3. 通讯录可以用来存储1000个人的信息,每个人的信息包括:
4. 姓名、性别、年龄、电话、住址
5.
6. 提供方法:
7. 1. 添加联系人信息
8. 2. 删除指定联系人信息
9. 3. 查找指定联系人信息
10. 4. 修改指定联系人信息
11. 5. 显示所有联系人信息
12. 6. 清空所有联系人
13. */
#include <stdio.h> #include <string.h> #include <stdlib.h> #define MAX 1000 #define NAME_LENGTH 20 #define SEX_LENGTH 5 #define TELE_LENGTH 20 #define ADDR_LENGTH 30 struct PeopleInfo { char name[NAME_LENGTH]; char sex[SEX_LENGTH]; int age; char tele[TELE_LENGTH]; char addr[ADDR_LENGTH]; }; struct Contacts { struct PeopleInfo person[MAX]; int user_count; }; typedef struct Contacts *pContacts; int add_contacts(pContacts pcon); int dele_contacts(pContacts pcon); int clear_contacts(pContacts pcon); int find_contacts(pContacts pcon); int modify_contacts(pContacts pcon); void show_contacts(pContacts pcon); void menu(); #include "contacts.h" int find_entry(pContacts pcon) { int i = 0 ; char name[NAME_LENGTH]; printf("Please input name:"); scanf("%s",name); for(i = 0;i < pcon->user_count;i++) { if(strcmp(pcon->person[i].name ,name) == 0) { return i; } } return -1; } int add_contacts(pContacts pcon) { if(pcon->user_count == MAX) { printf("Telephone book is full!\n"); return -1; } printf("Please input name:"); scanf("%s",pcon->person[pcon->user_count].name); printf("Please input sex:"); scanf("%s",pcon->person[pcon->user_count].sex); printf("Please input age:"); scanf("%d",&(pcon->person[pcon->user_count].age)); printf("Please input tele:"); scanf("%s",pcon->person[pcon->user_count].tele); printf("Please input addr:"); scanf("%s",pcon->person[pcon->user_count].addr); pcon->user_count++; return 1; } int dele_contacts(pContacts pcon) { int i = 0; int ret = find_entry(pcon); if(ret != -1) { for(i = ret;i < pcon->user_count-1;i++) { pcon->person[i] = pcon->person[i+1]; } pcon->user_count--; return 1; } else { printf("not exist!\n"); return -1; } } int clear_contacts(pContacts pcon) { pcon->user_count = 0; return 1; } int find_contacts(pContacts pcon) { int ret = find_entry(pcon); if(ret != -1) { printf("name:%s",pcon->person[ret].name); printf("sex:%s",pcon->person[ret].sex); printf("age:%d",pcon->person[ret].age); printf("tele:%s",pcon->person[ret].tele); printf("addr:%s",pcon->person[ret].addr); return 1; } else { printf("not exist!\n"); return -1; } } int modify_contacts(pContacts pcon) { int ret = find_entry(pcon); if(ret != -1) { printf("Please input name:"); scanf("%s",pcon->person[ret].name); printf("Please input sex:"); scanf("%s",pcon->person[ret].sex); printf("Please input age:"); scanf("%s",pcon->person[ret].age); printf("Please input tele:"); scanf("%s",pcon->person[ret].tele); printf("Please input addr:"); scanf("%s",pcon->person[ret].addr); return 1; } else { printf("not exist!\n"); return -1; } } void show_contacts(pContacts pcon) { int i = 0; printf("\tname\tsex\t\tage\t\ttele\t\t\taddr\n"); for(i = 0;i < pcon->user_count;i++) { printf("%10s\t",pcon->person[i].name); printf("%5s\t",pcon->person[i].sex); printf("%10d\t",pcon->person[i].age); printf("%15s\t",pcon->person[i].tele); printf("%20s\t",pcon->person[i].addr); } printf("\n"); } void menu()//菜单函数 { printf("------------------People-----------------\n"); printf("1. 添加联系人信息\n"); printf("2. 删除指定联系人信息\n"); printf("3. 清空所有联系人信息\n"); printf("4. 查找指定联系人信息\n"); printf("5. 修改指定联系人信息\n"); printf("6. 显示所有联系人信息\n"); printf("7. exit\n"); printf("-----------------------------------------\n"); } #include "contacts.h" int main() { int n = 1; struct Contacts people; people.user_count = 0; system("mode con cols=200 lines=200"); A:menu(); while(n) { printf("Please input:"); scanf("%d",&n); switch(n) { case 1: add_contacts(&people); goto A; break; case 2: dele_contacts(&people); goto A; break; case 3: clear_contacts(&people); goto A; break; case 4: find_contacts(&people); goto A; break; case 5: modify_contacts(&people); goto A; break; case 6: show_contacts(&people); goto A; break; case 7: return 0; break; default: printf("input error!\n"); break; } } return 0; }
0 0
- 用链表实现一个通讯录
- 实现一个小型通讯录
- 实现一个通讯录
- 实现一个通讯录
- 实现一个简易通讯录
- 实现一个通讯录;
- 实现一个通讯录。
- 实现一个通讯录
- 【c语言】实现一个通讯录
- 实现一个简单的通讯录
- 实现一个通讯录(数组实现)
- 【C语言】实现一个简单的通讯录
- C结构体实现一个通讯录
- 实现通讯录分组排序的一个方法
- 用C语言实现一个通讯录
- 用C++实现一个简单的通讯录
- 【C语言】实现一个通讯录(一:静态的实现)
- 【C语言】实现一个通讯录(二:动态的实现)
- Valid Parentheses
- java实现:输入两颗二叉树A,B,判断B是不是A的子结构
- Java工具类:给程序增加版权信息
- HDU 5024 Wang Xifeng's Little Plot
- 算一算是一年中的第几天
- 实现一个通讯录
- MCS求完美消去序列
- 最长无重复字符子串
- UVA 11210 - Chinese Mahjong
- 面向中文的自然语言编程
- Myeclipse中通过JDBC连接MySQL数据库的详细步骤
- Singleton Pattern(单例模式)
- Mac HomeBrew 安装
- 5.1比赛总结加解题报告