日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

制作一个简单的通讯录

發(fā)布時(shí)間:2023/12/14 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 制作一个简单的通讯录 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

制作一個(gè)簡(jiǎn)單的通訊錄:
一.總體方針

1.test.c
測(cè)試
2.contact.c
實(shí)現(xiàn)函數(shù)的功能
3.contact.h
聲明函數(shù)

二.通訊錄的主要內(nèi)容簡(jiǎn)介

1.存放1000個(gè)好友信息
名字
電話(huà)
性別
住址
年齡
2.增加好友信息
3.刪除指定名字的好友信息
4.查找好友信息
5.修改好友信息
6.打印好友信息
7.排序

三.制作
1.test.c
測(cè)試

#define _CRT_SECURE_NO_WARNINGS 1 #include"contact.h" void menu() {printf("************************************\n");printf("*****1.add 2.del *****\n");printf("*****3.search 4.modify *****\n");printf("*****5.show 6.sort *****\n");printf("*****0.exit *****\n");printf("************************************\n");} int main() {int input = 0;//創(chuàng)建通訊錄//int size = 0;//struct PeoInfo con[MAX];//存放一千個(gè)人信息struct Contact con;//相當(dāng)于上兩行//con就是通訊錄,里面包含:1000個(gè)元素的數(shù)和size //初始化通訊錄InitContact(&con);do{menu();printf("請(qǐng)選擇:>");scanf("%d",&input);switch (input){case ADD:AddContact(&con);break;case DEL:DelContact(&con);break;case SEARCH:SearchContct(&con);break;case MODIFY:ModfyContact(&con);break;case SHOW:ShowContact(&con);break;//case SORT://SortContact(&con);break;case EXIT:printf("退出通訊錄\n");break;default:printf("輸入錯(cuò)誤\n");break;}}while(input);return 0; }

2.contact.c
實(shí)現(xiàn)函數(shù)的功能

#define _CRT_SECURE_NO_WARNINGS 1#include"contact.h"void InitContact(struct Contact* ps) {memset(ps->data, 0, sizeof(ps->data));ps->size = 0;//設(shè)置通訊錄最初只有0個(gè)元素 } void AddContact(struct Contact* ps) {if (ps->size == MAX){printf("通訊錄已滿(mǎn),無(wú)法增加\n");}else{printf("請(qǐng)輸入名字:>");scanf("%s", ps->data[ps->size].name);printf("請(qǐng)輸入年齡:>");scanf("%d", &(ps->data[ps->size].age));printf("請(qǐng)輸入性別:>");scanf("%s", ps->data[ps->size].sex);printf("請(qǐng)輸入電話(huà):>");scanf("%s", ps->data[ps->size].tele);printf("請(qǐng)輸入地址:>");scanf("%s", ps->data[ps->size].addr);ps->size++;printf("添加成功\n");} }void ShowContact(const struct Contact* ps) {if (ps->size == 0){printf("通訊錄為空\(chéng)n");}else{int i = 0;printf("%-20s\t%-4s\t%-5\t%-12s\t%-20s\n", "名字", "年齡", "性別", "電話(huà)", "地址");for (i = 0; i < ps->size; i++){printf("%-20s\t%-4d\t%-5s\t%-12s\t%-20s\n",ps->data[i].name,ps->data[i].age,ps->data[i].sex,ps->data[i].tele,ps->data[i].addr);}} }static int FindByName(const struct Contact* ps, char name[MAX_NAME]) {int i = 0;for (i = 0; i < ps->size; i++){if (0 == strcmp(ps->data[i].name, name))return i;return -1;} }void DelContact(struct Contact* ps) {char name[MAX_NAME];printf("請(qǐng)輸入刪除人的名字:>");scanf("%s", name);//1.查找需要?jiǎng)h除的人的位置//int i = 0;//for (i = 0; i < ps->size; i++)//{// if (0 == strcmp(ps->data[i].name, name))// break;//}//找到返回名字所在元素的下標(biāo)//找不到返回-1int pos = FindByName(ps,name);//2.刪除if (pos == -1){printf("需要?jiǎng)h除的人不存在\n");}else{//刪除數(shù)據(jù)int j = 0;for (j = pos; j < ps->size-1; j++){ps->data[j] = ps->data[j + 1];}ps->size--;printf("刪除成功\n");}}void SearchContct(const struct Contact* ps) {char name[MAX_NAME];printf("請(qǐng)輸入需要查找讓你的名字:>");scanf("%s", name);//int i = 0;//for (i = 0; i < ps->size; i++)//{// if (0 == strcmp(ps->data[i].name, name))// break;//}int pos = FindByName(ps, name);if (pos == -1){printf("要查找的人不存在\n");}else{printf("%-20s\t%-4s\t%-5\t%-12s\t%-20s\n", "名字", "年齡", "性別", "電話(huà)", "地址");printf("%-20s\t%-4d\t%-5s\t%-12s\t%-20s\n",ps->data[pos].name,ps->data[pos].age,ps->data[pos].sex,ps->data[pos].tele,ps->data[pos].addr);} } void ModfyContact(struct Contact* ps) {char name[MAX_NAME];printf("請(qǐng)輸入需要修改人的名字");scanf("%s", name);int pos = FindByName(ps, name);if (pos == -1){printf("需要修改的人信息不存在\n");}else{printf("請(qǐng)輸入名字:>");scanf("%s", ps->data[pos].name);printf("請(qǐng)輸入年齡:>");scanf("%d", &(ps->data[pos].age));printf("請(qǐng)輸入性別:>");scanf("%s", ps->data[pos].sex);printf("請(qǐng)輸入電話(huà):>");scanf("%s", ps->data[pos].tele);printf("請(qǐng)輸入地址:>");scanf("%s", ps->data[pos].addr);printf("修改完成\n");} }

3.contact.h
聲明函數(shù)

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<string.h> #define MAX 1000//寫(xiě)在這里是因?yàn)榉奖阋院笮薷膬?nèi)容 #define MAX_NAME 20 #define MAX_SEX 5 #define MAX_TELE 12 #define MAX_ADDR 30enum Option {EXIT,ADD,DEL,SEARCH,MODIFY,SHOW//SORT };struct PeoInfo {char name[MAX_NAME];int age;char sex[MAX_SEX];char tele[MAX_TELE];char addr[MAX_ADDR]; };//通訊錄類(lèi)型 struct Contact {struct PeoInfo data[MAX];int size; };//聲明函數(shù) //初始化通訊錄的函數(shù) void InitContact(struct Contact* ps);//增加一個(gè)信息到通訊錄 void AddContact(struct Contact* ps);//打印通訊錄中的信息 void ShowContact(const struct Contact* ps);//刪除指定的聯(lián)系人 void DelContact(struct Contact* ps);//查找指定的人的信息 void SearchContct(const struct Contact* ps);//修改指定聯(lián)系人 void ModfyContact(struct Contact* ps);

注:個(gè)人結(jié)合老師上課內(nèi)容對(duì)結(jié)構(gòu)體的認(rèn)識(shí),本人萌新可能有許多不正到之處,望周正。

總結(jié)

以上是生活随笔為你收集整理的制作一个简单的通讯录的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。