通讯录项目1

来源:互联网 发布:淘宝pc端是什么意思啊 编辑:程序博客网 时间:2024/05/16 05:09

刚学完链表,这是我的第一个项目,用来检验我的学习成果。

项目需求:制作一个电子通讯录,通过该通讯录能存入好友

ID 号姓名(英文)手机号码家庭住址公司电话


模块

一、主界面:主要显示软件功能。
A) 添加好友信息。
B) 列表好友信息。(包含排序功能)
C) 搜索好友
D) 删除好友


二、 添加好友:
用户输入 INSERT 命令后,让用户输入好友信息。 添加成功或失败都需要提示
用户


三、列表好友:
用户输入 DISPLAY 命令后,好友信息升序排列。


四、 搜索好友:
用户输入 SEARCH 命令后,让用户输入将要搜索好友姓名查询。如果未搜索到
请友好提示。如果搜索到,显示出该好友信息。


五、删除好友:
用户输入 DELETE 命令后,让用输入将要删除好友姓名删除,如果存在同名的

多个好友,则列表出,所有同名的好友信息,让用户通过输入 ID 号删除。 提示用
户删除成功。

因为要做课设,所以只写了一部分。话不多说,先贴程序。

#include <stdio.h>  #include <stdlib.h>    #define OK            0  #define ERROR        -1  #define MALLOC_ERROR -2   #define N            20    typedef int ElementType;  typedef struct node  {         ElementType ID;                  //ID号      char Name [N];                   //姓名      ElementType Mobile_Phone [N];    //手机号码      char Home_Address [N];           //家庭住址      ElementType Company_Phone [N];   //公司电话      struct node *next;               // 结点指针  }Address;  typedef Address* PAddress;    /**************************************************************************  File name:     Interface_Display        Author:xxxx    Version:0.1    Date:   Description:   显示操作界面  Funcion List:   **************************************************************************/  int Interface_Display ()  {          system ("clear");      printf ("\t*****************************************\n");      printf ("\t~           欢迎使用通讯录              ~\n");      printf ("\t~                                       ~\n");      printf ("\t~       1 >>>>>>>>>  添加好友信息       ~\n");      printf ("\t~       2 >>>>>>>>>  列表好友信息       ~\n");      printf ("\t~       3 >>>>>>>>>  搜索好友           ~\n");      printf ("\t~       4 >>>>>>>>>  删除好友           ~\n");      printf ("\t~       5 >>>>>>>>>  退出               ~\n");      printf ("\t~                                       ~\n");      printf ("\t~                                       ~\n");      printf ("\t~                           作者:xxxx  ~\n");      printf ("\t*****************************************\n");      printf ("                                           \n");      printf ("                                           \n");      printf ("\t请输入对应数字选择相应功能:");  }  /**************************************************************************  File name:     Add_Friend        Author:xxxx    Version:0.1    Date:   Description:   添加好友信息  Funcion List:   **************************************************************************/  int Add_Friend (PAddress h,int i)  {      if(h == NULL)      {          return ERROR;      }            PAddress p = (PAddress)malloc(sizeof(Address)/sizeof(char));      if (p == NULL)      {          return MALLOC_ERROR;      }            system("clear");            p->ID = i;            printf("\n      请输入名字:");      scanf("%s", p->Name);        printf("\n      请输入手机号码:");      scanf("%s", p->Mobile_Phone);        printf("\n      请输入家庭地址:");      scanf("%s", p->Home_Address);        printf("\n      请输入公司电话:");      scanf("%s", p->Company_Phone);                    p->next = NULL;            PAddress temp = h;      while (temp->next)      {          temp = temp->next;      }      temp->next = p;            return OK;  }    /**************************************************************************  File name:     Delete_Friend        Author:xxxx    Version:0.1    Date:   Description:   删除好友  Funcion List:   **************************************************************************/  int Delete_Friend(PAddress h, int i)  {      if(h == NULL)      {          return error;      }            PAddress temp = h;      int flag = 1;            if(temp->next == NULL)      {          return error;      }            if(temp->next->next == NULL)      {          if(temp->next->ID == i)          {              flag = 0;              PAddress tmp = temp->next;              temp->next = NULL;              free(tmp);              printf("\n\n");              printf("Deleted successfully\n");              printf("\n\n");                            return ok;          }                }                   while(temp->next)      {          if(temp->next->ID == i)          {              flag = 0;              PAddress p = temp->next;              temp->next = p->next;              free(p);              printf("\n\n");              printf("Deleted successfully\n");              printf("\n\n");          }          temp = temp->next;      }            if(flag)      {          printf("\n\n");          printf("Invalid delete\n");          printf("\n\n");      }            return ok;  } 
今天先写这么多,剩下的明天写完。

0 0
原创粉丝点击