国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

通訊錄管理系統(tǒng)源碼,C語言鏈表實(shí)現(xiàn)

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

掃碼添加小助手

加入工程師交流群

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

如果有熟悉的小伙伴看到我,就知道又可以來學(xué)習(xí)源碼項(xiàng)目了!沒錯(cuò),咱們今天要分享的同樣也是經(jīng)典管理系統(tǒng)項(xiàng)目之一:通訊錄管理系統(tǒng)!我們一起來看看吧!

知識(shí)點(diǎn):C語言,鏈表

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

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

完成一個(gè)通訊錄管理系統(tǒng),具體要求如下:

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

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

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

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

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

6. 退出程序


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

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

為了照顧那些想要快速完成項(xiàng)目設(shè)計(jì)的同學(xué),咱們就不進(jìn)行源碼的解析了,直接上全部源碼吧!

源碼分享:

#include 
typedef struct  //定義每個(gè)人員信息結(jié)構(gòu)體 
{
  char num[5]; //編號(hào) 
  char name[9];//姓名 
  char sex[3]; //性別 
  char phone[13]; //電話 
  char addr[31]; //地址 
 }DataType;
 typedef struct node  //定義鏈表類型 
 {
   DataType data; //數(shù)據(jù)域 
   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; //尾節(jié)點(diǎn) 


  for(i=0;i
  {  s=(LinkList)malloc(sizeof(ListNode)); //新建的節(jié)點(diǎn) 
     printf("輸入第%d位編號(hào):",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; //插入尾節(jié)點(diǎn)之后 
   r=s;
   
  }  


}
int ListLength(LinkList L) //求通訊錄鏈表的長(zhǎng)度 
{ 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指向要添加位置的前一個(gè)元素 
  {
    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為要?jiǎng)h除的前一個(gè)節(jié)點(diǎn),q為要?jiǎng)h除的節(jié)點(diǎn) 
  p=L;
  int j=0;
  int length;
  length=ListLength(L); 
  if(!p||i>length) //如果是空表或者查詢位置不符合要求 
  return 0;
  while(p&&j-1) //使p指向要?jiǎng)h除位置的前一個(gè)元素 
  { p=p->next;
    j++;
  }
  q=p->next; //q指向后一個(gè)元素  
  printf("
被刪除的人員信息為:
");
  printf("
編號(hào):%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個(gè)成員信息 
{ 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("
編號(hào):%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.通訊者節(jié)點(diǎn)的插入----------------------------------------------------------");
   printf("
--------------------------------------------3.通訊者節(jié)點(diǎn)的查詢----------------------------------------------------------");
   printf("
--------------------------------------------4.通訊者節(jié)點(diǎn)的刪除----------------------------------------------------------");
   printf("
--------------------------------------------5.通訊錄鏈表的輸出----------------------------------------------------------");
   printf("
--------------------------------------------0.退出管理系統(tǒng)--------------------------------------------------------------");
 }
 int main()
{
   LinkList L;
   DataType d,d1;
   int m,location,length,choose;
   menu();
   p:
   printf("
請(qǐng)輸入你的選項(xiàng):");
   scanf("%d",&choose);
   switch(choose)
   { case 1:printf("請(qǐng)輸入通訊錄人數(shù):");scanf("%d",&m);CreateList(L,m);goto p;
     case 2:printf("
輸入要插入的位置:");scanf("%d",&location);printf("輸入插入人員的編號(hào):"); 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("
請(qǐng)輸入查詢位置");scanf("%d",&location);GetElem(L,location,d); printf("查詢到的人員信息為:
");printf("
編號(hào):%s  姓名:%s  性別:%s  電話:%s 地址:%s",d.num,d.name,d.sex,d.phone,d.addr);goto p;
    case 4:printf("
輸入要?jiǎng)h除的位置:");scanf("%d",&location);ListDelete(L,location);goto p; 
    case 5:print(L);goto p;
    case 0:printf("系統(tǒng)已退出。");exit(0);
    default:printf("輸入錯(cuò)誤,請(qǐng)重新輸入");goto p;
   }
   return 0;
 }

通訊錄管理系統(tǒng)就到此結(jié)束啦,大家趕緊試試吧!


審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語言
    +關(guān)注

    關(guān)注

    183

    文章

    7644

    瀏覽量

    145570
  • 管理系統(tǒng)
    +關(guān)注

    關(guān)注

    1

    文章

    2921

    瀏覽量

    38568

原文標(biāo)題:C/C++項(xiàng)目開發(fā):通訊錄管理系統(tǒng)源碼,C語言鏈表實(shí)現(xiàn)

文章出處:【微信號(hào):cyuyanxuexi,微信公眾號(hào):C語言編程學(xué)習(xí)基地】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    講解C語言代碼的實(shí)現(xiàn)過程

    重點(diǎn)講解C語言代碼的實(shí)現(xiàn)過程,算法的C語言實(shí)現(xiàn)過程具有一般性,通過PID算法的C
    發(fā)表于 01-21 07:58

    如何實(shí)現(xiàn)與OPC UA協(xié)議遠(yuǎn)程通訊

    實(shí)現(xiàn)OPC UA協(xié)議的遠(yuǎn)程通訊需要從協(xié)議特性、網(wǎng)絡(luò)架構(gòu)、安全機(jī)制及典型應(yīng)用四個(gè)維度系統(tǒng)化構(gòu)建解決方案。作為工業(yè)自動(dòng)化領(lǐng)域的通用語言,OPC UA通過內(nèi)置的信息建模能力和跨平臺(tái)特性,為設(shè)
    的頭像 發(fā)表于 01-09 07:36 ?204次閱讀

    C語言主要特點(diǎn)

    指針類型數(shù)據(jù),使用十分靈活和多樣化,能用來實(shí)現(xiàn)各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)(如鏈表、樹、棧等)的運(yùn)算。 4.具有結(jié)構(gòu)化的控制語句。用函數(shù)作為程序的模塊單位,便于實(shí)現(xiàn)程序的模塊化。C
    發(fā)表于 01-05 07:41

    觸拓科技會(huì)議預(yù)約系統(tǒng)使用操作手冊(cè)

    的內(nèi)部成員的賬號(hào)和密碼由管理員進(jìn)入系統(tǒng)的組織架構(gòu)(通訊錄)去新增門牌上線和管理2.1門牌通電聯(lián)網(wǎng)通電聯(lián)網(wǎng)的四種方式1、POE供電供網(wǎng)(推薦)2、電源供電WIFI供網(wǎng)3、電源供電網(wǎng)線供網(wǎng)
    發(fā)表于 12-25 16:56 ?0次下載

    C語言內(nèi)存池使用

    內(nèi)存池我們就可以使用單鏈表來進(jìn)行維護(hù),下面通過一個(gè)通訊錄的程序來說明內(nèi)存池的運(yùn)用。 普通的版本: //Example 04 V1 #include #include #include
    發(fā)表于 12-11 07:57

    C語言C++之間的區(qū)別是什么

    (STL),包含多種容器(如vector、list、map等)、算法以及迭代器,極大地提高了開發(fā)效率和代碼復(fù)用性。 而C語言的標(biāo)準(zhǔn)庫相對(duì)較小,雖然也提供了基本的數(shù)據(jù)結(jié)構(gòu)(如數(shù)組、鏈表等)和算法的支持,但不
    發(fā)表于 12-11 06:23

    C語言的編程技巧

    和效率?:通過位段、內(nèi)聯(lián)匯編和尾遞歸優(yōu)化等技巧,可以有效提高代碼的執(zhí)行效率。 ?10、內(nèi)存管理系統(tǒng)級(jí)編程?:通過內(nèi)存池技術(shù)、復(fù)合字面量初始化結(jié)構(gòu)體以及信號(hào)處理等功能,實(shí)現(xiàn)高效的內(nèi)存管理
    發(fā)表于 11-27 06:46

    C語言程序的結(jié)構(gòu)

    1系統(tǒng)的改進(jìn)   可以說,這個(gè)用ASM51實(shí)現(xiàn)的代碼是沒有什么組織性可言的,要什么功能就加入什么功能,弄得程序的結(jié)構(gòu)非常松散,其實(shí)這也是導(dǎo)致筆者最終決定重新改寫這些代碼的原因。   大家知道
    發(fā)表于 11-26 08:12

    C語言特性

    數(shù)據(jù),實(shí)現(xiàn)對(duì)設(shè)備的精準(zhǔn)控制,同時(shí)降低功耗,延長(zhǎng)設(shè)備的使用壽命。 2、可移植性:跨平臺(tái)的通行證 C 語言具有良好的可移植性,這意味著用 C 語言
    發(fā)表于 11-24 07:01

    C語言在嵌入式開發(fā)中的應(yīng)用

    資源有限的嵌入式設(shè)備上實(shí)現(xiàn)完整的網(wǎng)絡(luò)功能 。 5、軟件固件開發(fā):嵌入式系統(tǒng)的基石 軟件固件是嵌入式系統(tǒng)中最基本的軟件,它負(fù)責(zé)控制硬件設(shè)備的運(yùn)行,并提供基本的系統(tǒng)功能。
    發(fā)表于 11-21 08:09

    SaaS云門診系統(tǒng)源碼,診所his系統(tǒng)源碼

    一套成熟的SaaS云門診系統(tǒng)源碼,采用B/S架構(gòu),基于SpringBoot+Vue.js技術(shù)棧開發(fā)。 云門診系統(tǒng)支持醫(yī)保結(jié)算,包含預(yù)約掛號(hào)、醫(yī)生工作站、收費(fèi)管理、藥房發(fā)藥、庫存
    的頭像 發(fā)表于 11-19 15:51 ?390次閱讀
    SaaS云門診<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>源碼</b>,診所his<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>源碼</b>

    一款基于Java+Spring Boot+Vue的智慧隨訪管理系統(tǒng)源碼

    智慧隨訪管理系統(tǒng)源碼,一款基于Java+Spring Boot+Vue的B/S架構(gòu)醫(yī)院隨訪管理系統(tǒng)源碼
    的頭像 發(fā)表于 11-13 15:38 ?395次閱讀
    一款基于Java+Spring Boot+Vue的智慧隨訪<b class='flag-5'>管理</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>源碼</b>

    醫(yī)院隨訪管理系統(tǒng)源碼,三級(jí)隨訪系統(tǒng)源碼,Java+Springboot,Vue,Ant-Design+MySQL5

    Java版隨訪系統(tǒng)源碼,醫(yī)院隨訪管理系統(tǒng)源碼,三級(jí)隨訪系統(tǒng)
    的頭像 發(fā)表于 11-08 14:48 ?515次閱讀
    醫(yī)院隨訪<b class='flag-5'>管理</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>源碼</b>,三級(jí)隨訪<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>源碼</b>,Java+Springboot,Vue,Ant-Design+MySQL5

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

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

    電機(jī)管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    符合行業(yè)標(biāo)準(zhǔn)的電機(jī)管理信息系統(tǒng)。基于這一要求,本文介紹了電機(jī)管理信息系統(tǒng)的設(shè)計(jì)、主要功能及實(shí)現(xiàn)方法。 純分享帖,需要者可點(diǎn)擊附件獲取完整資料~~~ (免責(zé)聲明:本文系網(wǎng)絡(luò)轉(zhuǎn)載,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品
    發(fā)表于 04-08 15:56