c语言模拟实现简易通讯录

xiaoxiao2021-02-28  113

text.c #define _CRT_SECURE_NO_WARNINGS #include"text.h" void menu() { printf("*******************************************\n"); printf("****1、初始化信息 2、增加新用户*****\n"); printf("****3、已存用户 4、删除用户 *****\n"); printf("****5、查找用户 6、修改信息 *****\n"); printf("****7、给用户排序 8、清空通讯录*****\n"); printf("********* 9、退出通讯录 ***********\n"); printf("*********请输入对应数字选择功能************\n"); printf("*******************************************\n"); } int main() { int input = 0; struct Contact pcon; pcon.sz = 0; do{ menu(); scanf("%d", &input); switch (input) { case 1: InitContact(&pcon);//初始化 break; case 2: AddContact(&pcon);//增加用户信息 break; case 3: ShowContact(&pcon);//显示信息 break; case 4: DelContact(&pcon);//删除信息 break; case 5: SearchContact(&pcon);//查找信息 break; case 6: ModifyContact(&pcon);//修改信息 break; case 7:SortContach(&pcon);//排序信息 break; case 8: ClearContact(&pcon);//清空 break; case 9: return 0; break; default:printf("输入有误,请重新输入\n"); break; } } while (input != 9); getchar(); return 0; } void InitContact(pContact pcon)//初始化 { pcon->sz = 0; } void AddContact(pContact pcon)//增加用户信息 { char m = 0; if ((pcon->sz) == 1000) { printf("人数已满无法继续添加\n"); } printf("请输入新用户姓名:\n"); scanf("%s", (pcon->data[pcon->sz]).name); printf("请输入新用户年龄:\n"); scanf("%d", &(pcon->data[pcon->sz]).age); printf("请输入新用户性别:\n"); scanf("%s", (pcon->data[pcon->sz]).sex); printf("请输入新用户地址:\n"); scanf("%s", (pcon->data[pcon->sz]).addr); printf("请输入新用户电话:\n"); scanf("%s", (pcon->data[pcon->sz]).tele); (pcon->sz)++; } void ShowContact(const pContact pcon)//显示信息 { int i = 0; printf("姓名\t年龄\t性别\t地址\t\t电话\n"); for (i = 0; i < pcon->sz; i++) { printf("%s\t%d\t%s\t%s\t\t%s\t", (pcon->data[i]).name, (pcon->data[i]).age, (pcon->data[i]).sex, (pcon->data[i]).addr, (pcon->data[i]).tele); printf("\n"); } printf("\n"); } void DelContact(pContact pcon)//删除信息 { char name[20]; int i = 0; printf("请输入你要删除的用户:\n"); scanf("%s", &name); for (i = 0; i < pcon->sz; i++) { if (strcmp(name, (pcon->data[i]).name) == 0) { for (i; i < pcon->sz;i++) pcon->data[i] = pcon->data[i + 1]; } } pcon->sz--; printf("\n"); } void SearchContact(pContact pcon)//查找信息 { char name[20]; int i = 0; printf("请输入你要查找的用户:\n"); scanf("%s", &name); for (i = 0; i < pcon->sz; i++) { if (strcmp(name,(pcon->data[i]).name)==0) { printf("姓名\t年龄\t性别\t地址\t\t电话\n"); printf("%s\t%d\t%s\t%s\t\t%s\t", (pcon->data[i]).name, (pcon->data[i]).age, (pcon->data[i]).sex, (pcon->data[i]).addr, (pcon->data[i]).tele); printf("\n"); } } printf("\n"); } void ModifyContact(pContact pcon)//修改信息 { char name[20]; int i = 0; printf("请输入你要修改的用户:\n"); scanf("%s", &name); for (i = 0; i < pcon->sz; i++) { if (strcmp(name, (pcon->data[i]).name) == 0) { printf("请输入改正后的姓名:\n"); scanf("%s", pcon->data[i].name); printf("请输入改正后的年龄:\n"); scanf("%d", &(pcon->data[i].age)); printf("请输入改正后的性别:\n"); scanf("%s", pcon->data[i].sex); printf("请输入改正后的地址:\n"); scanf("%s", pcon->data[i].addr); printf("请输入改正后的电话:\n"); scanf("%s", pcon->data[i].tele); } } printf("\n"); } void SortContach(pContact pcon)//排序信息 { int n = 0; printf("*******************************************\n"); printf("************1、按姓名排序******************\n"); printf("************2、按年龄排序******************\n"); printf("*******************************************\n"); scanf("%d", &n); int i = 0; int j = 0; if (n == 2) { for (i = 0; i < pcon->sz; i++) { for (j = 0; j < pcon->sz - i - 1; j++) { if (((pcon->data[j]).age)>((pcon->data[j + 1]).age)) { struct PeoInfo tmp = pcon->data[j]; pcon->data[j] = pcon->data[j + 1]; pcon->data[j + 1] = tmp; } } } } else { for (i = 0; i < pcon->sz; i++) { for (j = 0; j < pcon->sz - i - 1; j++) { if ((strcmp((pcon->data[j]).name, (pcon->data[j+1]).name))>0) { struct PeoInfo tmp = pcon->data[j]; pcon->data[j] = pcon->data[j + 1]; pcon->data[j + 1] = tmp; } } } } printf("姓名\t年龄\t性别\t地址\t\t电话\n"); for (i = 0; i < pcon->sz; i++) { printf("%s\t%d\t%s\t%s\t\t%s\t", (pcon->data[i]).name, (pcon->data[i]).age, (pcon->data[i]).sex, (pcon->data[i]).addr, (pcon->data[i]).tele); printf("\n"); } printf("\n"); } void ClearContact(pContact pcon)//清空 { pcon->sz = 0; } text.h #ifndef __CONTACT_H__ #define __CONTACT_H__ #include<stdio.h> #include<string.h> #define MAX 1000 #define NAME_MAX 20 #define SEX_MAX 5 #define ADDR_MAX 30 #define TELE_MAX 12 typedef struct PeoInfo { char name[NAME_MAX]; int age; char sex[SEX_MAX]; char addr[ADDR_MAX]; char tele[TELE_MAX]; }PeoInfo; typedef struct Contact { PeoInfo data[MAX]; int sz; }*pContact; void InitContact(pContact pcon);//初始化 void AddContact(pContact pcon);//增加用户信息 void ShowContact(const pContact pcon);//显示信息 void DelContact(pContact pcon);//删除信息 void SearchContact(pContact pcon);//查找信息 void ModifyContact(pContact pcon);//修改信息 void SortContach(pContact pcon);//排序信息 void ClearContact(pContact pcon);//清空 #endif
转载请注明原文地址: https://www.6miu.com/read-27364.html

最新回复(0)