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

C語言使用順序表實(shí)現(xiàn)電話本功能

 更新時(shí)間:2018年02月15日 10:08:50   作者:WANSNIM  
這篇文章主要為大家詳細(xì)介紹了C語言使用順序表實(shí)現(xiàn)電話本功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

 簡介:

用順序表實(shí)現(xiàn)電話本的功能(C語言)

電話本具有如下4個(gè)功能:

1.創(chuàng)建一個(gè)電話本,電話本里面包含名字和電話號(hào)碼
2.在指定位置插入一個(gè)名字和電話號(hào)碼
3.在指定位置刪除一個(gè)名字和電話號(hào)碼
4.打印電話本

代碼:

//其中那個(gè)color函數(shù)是我為了美觀加上去的,如果感覺不需要的話可以將代碼中所有有關(guān)color的都刪掉即可

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <windows.h>
using namespace std;
const int N = 1000+10;
int n;
struct Node
{
  char name[100];
  char number[20]; 
};
typedef struct 
{
  struct Node* mylist;
  int len;
  int listsize;
}sqlist;

void Init(sqlist &s1);
void Creat(sqlist &s1);
void Delet(sqlist &s1);
void Add(sqlist &s1);
void Print(sqlist &s1);
void color(const unsigned short color1);

int main()
{
  sqlist s1;
  Init(s1);
  color(10);
  printf("\n\n\n\n    --------------- WSM's phonetxt-------------------\n\n");
  printf("       |You could chose these ops:      |\n");
  printf("       |  1.Creat the phonetxt        |\n");
  printf("       |  2.Delet the member in the phonetxt |\n");
  printf("       |  3.Add the member in the phonetxt  |\n");
  printf("       |  4.Print the phonetxt        |\n");
  color(14);
  printf("\n\n\n\n   Now,you can enter an optiton:");

  int op;
  while(scanf("%d",&op)!=EOF)
  {
    if(op==1) Creat(s1);
    else if(op==2) Delet(s1);
    else if(op==3) Add(s1);
    else if(op==4) Print(s1);
    else 
    {
      color(4);
      printf("   You input is invalid,reinput please:)\n");
      color(14);
    }
    printf("\n   Now,you can enter an optiton:");
  }
  return 0;
}

void Init(sqlist &s1)
{
  s1.mylist = (Node *)malloc(100*sizeof(Node));
  s1.len = 0;
  s1.listsize = 100;
  return;
}
void Creat(sqlist &s1)
{
  s1.len = 0;
  cout<<"   how many numbers do you want to built:";
  scanf("%d",&n);
  cout<<"   please input their informations:"<<endl;
  for(int i=1;i<=n;i++)
  {
     printf("    input the %d person name:",i);
     scanf(" %s",s1.mylist[i-1].name);
     printf("    input the %d person phonenumber:",i);
     scanf(" %s",s1.mylist[i-1].number);
     s1.len++;
  }
  color(9);
  cout<<"   well done,the phonetxt has been created!!!"<<endl;
  color(14);
  return;
}

void Delet(sqlist &s1)
{
  cout<<"   please enter the number you want to delet:";
  heredelet:
  int x;
  scanf("%d",&x);
  if( x<1 || x>s1.len) 
  {
    color(4);
    cout<<"   sorry,your input is invalid,please input again:";
    color(14);
  goto heredelet;
  }

  struct Node *p,*q;
  p = &(s1.mylist[x-1]);
  q = s1.mylist + s1.len -1;
  for(++p;p<=q;++p) *(p-1) = *p;
  --s1.len;

  color(9);
  cout<<"   well done,the member has been deleted!!!"<<endl;
  color(14);
  return;
}
void Add(sqlist &s1)
{
  cout<<"   please enter the number you want to add:";
  hereadd:
  int x;
  scanf("%d",&x);
  if( x<1 || x>s1.len+1) 
  {
    color(4);
    cout<<"   sorry,your input is invalid,please input again:";
    color(14);
    goto hereadd;
  }

  struct Node cur;
  printf("    input the person name:");
  scanf(" %s",cur.name);
  printf("    input the person phonenumber:");
  scanf(" %s",cur.number);

  struct Node *p,*q;
  q = &(s1.mylist[x-1]);
  for(p=&(s1.mylist[s1.len-1]);p>=q;--p) *(p+1) = *p;
  *q = cur;
  ++s1.len;

  color(9);
  cout<<"   well done,the member has been added!!!"<<endl;
  color(14);
  return;
}
void Print(sqlist &s1)
{
  color(8);
  printf("    Name------phonenumber\n");

  struct Node *q = s1.mylist;
  for(q;q<s1.mylist+s1.len;q++)
  {
    printf("      %s    %s\n",q->name,q->number);
  }
  color(14);
  color(9);
  cout<<"   well done,the phonetxt is above!!!"<<endl;
  color(14);
  return;
}

void color(const unsigned short color1)
{    
  if(color1>=0&&color1<=15)
  SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color1);
  else
  SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7);
  return;
}

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

相關(guān)文章

  • C++實(shí)現(xiàn)LeetCode(22.生成括號(hào))

    C++實(shí)現(xiàn)LeetCode(22.生成括號(hào))

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(22.生成括號(hào)),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • VSCODE調(diào)試RDKit內(nèi)核的方法步驟(C++)

    VSCODE調(diào)試RDKit內(nèi)核的方法步驟(C++)

    本文主要介紹了VSCODE調(diào)試RDKit內(nèi)核的方法步驟,這個(gè)過程可以分為三個(gè)部分:安裝 RDKit 所需環(huán)境,安裝 VSCode 相應(yīng)插件, 寫調(diào)試代碼編譯,感興趣的可以了解一下
    2021-08-08
  • Qt如何設(shè)置窗口屏幕居中顯示以及設(shè)置大小

    Qt如何設(shè)置窗口屏幕居中顯示以及設(shè)置大小

    這篇文章主要介紹了Qt如何設(shè)置窗口屏幕居中顯示以及設(shè)置大小的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • 淺談單調(diào)隊(duì)列、單調(diào)棧

    淺談單調(diào)隊(duì)列、單調(diào)棧

    其實(shí),單調(diào)隊(duì)列和單調(diào)棧是類似的,在我看來,這兩個(gè)東西只是名字不一樣 - - ! 比較容易想的一道題啦! 首先,這題的兩個(gè)關(guān)鍵點(diǎn): 1、區(qū)間的和。這個(gè)簡單,地球人都知道! 2、區(qū)間的最小值。
    2015-07-07
  • C++單例模式實(shí)現(xiàn)線程池的示例代碼

    C++單例模式實(shí)現(xiàn)線程池的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用C++單例模式簡單實(shí)現(xiàn)一個(gè)線程池,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下
    2023-04-04
  • C++中vector的實(shí)現(xiàn)方法示例詳解

    C++中vector的實(shí)現(xiàn)方法示例詳解

    這篇文章主要介紹了C++中vector實(shí)現(xiàn)的相關(guān)資料,vector是C++中重要的容器之一,底層通過三個(gè)迭代器實(shí)現(xiàn),分別是_start,?_finish,?和_end_of_storage,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-10-10
  • C語言詳解格式控制符scanf與printf的輸入輸出

    C語言詳解格式控制符scanf與printf的輸入輸出

    這篇文章主要介紹了C語言格式控制符中輸入scanf()和輸出printf()的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2022-04-04
  • QT布局管理詳解QVBoxLayout與QHBoxLayout及QGridLayout的使用

    QT布局管理詳解QVBoxLayout與QHBoxLayout及QGridLayout的使用

    在這篇文章中,你將知道水平布局、垂直布局、網(wǎng)格布局如何輕松上手,以純代碼方式展示。對(duì)齊方式,大小設(shè)置,圖片頭像匹配標(biāo)簽,布局器里面的組件大小隨意切換大小,認(rèn)真看完這篇文章,QT布局管理器熟練使用
    2022-06-06
  • C語言代碼實(shí)現(xiàn)猜數(shù)字

    C語言代碼實(shí)現(xiàn)猜數(shù)字

    這篇文章主要為大家詳細(xì)介紹了C語言代碼實(shí)現(xiàn)猜數(shù)字,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • C++遺傳算法類文件實(shí)例分析

    C++遺傳算法類文件實(shí)例分析

    這篇文章主要介紹了C++遺傳算法的一個(gè)類文件,是學(xué)習(xí)遺傳算法的絕佳參考資料,需要的朋友可以參考下
    2014-08-08

最新評(píng)論

高密市| 建宁县| 商南县| 新乐市| 海林市| 阿拉善右旗| 龙海市| 翼城县| 长白| 五大连池市| 江北区| 荃湾区| 天气| 开江县| 金乡县| 津市市| 鹤峰县| 玉林市| 芦山县| 桐乡市| 武定县| 莱西市| 离岛区| 六盘水市| 新兴县| 丰顺县| 孝昌县| 金溪县| 左贡县| 柳林县| 沅陵县| 铜陵市| 闻喜县| 东乡县| 昂仁县| 山西省| 英德市| 神木县| 东兰县| 昭通市| 于田县|