C语言 用顺序表实现电话本的功能
来源:互联网 发布:黑客盗号软件2016 编辑:程序博客网 时间:2024/06/07 03:14
简介:
- 用顺序表实现电话本的功能(C语言)
- 电话本具有如下4个功能:
1.创建一个电话本,电话本里面包含名字和电话号码
2.在指定位置插入一个名字和电话号码
3.在指定位置删除一个名字和电话号码
4.打印电话本
//其中那个color函数是我为了美观加上去的,如果感觉不需要的话可以将代码中所有有关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;}
0 0
- C语言 用顺序表实现电话本的功能
- C语言 用链表实现电话本的功能
- c语言静态顺序表的相关功能实现
- C顺序表及其功能的实现
- 线性表的顺序实现(C语言)
- 顺序表的C语言实现
- 线性表的顺序实现(c语言)
- 顺序表的实现(C语言)
- [c语言]数据结构 顺序表的实现
- 顺序表的C语言实现
- c语言中顺序表的实现
- 顺序表的C语言实现
- C语言顺序表的简单实现
- C语言顺序表的实现
- C语言顺序表的实现
- c语言顺序表的实现
- C语言动态顺序表的实现
- C语言静态顺序表的实现
- BestCoder Round #59 B HDU 5500
- poj3468 A Simple Problem with Integers
- 树的最近公共祖先
- pat1037Magic Coupon (25)
- HM代码解读--TAppEncTop::encode()
- C语言 用顺序表实现电话本的功能
- ios——1
- 什么是angular
- NYOJ 139 我排第几个(康托展开)
- R语言处理缺失数据的高级方法
- 每天进步一点点 【编程技巧】(不定期更新)
- ***6.21-豆机 梅花瓶 高尔顿瓶
- Bought SONY Sports MP3 Player NWZ-WS615
- 构造方法