C語言使用順序表實(shí)現(xiàn)電話本功能
簡介:
用順序表實(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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持我們。
上一篇:使用C語言編寫鋼琴小程序
欄 目:C語言
本文標(biāo)題:C語言使用順序表實(shí)現(xiàn)電話本功能
本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/901.html
您可能感興趣的文章
- 04-02c語言函數(shù)調(diào)用后清空內(nèi)存 c語言調(diào)用函數(shù)刪除字符
- 04-02c語言的正則匹配函數(shù) c語言正則表達(dá)式函數(shù)庫
- 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
- 04-02c語言中對數(shù)函數(shù)的表達(dá)式 c語言中對數(shù)怎么表達(dá)
- 04-02c語言用函數(shù)寫分段 用c語言表示分段函數(shù)
- 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排序法函數(shù)
- 04-02c語言沒有round函數(shù) round c語言
- 04-02c語言分段函數(shù)怎么求 用c語言求分段函數(shù)
- 04-02C語言中怎么打出三角函數(shù) c語言中怎么打出三角函數(shù)的值
- 04-02c語言調(diào)用函數(shù)求fibo C語言調(diào)用函數(shù)求階乘


閱讀排行
本欄相關(guān)
- 04-02c語言函數(shù)調(diào)用后清空內(nèi)存 c語言調(diào)用
- 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
- 04-02c語言的正則匹配函數(shù) c語言正則表達(dá)
- 04-02c語言用函數(shù)寫分段 用c語言表示分段
- 04-02c語言中對數(shù)函數(shù)的表達(dá)式 c語言中對
- 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排
- 04-02c語言沒有round函數(shù) round c語言
- 04-02c語言分段函數(shù)怎么求 用c語言求分段
- 04-02C語言中怎么打出三角函數(shù) c語言中怎
- 04-02c語言調(diào)用函數(shù)求fibo C語言調(diào)用函數(shù)求
隨機(jī)閱讀
- 01-10delphi制作wav文件的方法
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 08-05織夢dedecms什么時(shí)候用欄目交叉功能?
- 04-02jquery與jsp,用jquery
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-10C#中split用法實(shí)例總結(jié)
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文