虚位以待(AD)
虚位以待(AD)
首页 > 软件编程 > C/C++编程 > C语言使用顺序表实现电话本功能

C语言使用顺序表实现电话本功能
类别:C/C++编程   作者:码皇   来源:互联网   点击:

这篇文章主要为大家详细介绍了C语言使用顺序表实现电话本功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

 简介:

用顺序表实现电话本的功能(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("nnnn --------------- WSM's phonetxt-------------------nn");
    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("nnnn 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------phonenumbern");
    struct Node *q = s1.mylist;
    for(q;
    q<s1.mylist+s1.len;
    q++) {
    printf(" %s %sn",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;
    }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

  • C语言线性表的顺序表示与实现实例详解
  • c语言实现顺序表的基本操作
  • C语言实现顺序表基本操作汇总
  • 利用C语言实现顺序表的实例操作
  • C语言顺序表实现代码排错
  • 用C语言举例讲解数据结构中的算法复杂度结与顺序表
  • C语言顺序表的实现代码
  • C语言实现动态顺序表的实现代码
  • C语言实现静态顺序表的实例详解
  • C语言实现的顺序表功能完整实例
相关热词搜索: C语言 顺序表 电话本