项目实践:电话薄程序

来源:互联网 发布:梳理机隔局数据 编辑:程序博客网 时间:2024/06/09 14:09

6.38电话薄程序。




一、问题描述:



     建立一个结构体数组,存放若干人的信息,包括:姓名,电话,职业,住址。要求这个管理小程序可以完成的任务:

(1)电话簿的内容显示。
(2)按姓名、电话查询联系人信息。
(3)按输入的关键字修改联系人的信息。
(4)用指向该数组的指针完成上述功能。
(5)输出如下菜单,用switch语句实现根据用户输入的选择执行相应的操作。
     1.显示所有联系人信息
     2.查询联系人信息

     3.修改联系人信息


二、代码实现:


#include<stdio.h>#include<stdlib.h>#include<string.h>//定义结构体数组struct address{char name[20];char phone[20];char work[20];char place[20];}a[100]={{"hj","110","police","yantai"},{"yj","120","doctor","beijing"}};  struct address *p;//定义指向结构体的指针  int n=2;//输出联系人的列表void List(){system("cls");//清屏函数int i;printf("****************************Address List***************************************\n\n");printf("name                phone          work                place          \n\n");for(p=a,i=0;i<n;i++,p++){    printf("%-20s%-15s%-20s%-20s\n",p->name,p->phone,p->work,p->place);}system("pause");}//查找联系人函数void Research(){void DChange();int g;int i;char t[20];printf("             Please Input name or phone number:\n");scanf("%s",t);for(p=a, i=0;i<n;i++,p++){//strcmp函数做字符串对比          if ((strcmp(t,a[i].name)==0)||(strcmp(t,a[i].phone)==0))  { printf("name                phone          work                place          \n\n");             printf("%-20s%-15s%-20s%-20s\n",p->name,p->phone,p->work,p->place); p=&a[i]; printf("What do you want to do?\n");         printf("1:return      2:change    3:quit \n"); scanf("%d",&g);         switch(g) {     case 1:return;break;     case 2:DChange();break;     case 3:exit(0); }  }      if((i==n-1)&& ((strcmp(t,a[i].name)!=0)&&(strcmp(t,a[i].phone)!=0)))  {     printf("Don't hava this record\n"); } }system("pause");}void Change(){void Research();    printf("What persons information do you want to change?\n");Research();}void DChange(){void ChangeName();void ChangePhone();void ChangeWork();void ChangePlace();    printf("what do you want to change?\n");printf("1:name    2:phone     3:work      4:place\n");    int k;scanf("%d",&k);switch(k){case 1:ChangeName();break;case 2:ChangePhone();break;case 3:ChangeWork();break;case 4:ChangePlace();break;}}void ChangeName(){printf("Please Input name:\n");scanf("%s",p->name);printf("Change name successful\n");return;}void ChangePhone(){printf("Please Input phone:\n");scanf("%s",p->phone);printf("Change phone successful\n");return; }void ChangeWork(){printf("Please Input work:\n");scanf("%s",p->work);printf("Change work successful\n");return; }void ChangePlace(){printf("Please Input place:\n");scanf("%s",p->place);printf("Change place successful\n");return; }int main(){    int i;int s;    system("cls");    while(1){system("cls");printf("******************************MENU*********************************************\n\n");printf("                      0:List record of the address\n");        printf("                      1:Research record\n");printf("                      2:Change a record \n");printf("                      3:Quit\n");printf("*******************************************************************************\n\n");do{printf("\n            Input your choice(0 ~ 3):");scanf("%d",&s);}while(s<0||s>3);switch(s){case 0:List();break;case 1:Research();break;case 2:Change();break;case 3:exit(0);}}   return 0;}


0 0
原创粉丝点击