简单电话通讯录(动态顺序表)
来源:互联网 发布:c语言中的sleep函数 编辑:程序博客网 时间:2024/05/17 04:45
#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAX 1000typedef struct Person{ char name[10]; char sex[2]; int age; char number[20]; char address[20];}Person;typedef struct PhoneBook{ Person con[MAX]; int count;}PhoneBook;enum Choose{ EXIT, ADD, DEL, SEARCH, MODIFY, SHOW, EMPTY, SORT,};void InitPhoneBook(PhoneBook *p){ p->count=0;}void AddPhoneBook(PhoneBook *p){ if(p->count>=MAX) { printf("No place!\n"); return; } printf("input name->:\n"); scanf("%s",p->con[p->count].name); printf("input sex->:\n"); scanf("%s",p->con[p->count].sex); printf("input age->:\n"); scanf("%d",&p->con[p->count].age); printf("input number->:\n"); scanf("%s",p->con[p->count].number); printf("input address->:\n"); scanf("%s",p->con[p->count].address); p->count++; printf("Successful\n");}static int find(PhoneBook *p,const char *find_name){ int i=0; for(i=0;i<p->count;i++) { if(strcmp(p->con[i].name,find_name)==0) { return i; } } return -1;}void DelPhoneBook(PhoneBook *p){ char name[20]; int ret,i; printf("input deleted name->:"); scanf("%s",name); ret=find(p,name); if(ret==-1) { printf("No exit!\n"); return ; } else { for(i=ret;i<p->count-1;i++) { p->con[i]=p->con[i+1]; } p->count--; printf("Successful!\n"); }}void SearchPhoneBook(PhoneBook *p){ char name[20]; int ret; printf("input searched name->:"); scanf("%s",name); ret=find(p,name); if(ret==-1) { printf("No exit!\n"); return ; } else { printf("%10s %4s %4d %10s %10s\n", p->con[ret].name, p->con[ret].sex, p->con[ret].age, p->con[ret].number, p->con[ret].address); printf("Successful!\n"); }}void ModifyPhoneBook(PhoneBook *p){ char name[20]; int ret; printf("input modified name->:"); scanf("%s",name); ret=find(p,name); if(ret==-1) { printf("No exit!\n"); return ; } else { printf("input name->:\n"); scanf("%s",p->con[ret].name); printf("input sex->:\n"); scanf("%s",p->con[ret].sex); printf("input age->:\n"); scanf("%d",&p->con[ret].age); printf("input number->:\n"); scanf("%s",p->con[ret].number); printf("input address->:\n"); scanf("%s",p->con[ret].address); } printf("Successful!\n");}void ShowPhoneBook(PhoneBook *p){ int i; printf("\t%10s %4s %4s %10s %10s\n", "name","sex","age","number","address"); for(i=0;i<p->count;i++) { printf("\t%10s %4s %4d %10s %10s\n", p->con[i].name, p->con[i].sex, p->con[i].age, p->con[i].number, p->con[i].address); }}void EmptyPhoneBook(PhoneBook *p){ p->count=0;}void SortPhoneBook(PhoneBook *p){ Person tmp; int i,j; for(i=0;i<p->count;i++) { for(j=0;j<p->count-i;j++) { if(strcmp(p->con[j].name,p->con[j+1].name)>0) { tmp=p->con[j]; p->con[j]=p->con[j+1]; p->con[j+1]=tmp; } } }}void MeunChoose(){ printf("\t**************************\n"); printf("\t*******1.添加联系人*******\n"); printf("\t*****2.删除指定联系人*****\n"); printf("\t*****3.查找指定联系人*****\n"); printf("\t*****4.修改指定联系人*****\n"); printf("\t*****5.显示所有联系人*****\n"); printf("\t*****6.清空所有联系人*****\n"); printf("\t**7.以名字排序所有联系人**\n"); printf("\t*******0.退出程序*********\n"); printf("\t**************************\n");}int main(){ int a=1; PhoneBook phone; InitPhoneBook(&phone); while(a) { MeunChoose(); printf("Choose Number->:"); scanf("%d",&a); switch(a) { case ADD: AddPhoneBook(&phone); break; case DEL: DelPhoneBook(&phone); break; case SEARCH: SearchPhoneBook(&phone); break; case MODIFY: ModifyPhoneBook(&phone); break; case SHOW: ShowPhoneBook(&phone); break; case EMPTY: EmptyPhoneBook(&phone); break; case SORT: SortPhoneBook(&phone); break; case EXIT: exit(-1); break; } } return 0;}
0 0
- 简单电话通讯录(动态顺序表)
- 静态顺序表实现简单的通讯录
- C语言实现通讯录—动态顺序表
- Pace 13 (小项目 :基于动态顺序表的通讯录)
- 简单实现动态顺序表
- 动态实现简单【顺序表】
- 简单的通讯录——第二版(动态版)
- 通讯录(动态版本)
- C简单实现动态顺序表
- 简单的动态顺序表实现
- c::动态顺序表的简单实现
- 简单实现静态/动态顺序表
- 动态顺序表的简单实现
- C语言简单实现动态顺序表
- 顺序表(动态)
- 用顺序表实现的简易通讯录(第一版)
- iOS 通讯录拨打电话
- 读取通讯录人员电话
- 用C++11的std::async代替线程的创建
- boa服务器CGI相关的一些错误解决方法
- IIS系列:四、添加网站
- perl weixin 获取好友信息
- [常用知识]如何在Eclipse、myEclipse中分别配置Tomcat和JBoss应用服务器
- 简单电话通讯录(动态顺序表)
- 黑马程序员——Java IO
- 腾讯云 linux系统服务器配置流程
- JVM 并发性: Java 和 Scala 并发性基础(1)
- 用 Maven 做项目构建
- JavaScript的定义及语法
- scikit-learn入门到精通(四):模型选择
- [UIWindow endDisablingInterfaceAutorotationAnimated:] called on UITextEffectsWindow: ...without matc
- # 使用GridView实现txt阅读器的书架模块