亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

用C語言實現簡易通訊錄

2020-01-26 13:46:03
字體:
來源:轉載
供稿:網友

C語言實現一個通訊錄,通訊錄可以用來存儲1000個人的信息,每個人的信息包括:

姓名、性別、年齡、電話、住址

**提供方法:

1. 添加聯系人信息
2. 刪除指定聯系人信息
3. 查找指定聯系人信息
4. 修改指定聯系人信息
5. 顯示所有聯系人信息
6. 清空所有聯系人
7. 以名字排序所有聯系人**

思路分析:

首先我們可以分三個模塊來解決這個問題,第一個模塊我們需要一個頭文件,這個頭文件里可以包含一些相應信息,當實現文件和測試文件包含自己定義的頭文件時便可以獲得一些相關的信息。所以頭文件里應該包括一個結構體,這個結構體里應包含姓名,性別,年齡,電話,住址。同時還可以定義一個結構體,這個結構體里包含通訊錄,同時通訊錄里人員的計數變量,將通訊錄的地址傳到別的地方便可以實現對它遍歷或者其他操作。
第二個模塊便是我們的測試函數,測試函數便可以實現我們的菜單打印,同時由我們接收不同的值便可以實現不同的操作,就是相應的方法的實現,這里很明顯可以通過一個switch語句來進行控制。
第三個模塊便是我們的方法實現的函數,將模塊2里定義的類型為通訊錄的地址傳到各個方法里,這樣便可以實現對通訊錄的操作。

1.linkman.h(頭文件)

#ifndef __LINKMAN_H__#define __LINKMAN_H__#include<stdio.h>#include<windows.h>#include<string.h>#pragma warning (disable:4996)typedef struct LINKMAN//建立結構體,存放聯系人信息{ char name[20]; char sex[10]; int age; int tel[12]; char addr[50];}LINKMAN;typedef struct Statis //把通訊錄和人員統計放在結構體內{ LINKMAN num[1000]; int count;}Statis;void inint_linkman(Statis *p);//初始化數組void Add_linkman(Statis *p);// 添加聯系人信息void Dele_linkman(Statis *p);//刪除指定聯系人信息void Find_linkman(Statis *p);//查找指定聯系人信息void Revise_linkman(Statis *p);//修改指定聯系人信息void Display_linkman(Statis *p);//顯示所有聯系人信息void Empty_linkman(Statis *p);//清空所有聯系人 void sort_linkman(Statis *p);//以名字排序所有聯系人#endif

2.test.c(測試)

#include "linkman.h"Statis sta;void menu()//菜單{ printf("***********************************/n"); printf("********1.添加聯系人信息***********/n"); printf("********2.刪除指定聯系人信息*******/n"); printf("********3.查找指定聯系人信息*******/n"); printf("********4.修改指定聯系人信息*******/n"); printf("********5.顯示所有聯系人信息*******/n"); printf("********6.清空所有聯系人***********/n"); printf("********7.以名字排序所有聯系人*****/n"); printf("**************按0退出程序**********/n"); printf("***********************************/n");}void test(){ int i = 0; do {  menu();  printf("請輸入你要進行的選項:");  scanf("%d", &i);  switch (i)  {  case 1:   Add_linkman(&sta);   break;  case 2:   Dele_linkman(&sta);   break;  case 3:   Find_linkman(&sta);   break;  case 4:   Revise_linkman(&sta);   break;  case 5:   Display_linkman(&sta);   break;  case 6:   Empty_linkman(&sta);   break;  case 7:   sort_linkman(&sta);   break;  case 0:   exit(1);   break;  default:   printf("輸入錯誤/n");   break;  } } while (i);}int main(){ inint_linkman(&sta); test(); system("pause"); return 0;}

3.game.c(實現)

#include "linkman.h"void inint_linkman(Statis *p){ int count = sizeof(p->num); p->count = 0; memset(p->num, 0,count);}int Find(Statis *p, char *pname)//對于一個聯系人是否存在封裝一個函數,在后面的修改、刪除、查找可以用到{ int i = 0; for (i = 0; i < (p->count); i++) {  if (strcmp(p->num[i].name, pname) == 0)   return i; } return -1;}void menu1()//修改聯系人時所用到的菜單{ printf("*********************/n"); printf("****1.姓名*2.性別****/n"); printf("****3.年齡*4.電話****/n"); printf("****5.地址*6.返回****/n"); printf("*********************/n");}void Add_linkman(Statis *p)//添加聯系人{ printf("請輸入你要添加的聯系人姓名:/n"); scanf("%s", p->num[p->count].name); printf("請輸入你要添加的聯系人性別:/n"); scanf("%s", p->num[p->count].sex); printf("請輸入你要添加的聯系人年齡:/n"); scanf("%d", &(p->num[p->count].age)); printf("請輸入你要添加的聯系人電話:/n"); scanf("%s", p->num[p->count].tel); printf("請輸入你要添加的聯系人地址:/n"); scanf("%s", p->num[p->count].addr); if ((p->count) > 1000) {  printf("聯系人上限/n"); } else {  printf("添加成功/n");  p->count++; }}void Dele_linkman(Statis *p)//刪除聯系人{ char name[20] = { 0 }; int result = 0; int n = 0; int i = 0; printf("請輸入要刪除人的姓名:/n"); scanf("%s", name); result = Find(p, name); if (result != -1) {  printf("你是否要刪除該聯系人?/n");  printf("刪除請按1,不刪除請按0/n");  scanf("%d", &n);  if (n == 1)  {   for (i = 0; i < (p->count)-1; i++)   {    p->num[i] = p->num[i + 1];   }   p->count --;   printf("刪除成功/n");  }  else  {   printf("刪除失敗/n");  } } else {  printf("你要刪除的聯系人不存在/n"); }}void Find_linkman(Statis *p)//查找聯系人{ char name[20] = { 0 }; int result = 0; printf("請輸入要查找聯系人的姓名:/n"); scanf("%s", name); result = Find(p, name); if (result != -1) {  printf("姓名:%s/n", p->num[result].name);  printf("性別:%s/n", p->num[result].sex);  printf("年齡:%d/n", p->num[result].age);  printf("電話:%s/n", p->num[result].tel);  printf("地址:%s/n", p->num[result].addr); } else {  printf("你要查找的聯系人不存在/n"); }}void Revise_linkman(Statis *p)//修改聯系人{ char name[20] = {0}; int result = 0; printf("請輸入你要修改聯系人的姓名:/n"); scanf("%s", name); result = Find(p, name); if (result != -1) {  printf("姓名:%s/n", p->num[result].name);  printf("性別:%s/n", p->num[result].sex);  printf("年齡:%d/n", p->num[result].age);  printf("電話:%s/n", p->num[result].tel);  printf("地址:%s/n", p->num[result].addr);  int i = 0;  do  {   menu1();   printf("輸入你要修改的選項:/n");   scanf("%d", &i);   switch (i)   {   case 1:    printf("請把姓名修改成:");    scanf("%s", p->num[result].name);    break;   case 2:    printf("請把性別修改成:");    scanf("%s", p->num[result].sex);    break;   case 3:    printf("請把年齡修改成:");    scanf("%d", &(p->num[result].age));    break;   case 4:    printf("請把電話修改成:");    scanf("%s", p->num[result].tel);    break;   case 5:    printf("請把地址修改成:");    scanf("%s", p->num[result].addr);    break;   case 0:    break;   default:    printf("輸入錯誤");    break;   }  } while (i); } else {  printf("你要修改的聯系人不存在/n"); }}void Display_linkman(Statis *p)//打印所有聯系人信息{ int i = 0; printf("輸出所有人的信息:/n"); printf("%10s%7s%6s%8s%10s/n","名字","性別","年齡","電話","住址"); for (i = 0; i <(p->count); i++) {  printf("%11s", p->num[i].name);  printf("%5s", p->num[i].sex);  printf("%5d", p->num[i].age);  printf("%10s", p->num[i].tel);  printf("%12s", p->num[i].addr);  printf("/n"); }}void Empty_linkman(Statis *p)//清空聯系人{ p->count = 0;}void sort_linkman(Statis *p)//以名字排序所有聯系人(冒泡){ int i = 0; int j = 0; for (i = 0; i < p->count - 1; i++) for (j = 0; j < p->count - 1 - i; j++) {  if (strcmp(p->num[j].name, p->num[j + 1].name)>0)  {   LINKMAN tmp;   tmp = p->num[j];   p->num[j] = p->num[j + 1];   p->num[j + 1] = tmp;  } }}

程序運行結果部分示范:

到此為止,我們的簡易通訊錄就實現啦!??!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产伦精品免费视频| 一本久久综合亚洲鲁鲁| 91亚洲精品久久久| 久久伊人91精品综合网站| 亚洲天堂男人的天堂| 亚洲成人激情在线观看| 欧美精品午夜视频| 欧美黄色小视频| 国产成人精品电影久久久| 欧美精品激情在线观看| 2018中文字幕一区二区三区| 欧美黄色成人网| 久久99视频免费| 久久九九热免费视频| 国产精品27p| 亚洲日韩欧美视频| 91青草视频久久| 国产精品视频自在线| 国产亚洲aⅴaaaaaa毛片| 久久精品精品电影网| 青青草原成人在线视频| 精品国产一区二区三区久久狼黑人| 国内揄拍国内精品少妇国语| 精品高清一区二区三区| 中文字幕不卡av| 国产日韩精品在线| 日韩欧美一区二区在线| 91精品综合久久久久久五月天| 日韩av中文字幕在线| 精品久久久国产精品999| 中文字幕亚洲综合久久| 91国在线精品国内播放| 一本色道久久88综合亚洲精品ⅰ| 国产色婷婷国产综合在线理论片a| 欧美日韩国产丝袜美女| 曰本色欧美视频在线| 久久韩国免费视频| 美女扒开尿口让男人操亚洲视频网站| 日本欧美一级片| 欧美日韩国产限制| 亚洲人成网站777色婷婷| 欧美日韩国产一区二区三区| 国产欧美精品一区二区三区介绍| 亚州av一区二区| 亚洲最大av在线| 91在线视频九色| 在线看日韩av| 国产精品自拍网| 久久不射电影网| 亚洲a一级视频| 亚洲国产女人aaa毛片在线| 一区二区亚洲欧洲国产日韩| 亚洲女人被黑人巨大进入| 久久久精品视频在线观看| 91九色国产社区在线观看| 国产一区二中文字幕在线看| 日韩av网站大全| 欧美日韩国产成人高清视频| 精品视频中文字幕| 国产精品久久久久7777婷婷| 在线观看视频亚洲| 亚洲日本中文字幕| 日韩电影视频免费| 国产欧美日韩亚洲精品| 国产免费久久av| 欧美有码在线观看| 欧美精品免费在线| 亚洲男人的天堂在线| 国产一区二区三区直播精品电影| 日韩大陆毛片av| 欧美成人中文字幕在线| 日韩免费看的电影电视剧大全| 色综合伊人色综合网| 欧美视频免费在线| 91久久久亚洲精品| 欧美亚洲在线视频| www日韩欧美| 美日韩精品视频免费看| 91色中文字幕| 中文字幕亚洲激情| 亚洲国产成人一区| 国产精品一区二区久久久久| 777国产偷窥盗摄精品视频| 97视频人免费观看| 久久亚洲精品小早川怜子66| 亚洲高清免费观看高清完整版| 成人免费在线视频网站| 国产美女精彩久久| 91久久精品一区| 91在线国产电影| 日韩精品极品视频免费观看| 日韩欧美精品网站| 亚洲国产日韩欧美在线图片| 久热国产精品视频| 国产精品免费在线免费| 国产精品一区二区女厕厕| 欧美日韩第一页| 精品久久香蕉国产线看观看gif| 国语自产精品视频在线看抢先版图片| 欧美日韩国产丝袜美女| 国产日韩在线精品av| 亚洲国产精品yw在线观看| 欧美国产第一页| 日韩精品视频在线观看免费| 国产亚洲精品综合一区91| 亚洲精品久久视频| 日日狠狠久久偷偷四色综合免费| 国产日韩精品视频| 欧美老少做受xxxx高潮| 亚洲天堂开心观看| 亚洲第一黄色网| 欧美多人乱p欧美4p久久| www亚洲欧美| 国产欧美日韩中文字幕在线| 午夜精品久久久久久99热| 91精品国产91久久久| xxxxx91麻豆| 日韩小视频在线| 日韩高清电影免费观看完整| 久热99视频在线观看| 亚洲国产精品成人精品| 久久久女女女女999久久| 在线成人中文字幕| 欧美日韩一区二区免费视频| 国产在线精品成人一区二区三区| 91av中文字幕| 欧美黄网免费在线观看| 欧美诱惑福利视频| 日韩动漫免费观看电视剧高清| 久久久久亚洲精品成人网小说| 韩剧1988免费观看全集| 夜夜狂射影院欧美极品| 国产精品成人品| 亚洲激情在线观看视频免费| 亚洲美女喷白浆| 亚洲白虎美女被爆操| 久久人人爽人人爽爽久久| 欧美激情精品久久久久久大尺度| 成人妇女淫片aaaa视频| 97精品视频在线| 色久欧美在线视频观看| 日韩久久午夜影院| 成人亚洲欧美一区二区三区| 黑人巨大精品欧美一区二区三区| 成人有码在线播放| y97精品国产97久久久久久| 日韩免费观看视频| 久久久久久久久亚洲| 青草热久免费精品视频| 亚洲精品乱码久久久久久金桔影视| 色综合老司机第九色激情| 在线观看不卡av| 欧美成人激情在线| 91国产一区在线| 亚洲视频在线免费观看| 992tv在线成人免费观看| 欧美日韩在线影院| 国产精品视频大全| 国产日韩中文字幕在线| 91中文字幕在线观看| 国外成人免费在线播放| 国产精品免费一区二区三区都可以| 81精品国产乱码久久久久久| 国产午夜精品全部视频在线播放|