最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語(yǔ)言基于單鏈表實(shí)現(xiàn)通訊錄功能

 更新時(shí)間:2021年05月31日 15:54:05   作者:::..::…::  
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言基于單鏈表實(shí)現(xiàn)通訊錄功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了C語(yǔ)言基于單鏈表實(shí)現(xiàn)通訊錄功能的具體代碼,供大家參考,具體內(nèi)容如下

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#pragma warning(disable:4996);//解決VS報(bào)嚴(yán)重性代碼錯(cuò)誤
typedef struct LNode
{
 char name[20];
 double ph_number;
 struct LNode* next;
}LinkNode;

//創(chuàng)建通訊錄 
LNode* CreateList(LNode*& L)
{
 LNode* s, * r;
 int n;
 L = (LNode*)malloc(sizeof(LNode));
 r = L;

 printf("請(qǐng)輸入要?jiǎng)?chuàng)建聯(lián)系人的個(gè)數(shù):");
 scanf("%d", &n);
 printf("\n");

 for (int i = 0; i < n; i++)
 {
  s = (LNode*)malloc(sizeof(LNode));

  printf("請(qǐng)輸入第%d個(gè)聯(lián)系人的姓名,電話(huà):\n", i + 1);
  scanf("%s%lf", &s->name, &s->ph_number);
  printf("\n");

  r->next = s;
  r = s;
 }
 r->next = NULL;
 return L;
}

//添加聯(lián)系人 
void ListInsert(LNode*& L)
{
 LNode* new_s, * r = L;
 while (r->next != NULL)
 {
  r = r->next;
 }
 new_s = (LNode*)malloc(sizeof(LNode));

 printf("請(qǐng)輸入要添加的聯(lián)系人的姓名,電話(huà):\n");
 scanf("%s%lf", &new_s->name, &new_s->ph_number);
 printf("\n");

 r->next = new_s;
 r = new_s;
 r->next = NULL;
}

//查找聯(lián)系人 
bool Locate(LNode*& L)
{
 LNode* p = L->next;
 char name_[20];

 printf("請(qǐng)輸入要查找的聯(lián)系人的姓名:\n");
 scanf("%s", &name_);
 printf("\n");

 while (p != NULL && strcmp(p->name, name_) != 0)//注意判斷條件
 {
  p = p->next;
 }
 if (p == NULL) return false;
 else return true;
}

//修改聯(lián)系人 
bool ModifyList(LNode*& L)
{
 LNode* p = L;
 char name_[20];
 double ph_number_;

 printf("請(qǐng)輸入要修改的聯(lián)系人的姓名:\n");
 scanf("%s", name_);
 printf("\n");

 while (p != NULL && strcmp(p->name, name_) != 0)//注意判斷條件
 {
  p = p->next;
 }
 if (p == NULL) return false;
 else {
  printf("請(qǐng)輸入修改后的電話(huà)號(hào)碼為:\n");
  scanf("%lf", &ph_number_);
  printf("\n");
  p->ph_number = ph_number_;
  return true;
 }
}

//刪除聯(lián)系人 
bool ListDelete(LNode*& L)
{
 LNode* p = L->next, * q = L;
 char name_[20];

 printf("請(qǐng)輸入要?jiǎng)h除聯(lián)系人的姓名:\n");
 scanf("%s", name_);
 printf("\n");

 while (p != NULL && strcmp(p->name, name_) != 0)//注意判斷條件
 {
  p = p->next;
  q = q->next;
 }
 if (p == NULL)
  return false;
 else {
  q->next = q->next->next;
  free(p);
  return true;
 }
}

//加載通訊錄 
void DispList(LNode* L)
{
 int i = 0;
 LNode* p = L->next;
 while (p != NULL)
 {
  printf("姓名:%s  電話(huà):%.0lf\n", p->name, p->ph_number);
  p = p->next;
  i++;
 }
}

int main()
{
 printf("*****************************************\n");
 printf("*                                       *\n");
 printf("*            1:添加聯(lián)系人              *\n");
 printf("*                                       *\n");
 printf("*            2: 查找聯(lián)系人              *\n");
 printf("*                                       *\n");
 printf("*            3: 修改聯(lián)系人              *\n");
 printf("*                                       *\n");
 printf("*            4: 刪除聯(lián)系人              *\n");
 printf("*                                       *\n");
 printf("*            5: 加載通訊錄              *\n");
 printf("*                                       *\n");
 printf("*****************************************\n");
 printf("\n");

 LNode* L = CreateList(L);
 int operand;
 printf("\n");
 for (int i = 0; i < 5; i++)
 {
  printf("請(qǐng)輸入您要執(zhí)行操作的操作數(shù):\n");
  scanf("%d", &operand);
  switch (operand)
  {
  case 1:
   ListInsert(L);
   break;
  case 2:
   if (Locate(L) == 1) {
    printf("找到該聯(lián)系人\n");
    printf("\n");
    break;
   }
   else {
    printf("未找到改聯(lián)系人\n");
    printf("\n");
    break;
   }
  case 3:
   if (ModifyList(L) == 1) {
    printf("修改成功\n");
    printf("\n");
    break;
   }
   else {
    printf("修改失敗\n");
    printf("\n");
    break;
   }
  case 4:
   if (ListDelete(L) == 1) {
    printf("刪除成功\n");
    printf("\n");
    break;
   }
   else {
    printf("刪除失敗\n");
    printf("\n");
    break;
   }
  case 5:
   DispList(L);
   break;
  default:
   printf("ERROR!!!\n");
  }
 }
 return 0;
}

運(yùn)行截圖

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • QT使用Http協(xié)議通信的實(shí)現(xiàn)示例

    QT使用Http協(xié)議通信的實(shí)現(xiàn)示例

    使用QT進(jìn)行應(yīng)用開(kāi)發(fā)時(shí),有時(shí)候需要進(jìn)行客戶(hù)端和服務(wù)端的網(wǎng)絡(luò)通信,本文主要介紹了QT使用Http協(xié)議通信的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • C語(yǔ)言基礎(chǔ) strlen 函數(shù)

    C語(yǔ)言基礎(chǔ) strlen 函數(shù)

    這篇文章主要介紹了C語(yǔ)言基礎(chǔ) strlen 函數(shù),在C 語(yǔ)言中,char 字符串也是一種非常重要的數(shù)據(jù)類(lèi)型,我們可以使用 strlen 函數(shù)獲取字符串長(zhǎng)度,這就是C語(yǔ)言strlen 函數(shù)的作用,下面我們來(lái)簡(jiǎn)單介紹該內(nèi)容,需要的朋友可以參考以下
    2021-10-10
  • C++命名空間域的實(shí)現(xiàn)示例

    C++命名空間域的實(shí)現(xiàn)示例

    命名空間域就是一個(gè)獨(dú)立的空間外面不能直接調(diào)用該空間域只能用訪(fǎng)問(wèn)限定符指定訪(fǎng)問(wèn)該空間域,本文主要介紹了C++命名空間域的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • c++的virtual和override作用及說(shuō)明

    c++的virtual和override作用及說(shuō)明

    這篇文章主要介紹了c++的virtual和override作用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C語(yǔ)言中各種運(yùn)算類(lèi)型全面總結(jié)

    C語(yǔ)言中各種運(yùn)算類(lèi)型全面總結(jié)

    C語(yǔ)言運(yùn)算符是說(shuō)明特定操作的符號(hào),它是構(gòu)造C語(yǔ)言表達(dá)式的工具,C語(yǔ)言的運(yùn)算異常豐富,除了控制語(yǔ)句和輸入輸出以外的幾乎所有的基本操作都為運(yùn)算符處理
    2022-04-04
  • C++合并二叉樹(shù)的思路與示例代碼

    C++合并二叉樹(shù)的思路與示例代碼

    二叉樹(shù)大家應(yīng)該都不陌生,但是合并二叉樹(shù)呢?這篇文章主要給大家介紹了關(guān)于C++合并二叉樹(shù)的相關(guān)資料,文中給出了兩種解決的方法,大家可以根據(jù)需要選擇對(duì)應(yīng)的方法,需要的朋友可以參考下
    2021-08-08
  • C++解析特殊符號(hào)tab、換行符號(hào)實(shí)例代碼

    C++解析特殊符號(hào)tab、換行符號(hào)實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于C++解析特殊符號(hào)tab、換行符號(hào)的相關(guān)資料,這個(gè)功能在我們?nèi)粘i_(kāi)發(fā)中經(jīng)常會(huì)遇到,需要的朋友可以參考下
    2021-05-05
  • 關(guān)于C++數(shù)組中重復(fù)的數(shù)字

    關(guān)于C++數(shù)組中重復(fù)的數(shù)字

    這篇文章主要介紹得是關(guān)于C++數(shù)組中重復(fù)的數(shù)字,文章以問(wèn)題描述得形式,對(duì)問(wèn)題展開(kāi)分析用不同得方法去解決問(wèn)題并附上方法得詳細(xì)代碼,需要的朋友可以參考以下文章得具體內(nèi)容
    2021-11-11
  • 使用C語(yǔ)言編寫(xiě)圣誕表白程序

    使用C語(yǔ)言編寫(xiě)圣誕表白程序

    圣誕節(jié)快到了,讓我們用C語(yǔ)言制作一個(gè)圣誕表白程序吧,下面通過(guò)本文學(xué)習(xí)下實(shí)現(xiàn)代碼
    2016-12-12
  • C語(yǔ)言超全面講解函數(shù)的使用方法上

    C語(yǔ)言超全面講解函數(shù)的使用方法上

    函數(shù)是一組一起執(zhí)行一個(gè)任務(wù)的語(yǔ)句。每個(gè)?C?程序都至少有一個(gè)函數(shù),即主函數(shù)?main()?,所有簡(jiǎn)單的程序都可以定義其他額外的函數(shù),由于篇幅過(guò)大,分為兩篇講解,下面開(kāi)始上篇
    2022-04-04

最新評(píng)論

邢台县| 藁城市| 建水县| 新津县| 修武县| 雅江县| 余江县| 鄯善县| 张家界市| 万安县| 陇南市| 中宁县| 西华县| 民权县| 汤阴县| 乡宁县| 博白县| 清徐县| 江油市| 永福县| 鄂尔多斯市| 洛南县| 深水埗区| 吐鲁番市| 平南县| 瑞金市| 玛曲县| 河源市| 枣强县| 孝昌县| 渝中区| 岱山县| 登封市| 阿拉善盟| 东山县| 易门县| 安康市| 万州区| 当雄县| 鲁甸县| 来凤县|