色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

通訊錄管理系統源碼,C語言鏈表實現

C語言編程學習基地 ? 來源:C語言編程學習基地 ? 作者:C語言編程學習基地 ? 2022-10-28 16:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

hello,各位小伙伴們大家好!你們今天有敲代碼嘛?

如果有熟悉的小伙伴看到我,就知道又可以來學習源碼項目了!沒錯,咱們今天要分享的同樣也是經典管理系統項目之一:通訊錄管理系統!我們一起來看看吧!

知識點:C語言,鏈表

開發工具:VS2022/2019(沒有VS的話也可以來文末領取哦)

b99624a0-5696-11ed-a3b6-dac502259ad0.png

完成一個通訊錄管理系統,具體要求如下:

1. 建立通訊錄信息,信息至少包含編號、姓名、年齡、電話、通訊地址、電子郵箱等

2. 能夠提供添加、刪除和修改通訊錄信息的功能

3. 能夠提供安不同方式查詢的功能;如按姓名或年齡、電話等查詢

4. 將通訊錄保存在文件中

5. 能夠按表格方式輸出通訊錄信息

6. 退出程序


也不說太多多余的話了,先看一下效果圖:

b9b91186-5696-11ed-a3b6-dac502259ad0.png

為了照顧那些想要快速完成項目設計的同學,咱們就不進行源碼的解析了,直接上全部源碼吧!

源碼分享:

#include 
typedef struct  //定義每個人員信息結構體 
{
  char num[5]; //編號 
  char name[9];//姓名 
  char sex[3]; //性別 
  char phone[13]; //電話 
  char addr[31]; //地址 
 }DataType;
 typedef struct node  //定義鏈表類型 
 {
   DataType data; //數據域 
   struct node *next; //指針域 
  }ListNode;
typedef ListNode *LinkList;
void CreateList(LinkList &L,int m)//通訊錄鏈表的建立 
{ int i;
  LinkList s,r;
  L=(LinkList)malloc(sizeof(ListNode));
  L->next=NULL;
  r=L; //尾節點 


  for(i=0;i
  {  s=(LinkList)malloc(sizeof(ListNode)); //新建的節點 
     printf("輸入第%d位編號:",i+1);
     scanf("%s",&s->data.num);
     printf("
輸入姓名:");
     scanf("%s",&s->data.name);
     printf("
輸入性別:");
     scanf("%s",&s->data.sex);
     printf("
輸入電話:");
     scanf("%s",&s->data.phone);
     printf("
輸入地址:");
     scanf("%s",&s->data.addr);
     s->next=NULL;  
   r->next=s; //插入尾節點之后 
   r=s;
   
  }  


}
int ListLength(LinkList L) //求通訊錄鏈表的長度 
{ LinkList p;
  int length=0;
  p=L->next;
  while(p)
  { length++;
    p=p->next;
  }
  return length;  
 } 
int ListInsert(LinkList &L,int i,DataType d)  //通訊錄鏈表的插入 
{ LinkList p,s;
  int length;
  length=ListLength(L); 
  p=L->next;
  int j=1;
  if(!p||i>length+1) //如果是空表或者查詢位置不符合要求 
  return 0;
  while(p&&j-1)  //使p指向要添加位置的前一個元素 
  {
    p=p->next;
    j++;
  }
  s=(LinkList)malloc(sizeof(LinkList));
  s->data=d;
  s->next=p->next;
  p->next=s;
  return 1; 
}
int ListDelete(LinkList &L,int i)
{ LinkList p,q;//p為要刪除的前一個節點,q為要刪除的節點 
  p=L;
  int j=0;
  int length;
  length=ListLength(L); 
  if(!p||i>length) //如果是空表或者查詢位置不符合要求 
  return 0;
  while(p&&j-1) //使p指向要刪除位置的前一個元素 
  { p=p->next;
    j++;
  }
  q=p->next; //q指向后一個元素  
  printf("
被刪除的人員信息為:
");
  printf("
編號:%s  姓名:%s  性別:%s  電話:%s 地址:%s",q->data.num,q->data.name,q->data.sex,q->data.phone,q->data.addr);
  p->next=q->next; 
  return 1;   
 } 
int GetElem(LinkList L,int i,DataType &d) //查詢第i個成員信息 
{ LinkList p;
  p=L->next;
  int j=1;
  int length;
  length=ListLength(L); 
  if(!p||i>length) //如果是空表或者查詢位置不符合要求 
  return 0;
  while(j
  {p=p->next;
   j++;
  }
  d=p->data;
  return 1;
  
}


void print(LinkList L) //打印通訊錄人員信息 
{ LinkList p;
  p=L->next;
  while(p)
  {
    printf("
編號:%s  姓名:%s  性別:%s  電話:%s 地址:%s",p->data.num,p->data.name,p->data.sex,p->data.phone,p->data.addr);
    p=p->next;
  }
  
 } 
 void menu()
{ printf("--------------------------------------------1.通訊錄鏈表的建立----------------------------------------------------------");
   printf("
--------------------------------------------2.通訊者節點的插入----------------------------------------------------------");
   printf("
--------------------------------------------3.通訊者節點的查詢----------------------------------------------------------");
   printf("
--------------------------------------------4.通訊者節點的刪除----------------------------------------------------------");
   printf("
--------------------------------------------5.通訊錄鏈表的輸出----------------------------------------------------------");
   printf("
--------------------------------------------0.退出管理系統--------------------------------------------------------------");
 }
 int main()
{
   LinkList L;
   DataType d,d1;
   int m,location,length,choose;
   menu();
   p:
   printf("
請輸入你的選項:");
   scanf("%d",&choose);
   switch(choose)
   { case 1:printf("請輸入通訊錄人數:");scanf("%d",&m);CreateList(L,m);goto p;
     case 2:printf("
輸入要插入的位置:");scanf("%d",&location);printf("輸入插入人員的編號:"); scanf("%s",&d.num);printf("
輸入姓名:"); scanf("%s",&d.name); printf("
輸入性別:");scanf("%s",&d.sex);printf("
輸入電話:");scanf("%s",&d.phone);printf("
輸入地址:");scanf("%s",&d.addr);ListInsert(L,location,d);goto p;
    case 3:printf("
請輸入查詢位置");scanf("%d",&location);GetElem(L,location,d); printf("查詢到的人員信息為:
");printf("
編號:%s  姓名:%s  性別:%s  電話:%s 地址:%s",d.num,d.name,d.sex,d.phone,d.addr);goto p;
    case 4:printf("
輸入要刪除的位置:");scanf("%d",&location);ListDelete(L,location);goto p; 
    case 5:print(L);goto p;
    case 0:printf("系統已退出。");exit(0);
    default:printf("輸入錯誤,請重新輸入");goto p;
   }
   return 0;
 }

通訊錄管理系統就到此結束啦,大家趕緊試試吧!


審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • C語言
    +關注

    關注

    180

    文章

    7632

    瀏覽量

    141949
  • 管理系統
    +關注

    關注

    1

    文章

    2771

    瀏覽量

    37116

原文標題:C/C++項目開發:通訊錄管理系統源碼,C語言鏈表實現

文章出處:【微信號:cyuyanxuexi,微信公眾號:C語言編程學習基地】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    鴻蒙ArkTS+ArkUI仿微信通訊錄頁面制作【2】

    ' , '#C7CEEA' , '#A8E6CF' , '#FFD3A5' , '#FD9644' , '#9BB5FF' , '#98D8C8' , '#F7DC6F' , '#BB8FCE' , '#85C
    的頭像 發表于 07-01 11:45 ?124次閱讀
    鴻蒙ArkTS+ArkUI仿微信<b class='flag-5'>通訊錄</b>頁面制作【2】

    部隊信息化管理系統:建設與實現共存

    管理系統
    北京華盛恒輝科技
    發布于 :2025年05月08日 22:30:46

    部隊裝備管理信息系統的設計與實現

    管理系統
    北京華盛恒輝科技
    發布于 :2025年05月08日 22:27:56

    電機管理信息系統的設計與實現

    符合行業標準的電機管理信息系統。基于這一要求,本文介紹了電機管理信息系統的設計、主要功能及實現方法。 純分享帖,需要者可點擊附件獲取完整資料~~~ (免責聲明:本文系網絡轉載,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品
    發表于 04-08 15:56

    EE-188:使用C語言在ADSP-219x DSP上實現中斷驅動系統

    電子發燒友網站提供《EE-188:使用C語言在ADSP-219x DSP上實現中斷驅動系統.pdf》資料免費下載
    發表于 01-15 16:06 ?0次下載
    EE-188:使用<b class='flag-5'>C</b><b class='flag-5'>語言</b>在ADSP-219x DSP上<b class='flag-5'>實現</b>中斷驅動<b class='flag-5'>系統</b>

    HarmonyOS NEXT 原生應用開發:社交通訊錄界面實現

    聯系人,實際應用中,這里應實現具體的通話或消息發送功能。 此DEMO提供了一個基礎的社交通訊錄界面框架,用戶可根據實際需求進一步擴展功能,如添加聯系人搜索功能、編輯聯系人信息、分組顯示聯系人等,并連接至真實的通訊錄服務以
    發表于 01-09 14:37

    語言模型管理的作用

    要充分發揮語言模型的潛力,有效的語言模型管理非常重要。以下,是對語言模型管理作用的分析,由AI部落小編整理。
    的頭像 發表于 01-02 11:06 ?396次閱讀

    源碼開放 智能監測電源管理教程寶典!

    源碼開放,今天我們學習的是電源管理系統的核心功能模塊,手把手教你如何通過不同的技術手段實現有效的電源管理
    的頭像 發表于 12-11 09:26 ?665次閱讀
    <b class='flag-5'>源碼</b>開放  智能監測電源<b class='flag-5'>管理</b>教程寶典!

    基于無操作系統的STM32單片機開發附源碼

    現在非常多的的MCU性能都還不錯,同時用戶也會去擴展一些外部RAM,這樣如果高效便捷的管理這些內存是一個重要話題。 今天給大家分享一份源碼:基于無操作系統的STM32單片機開發,功能強大,可申請
    的頭像 發表于 11-15 11:24 ?1429次閱讀

    使用C語言實現函數模板

      用C語言能不能實現一個通用的函數,既能完成整數的相加,又能完成浮點數的相加?
    的頭像 發表于 11-09 11:38 ?965次閱讀

    C語言與Java語言的對比

    C語言和Java語言都是當前編程領域中的重要成員,它們各自具有獨特的優勢和特點,適用于不同的應用場景。以下將從語法特性、內存管理、跨平臺性、性能、應用領域等多個方面對
    的頭像 發表于 10-29 17:31 ?1105次閱讀

    C語言與其他編程語言的比較

    C語言作為一種歷史悠久的編程語言,自其誕生以來,一直在軟件開發領域扮演著重要角色。它以其高效、靈活和可移植性強的特點,成為了系統級編程的首選語言
    的頭像 發表于 10-29 17:30 ?1119次閱讀

    MES系統 源碼 ——MES生產計劃管理模塊

    MES系統全套源碼,云MES系統源代碼 MES是一套面向生產制造企業車間執行層的生產信息化管理系統,簡單來說MES主要用于從訂單下達到產品完
    的頭像 發表于 10-06 15:29 ?993次閱讀
    MES<b class='flag-5'>系統</b> <b class='flag-5'>源碼</b> ——MES生產計劃<b class='flag-5'>管理</b>模塊

    基于鴻蒙Next模擬電話通訊錄及電話撥打

    一、介紹 基于鴻蒙Next模擬電話通訊錄,可以撥打電話,刪除電話等二、場景需求 客戶服務、業務咨詢、回訪處理、溝通交流、信息交流等等 三、業務步驟 第一步:點擊撥打點電話,先判斷設備是否具備通訊能力
    發表于 08-27 15:24

    武裝部戰備器材管理系統實現裝備倉庫管理“四化”新模式

    管理系統
    jf_72884372
    發布于 :2024年08月14日 15:44:09
    主站蜘蛛池模板: 草草久久久无码国产专区全集观看 | 亚洲国产欧美国产综合在线 | 国产一区二区在线免费观看 | 国产白丝精品爽爽久久久久久蜜臀 | 亚洲精品视频在线观看免费 | 秘密影院久久综合亚洲综合 | 让人爽到湿的小黄书 | 一本道高清码v京东热 | 国产国拍亚洲精品av麻豆 | 99re久久精品在线播放 | 国产av在线播放 | 7m凹凸国产刺激在线视频 | 日本午夜精品一区二区三区电影 | 九色PORNY真实丨国产大胸 | 国产小视频免费在线观看 | 青青涩射射 | 国产高潮国产高潮久久久久久 | 呻吟翘臀后进爆白浆 | 亚洲最大日夜无码中文字幕 | 国产久久精品热99看 | 爱豆剧果冻传媒在线播放 | 麻豆精品国产剧情观看 | 伦理片2499电影伦理片 | 99精品欧美一区二区三区美图 | 老师洗澡让我吃她胸的视频 | 亚洲影院在线播放 | 色橹 | 暖暖的高清视频在线观看免费中文 | 野花日本韩国视频免费高清观看 | 精品亚洲麻豆1区2区3区 | 一攻多受高h大总攻 | 全部免费特黄特色大片看片 | 国产精品成人免费观看 | 天美传媒在线完整免费观看网站 | 精品国产福利在线视频 | 91福利国产在线观看网站 | 亚州精品永久观看视频 | 97免费视频观看 | 久久久久久久久久综合情日本 | 别插我B嗯啊视频免费 | 午夜福利免费体检区 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品