项目实践:电话薄程序
来源:互联网 发布:梳理机隔局数据 编辑:程序博客网 时间: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
- 项目实践:电话薄程序
- 电话薄程序的雏型
- 简易电话薄的项目
- 电话薄Java实现小程序
- c语言之电话薄程序
- 电话薄
- 微信小程序项目开发实践
- 微信小程序项目实践准备工作
- C++写的书上一个简单的电话薄程序
- 第六次实验报告(3)---电话薄程序
- 第十五周实践项目1-程序填空
- 《Java项目实践》:简单聊天程序
- 第十三周上机实践项目:阅读程序
- 微信小程序实践 第一个项目
- 微信小程序项目实践 上线中
- 微信小程序项目实践 项目范围及开发计划
- c++电话薄
- 以前做过的一个项目,就是电话薄管理的一个系统
- PowerPoint常见问题及对策之如何对齐多个对象
- C语言基础 整行输入输出二维字符型数组
- 折半查找,要求必须是升序数组
- 什么是异常?
- LINUX学习_1
- 项目实践:电话薄程序
- 10个给力的在线Web设计开发工具介绍
- 推荐十四款常见的Web前端开发框架
- ACM 打字练习
- JAVA模拟内存分配与释放——首次适应算法
- hibernate的懒加载得到的代理对象里面有什么
- 项目实践:文件操作处理
- PPT常见问题及对策
- 使用 Matrix控制图片的变换