C语言编写的简单的电话本管理系统
#include<stdio.h> #include <string.h> #include<stdlib.h> int n=; struct person {char name[]; char WP[]; char PN[]; char MPN[]; char FZ[]; char EM[]; char QQ[]; }; void fun1 (struct person b[],int B[]) {int i=; int H; do {printf("请输入第%d个联系人的信息\n",i+); printf("请输入姓名:"); scanf("%s",b[B[i]].name); printf("\n"); printf("请输入工作地址:"); scanf("%s",b[B[i]].WP); printf("\n"); printf("请输入固定电话号码:"); scanf("%s",b[B[i]].PN); printf("\n"); printf("请输入移动电话号码:"); scanf("%s",b[B[i]].MPN); printf("\n"); printf("请输入与本人关系:"); scanf("%s",b[B[i]].FZ); printf("\n"); printf("请输入邮箱:"); scanf("%s",b[B[i]].EM); printf("\n"); printf("请输入QQ号码:"); scanf("%s",b[B[i]].QQ); printf("\n"); i++;n++; printf("1继续输入;0退出\n"); scanf("%d",&H); }while(H!=); printf("\n"); } void fun2 (struct person F[],int h[]) {int i=,t,k,p,m; t=n/; printf("所有联系人的信息如下:\n"); if(t==) {for(i=;i<n;i++) printf("姓名:%s\t单位:%s\t固定电话:%s\t移动电话:%s\t分类:%s\t邮箱:%s\tQQ:%s\n",F[h[i]].name,F[h[i]].WP,F[h[i]].PN,F[h[i]].MPN,F[h[i]].FZ,F[h[i]].EM,F[h[i]].QQ);} else {for(k=;k<t;k++) {for(i=;i<;i++) printf("姓名:%s\t单位:%s\t固定电话:%s\t移动电话:%s\t分类:%s\t邮箱:%s\tQQ:%s\n",F[h[*k+i]].name,F[h[*k+i]].WP,F[h[*k+i]].PN,F[h[*k+i]].MPN,F[h[*k+i]].FZ,F[h[*k+i]].EM,F[h[*k+i]].QQ); printf("输入'1'显示下一页\n"); scanf("%d",&p); if(p==) system("cls");} m=*t; for(i=;m<n;m++) printf("姓名:%s\t单位:%s\t固定电话:%s\t移动电话:%s\t分类:%s\t邮箱:%s\tQQ:%s\n",F[h[m]].name,F[h[m]].WP,F[h[m]].PN,F[h[m]].MPN,F[h[m]].FZ,F[h[m]].EM,F[h[m]].QQ);} } void fun3(struct person d[],int e[]) {char x[],p[]; int D,i; do{int m=; printf("请输入要查找的信息:\n"); scanf("%s",&x); for(i=;i<n;i++) if(!strcmp(d[e[i]].name,x)||!strcmp(d[e[i]].WP,x)||!strcmp(d[e[i]].PN,x)||!strcmp(d[e[i]].MPN,x)||!strcmp(d[e[i]].FZ,x) ||!strcmp(d[e[i]].EM,x)||!strcmp(d[e[i]].QQ,x)) {D=e[i]; printf("要查询的联系人信息如下:\n"); printf("姓名:%s\t单位:%s\t固定电话:%s\t移动电话:%s\t分类:%s\t邮箱:%s\tQQ:%s\n",d[D].name,d[D].WP,d[D].PN,d[D].MPN,d[D].FZ,d[D].EM,d[D].QQ);} printf("输入Y或y继续查询,输入N或n退出\n"); scanf("%s",&p); }while(!strcmp(p,"Y")||!strcmp(p,"y")); } void fun4(struct person c[],int k[]) {char d[]; char p[]; int t[],j,i,x; do{printf("请输入要删除的联系人信息:\n"); scanf("%s",&d); for(i=;i<n;i++) if(!strcmp(d,c[k[i]].name)||!strcmp(d,c[k[i]].WP)||!strcmp(d,c[k[i]].PN)||!strcmp(d,c[k[i]].MPN)||!strcmp(d,c[k[i]].FZ)||!strcmp(d,c[k[i]].EM)||!strcmp(d,c[k[i]].QQ)) j=k[i]; for(x=j;x<n;x++) k[x]=x+; n--; printf("输入Y或y继续,输入N或n退出\n"); scanf("%s",&p); }while(!strcmp(p,"Y")||!strcmp(p,"y")); } void fun5(struct person b[],int B[]) {int H; do {printf("请输入添加联系人的信息\n"); printf("请输入姓名:"); scanf("%s",b[B[n]].name); printf("\n"); printf("请输入工作地址:"); scanf("%s",b[B[n]].WP); printf("\n"); printf("请输入固定电话号码:"); scanf("%s",b[B[n]].PN); printf("\n"); printf("请输入移动电话号码:"); scanf("%s",b[B[n]].MPN); printf("\n"); printf("请输入与本人关系:"); scanf("%s",b[B[n]].FZ); printf("\n"); printf("请输入邮箱:"); scanf("%s",b[B[n]].EM); printf("\n"); printf("请输入QQ号码:"); scanf("%s",b[B[n]].QQ); printf("\n"); n++; printf("1继续添加;0退出\n"); scanf("%d",&H); }while(H!=); printf("\n"); } void fun6(struct person T[],int r[]) {char p[],d[]; int i,t; do {printf("请输入要修改联系人信息:\n"); scanf("%s",&d); for(i=;i<n;i++) if(!strcmp(d,T[r[i]].name)||!strcmp(d,T[r[i]].WP)||!strcmp(d,T[r[i]].PN)||!strcmp(d,T[r[i]].MPN)||!strcmp(d,T[r[i]].FZ)||!strcmp(d,T[r[i]].EM)||!strcmp(d,T[r[i]].QQ)) {t=r[i]; printf("请输入改后联系人的信息\n"); printf("请输入姓名:"); scanf("%s",T[t].name); printf("\n"); printf("请输入工作地址:"); scanf("%s",T[t].WP); printf("\n"); printf("请输入固定电话号码:"); scanf("%s",T[t].PN); printf("\n"); printf("请输入移动电话号码:"); scanf("%s",T[t].MPN); printf("\n"); printf("请输入与本人关系:"); scanf("%s",T[t].FZ); printf("\n"); printf("请输入邮箱:"); scanf("%s",T[t].EM); printf("\n"); printf("请输入QQ号码:"); scanf("%s",T[t].QQ); printf("\n"); } printf("输入Y或y继续,输入N或n退出\n"); scanf("%s",&p); }while(!strcmp(p,"Y")||!strcmp(p,"y")); } void main() {struct person a[]; int A[],i,X; for(i=;i<;i++) A[i]=i; do {printf("*************************菜单************************\n"); printf(" 请选择要进行的操作\n"); printf(" 1 : 输入联系人信息\n"); printf(" 2 :分屏显示所有联系人信息\n"); printf(" 3 : 查找联系人信息\n"); printf(" 4 : 删除联系人信息\n"); printf(" 5 : 增加联系人信息\n"); printf(" 6 : 修改联系人信息\n"); printf(" 0 :退出\n"); scanf("%d",&X); switch(X) {case : fun1(a,A);break; case : fun2(a,A);break; case : fun3(a,A);break; case : fun4(a,A);break; case : fun5(a,A);break; case : fun6(a,A);break; } }while(X!=); }
C语言编写的简单的电话本管理系统的更多相关文章
- 用C语言编写一个简单的词法分析程序
问题描述: 用C或C++语言编写一个简单的词法分析程序,扫描C语言小子集的源程序,根据给定的词法规则,识别单词,填写相应的表.如果产生词法错误,则显示错误信息.位置,并试图从错误中恢复.简单的恢复方法 ...
- 用 C 语言编写一个简单的垃圾回收器
人们似乎觉得编写垃圾回收机制是非常难的,是一种仅仅有少数智者和Hans Boehm(et al)才干理解的高深魔法.我觉得编写垃圾回收最难的地方就是内存分配,这和阅读K&R所写的malloc例 ...
- 用SMIL语言编写一个简单的演示
一.首先需要注意的几点是: 1.用记事本编写代码时,要保存为后缀名为.smil或.smi的文件,并且编码格式选择为UTF-8. 2.打开.smil文件的播放器选择为:RealPlayer或是Ambul ...
- C语言编写一个简单游戏
感悟:这算是一个起点吧,我都大二了,还这么菜,才开始写游戏,这个游戏很简单,利用随机数猜大小! #include <stdlib.h> #include <stdio.h> # ...
- 用java语言编写的简单二叉树
package com.cjonline.foundation.evisa; public class TestTree { private int data=-1; private TestTree ...
- 记一次开发:Qt简单电话本程序
前言 断断续续学习C++一年了,现在要做课设,觉得控制台界面实在太难看,于是用Qt做一个图形化的程序出来. 学习Qt也没有多久,只是了解了个大概,这次开发基本上是啃了2天的官方帮助文档,然后利用各种Q ...
- Java入门篇(一)——如何编写一个简单的Java程序
最近准备花费很长一段时间写一些关于Java的从入门到进阶再到项目开发的教程,希望对初学Java的朋友们有所帮助,更快的融入Java的学习之中. 主要内容包括JavaSE.JavaEE的基础知识以及如何 ...
- java模拟而一个电话本操作
哈哈.大家平时都在使用电话本.以下使用java来模拟而一个简单的电话本吧... 首先给出联系人的抽象类 package net.itaem.po; /** * * 电话人的信息 * */ public ...
- 用java中的Arraylist实现电话本系统管理
大致思路:创建一个电话本条目的类,在主类中实例化.用实例化的对象调用构造参数接收输入值,然后将此对象存入Arraylist的对象中,实现动态添加电话本条目. 该系统具备添加.删除.修改.查询所有和按姓 ...
随机推荐
- note->notice
登陆博客园,乍眼一看上一篇博客的日期还是2月底,如今已是5月份,期间好几次想要记录一些东西,总感觉现在一天二十四小时越来越短,有几次登陆博客园甚至连密码都要重置一下才能登陆...这两个月的时间里经理了 ...
- Samba安装配置
Samba简介 Samba官网:http://www.samba.orgSMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不 ...
- QML引擎的演进,第一部分
原文链接:Lars Knoll – Evolution of the QML engine, part 1 QML作为一项技术对于Qt的成功变得越来越重要.它允许创建流畅的动画界面,与现今的市场预期相 ...
- VC++中StretchBlt图像失真问题的解决办法
在 VC 中使用 StretchBlt 会碰到一些与点阵图大小缩放相关的一些问题.在扩展一个点阵图时,StretchBlt必须复制图素行或列.如果放大倍数不是原图的整数倍,那么此操作会造成产生的图像有 ...
- RapidXML 试用
近半年来断断续续的封装一些SDK,在兼顾跨平台.易用性和高效率上还要顾及到对外dll的大小问题.由于之前解析SVG文件的用到了一个XML解析库xercesc,这个DLL实在巨大近4M,于是尝试用新的X ...
- 将mac上的项目上传到oschina,进行代码托管。
1.首先看一下自己是否有公钥, 在 我的资料-->SSH公钥 查看,如果没有,添加自己的SSH 公钥: SSH key 可以让你在你的电脑和 Git @ OSC 之间建立安全的加密连接. 2. ...
- postgres 批量更新内容
在程序中遇到这样的需求, 数据库表格式如下 需要把批量更新status, 如name = fox 时, status = 1, name = boa 时,status = 2 .... 类似的 pos ...
- 第一次到IT公司上班!
今日是自个的首次正式到IT公司进行作业,感触也是别有一番兴趣!如今就让自个回味下第一天的作业经历吧! 我上班的公司叫西安西科软件技术有限公司,第一天上班的缘故,早上起得很早,差不多六点半还没到就起床洗 ...
- java的Map及Map.Entry解析
Map<K,V>是以键-值对存储的(key-value), 而Entry<K,V>是Map中的一个接口,Map.Entry<K,V>接口主要用于获取.比较 key和 ...
- 一份不错的vue.js基础笔记!!!!
第一章 Vue.js是什么? Vue(法语)同view(英语) Vue.js是一套构建用户界面(view)的MVVM框架.Vue.js的核心库只关注视图层,并且非常容易学习,非常容易与其他库或已有的项 ...