【C语言】通讯录实现以及信息保存至文件。
来源:互联网 发布:网络作家富豪榜2013 编辑:程序博客网 时间:2024/05/05 09:14
实现一个通讯录:
通讯录用来存放1000个人的信息,每个人的信息包括:
姓名、性别、年龄、电话、住址
提供方法:
(1)添加联系人信息
(2)删除指定联系人信息
(3)查找指定联系人的信息
(4)修改指定联系人信息
(5)显示所有联系人信息
(6)清空所有联系人
实现方法:
#include <stdio.h>#include <string.h>#define MAX 1000#define NAME_LEN 10#define SEX_LEN 5#define PHONE_LEN 20#define ADDRESS_LEN 30struct DHB{ char name[NAME_LEN]; char sex[SEX_LEN]; int age; char phone[PHONE_LEN]; char address[ADDRESS_LEN];};typedef struct PEO{ struct DHB dhb[MAX]; int count;}Peo,*Pcon;void print(void){ printf("***********\n"); printf("1->添加联系人\n2->删除指定联系人\n3->查找指定联系人\n"); printf("4->修改指定联系人\n5->显示所有联系人\n6->清空所有联系人\n"); printf("7->文件形式保存\n"); printf("***********\n"); printf("\n请选择序号:");}int find(char *p,Pcon pcon){ int i = 0; for (i = 0; i < pcon->count; i++) { if (strcmp(p, pcon->dhb[i].name) == 0) { return i; } } return -1;}void add(Pcon pcon){ printf("请输入姓名、性别、年龄、电话、地址:\n"); scanf("%s %s %d %s %s", pcon->dhb[pcon->count].name, pcon->dhb[pcon->count].sex, &pcon->dhb[pcon->count].age, pcon->dhb[pcon->count].phone, pcon->dhb[pcon->count].address); printf("\n"); pcon->count++;}void dele(Pcon pcon){ int i = 0,tmp = 0; char name[NAME_LEN]; printf("输入要删除联系人的姓名:"); scanf("%s",name); tmp = find(name,pcon); if (tmp == -1) { printf("无此联系人!\n"); } else { for (i=tmp; i < pcon->count-1; i++) { pcon->dhb[i] = pcon->dhb[i + 1]; } pcon->count--; printf("\n删除指定联系人成功!\n"); }}void search(Pcon pcon){ int tmp = 0; char name[NAME_LEN]; printf("请输入要查找联系人的姓名:"); scanf("%s",name); tmp = find(name, pcon); if (tmp == -1) { printf("无此联系人!\n"); } else { printf("%s %s %d %s %s\n", pcon->dhb[tmp].name, pcon->dhb[tmp].sex, pcon->dhb[tmp].age, pcon->dhb[tmp].phone, pcon->dhb[tmp].address); printf("\n查找成功!\n"); }}void modify(Pcon pcon){ int tmp = 0; char name[NAME_LEN]; printf("请输入要修改的联系人的姓名:"); scanf("%s",name); tmp = find(name,pcon); if (tmp == -1) { printf("无此联系人!\n"); } else { printf("请输入修改后的联系人的全部信息:\n"); scanf("%s %s %d %s %s", pcon->dhb[tmp].name, pcon->dhb[tmp].sex, &pcon->dhb[tmp].age, pcon->dhb[tmp].phone, pcon->dhb[tmp].address); printf("\n修改成功!\n"); }}void show(Pcon pcon){ int i = 0; printf("name sex age phone address \n"); printf("----------------------------------------------------"); for (i = 0; i < pcon->count; i++) { printf("\n%-8s %-7s %-7d %-9s %-11s\n", pcon->dhb[i].name, pcon->dhb[i].sex, pcon->dhb[i].age, pcon->dhb[i].phone, pcon->dhb[i].address); }}void clear(Pcon pcon){ pcon->count = 0;}void filesave(Pcon pcon)//将添加的联系人保存至文件里{ int i = 0; FILE *pf = fopen("D:/Program Files/MyProjects/2015_5_28/main.txt","w");//文件可新建于当前文件下,即可执行文件的上一层目录底下 if(pf == NULL) { perror("error"); exit(EXIT_SUCCESS); } for(i = 0; i < pcon->count; i++) { fwrite(&pcon->dhb[i],sizeof(struct DHB),1,pf); } fclose(pf);}int main(){ Peo stu; int input = 1; stu.count = 0; while (input) { print(); scanf("%d",&input); switch (input) { case 1: add(&stu); break; case 2: dele(&stu); break; case 3: search(&stu); break; case 4: modify(&stu); break; case 5: show(&stu); break; case 6: clear(&stu); break; case 7: filesave(&stu); break; default: printf("选项无效\n"); break; } } return 0;}
添加联系人:
查找指定联系人:
0 1
- 【C语言】通讯录实现以及信息保存至文件。
- 通讯录(C语言、文件保存)
- 文件版通讯录的c语言实现
- 【C语言】C语言实现文件版通讯录
- c语言实现----通讯录
- C语言实现通讯录
- C语言实现通讯录
- c语言实现通讯录
- C语言实现通讯录
- 【C语言】通讯录代码(一个文件下实现)
- 【C语言】实现一个通讯录(三:加入文件读写)
- 用C语言实现通讯录文件存储的版本
- 用C语言实现通讯录的文件版本
- 用C语言模拟实现通讯录的文件版本
- 通讯录c语言实现(动态内存开辟&文件存储)
- 【c语言】实现一个通讯录
- c语言实现通讯录系统
- C语言实现简单通讯录
- 第11周项目1 - 存储班长信息的学生类
- 用同理心颠覆你的产品设计流程
- 从系统获取图片的两种方式的解析
- hdoj4160_Dolls(最小路径覆盖)
- 查看mysql服务器编码
- 【C语言】通讯录实现以及信息保存至文件。
- MYSQL中宽度指示器
- [hdu]还是畅通工程
- Android自定义组合控件---简单导航栏
- Random Maze - HDU 4067 最小费用最大流
- hbase遇到问题及解决方法
- 反素数应用分析
- android Graphics(一):概述及基本几何图形绘制
- [vb6.0] 解析JSON