#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语言编写的简单的电话本管理系统的更多相关文章

  1. 用C语言编写一个简单的词法分析程序

    问题描述: 用C或C++语言编写一个简单的词法分析程序,扫描C语言小子集的源程序,根据给定的词法规则,识别单词,填写相应的表.如果产生词法错误,则显示错误信息.位置,并试图从错误中恢复.简单的恢复方法 ...

  2. 用 C 语言编写一个简单的垃圾回收器

    人们似乎觉得编写垃圾回收机制是非常难的,是一种仅仅有少数智者和Hans Boehm(et al)才干理解的高深魔法.我觉得编写垃圾回收最难的地方就是内存分配,这和阅读K&R所写的malloc例 ...

  3. 用SMIL语言编写一个简单的演示

    一.首先需要注意的几点是: 1.用记事本编写代码时,要保存为后缀名为.smil或.smi的文件,并且编码格式选择为UTF-8. 2.打开.smil文件的播放器选择为:RealPlayer或是Ambul ...

  4. C语言编写一个简单游戏

    感悟:这算是一个起点吧,我都大二了,还这么菜,才开始写游戏,这个游戏很简单,利用随机数猜大小! #include <stdlib.h> #include <stdio.h> # ...

  5. 用java语言编写的简单二叉树

    package com.cjonline.foundation.evisa; public class TestTree { private int data=-1; private TestTree ...

  6. 记一次开发:Qt简单电话本程序

    前言 断断续续学习C++一年了,现在要做课设,觉得控制台界面实在太难看,于是用Qt做一个图形化的程序出来. 学习Qt也没有多久,只是了解了个大概,这次开发基本上是啃了2天的官方帮助文档,然后利用各种Q ...

  7. Java入门篇(一)——如何编写一个简单的Java程序

    最近准备花费很长一段时间写一些关于Java的从入门到进阶再到项目开发的教程,希望对初学Java的朋友们有所帮助,更快的融入Java的学习之中. 主要内容包括JavaSE.JavaEE的基础知识以及如何 ...

  8. java模拟而一个电话本操作

    哈哈.大家平时都在使用电话本.以下使用java来模拟而一个简单的电话本吧... 首先给出联系人的抽象类 package net.itaem.po; /** * * 电话人的信息 * */ public ...

  9. 用java中的Arraylist实现电话本系统管理

    大致思路:创建一个电话本条目的类,在主类中实例化.用实例化的对象调用构造参数接收输入值,然后将此对象存入Arraylist的对象中,实现动态添加电话本条目. 该系统具备添加.删除.修改.查询所有和按姓 ...

随机推荐

  1. Java入门记(三):初始化顺序

    初始化顺序的规则 1.在一个类的对象实例化时,成员变量首先初始化,然后才调用构造器,无论书写顺序.如果调用构造器前,没有显式初始化,那么会赋默认值. 这样做法的原因可以理解为:构造器执行时可能会用到一 ...

  2. 通过dataGridView控件中的checkBox控件对数据库进行批量删除

    string id_s = ""; ; i < dataGridView1.Rows.Count; i++) //遍历所有行 { if (dataGridView1.Rows ...

  3. 在GMIC听“移动互联网+医疗”的感受 2015-04-29

    “互联网+”这个词挺火的,基本格式是“互联网+传统行业”,比如医疗.教育.交通等等.就更别说电子商务.金融这些领域了,相比已经和互联网分不 开了.在我看来,互联网+的背后,是信息化.智能化.信息沟通的 ...

  4. Tomcat 7.x热部署

    由于在开发阶段,需要频繁的修改源代码,如果每次修改完代码都去重启服务器来检测效果,那简直麻烦到你想死,又耽误时间,所以,在网上找了许久,终于找到了解决办法, 特来分享 我也试了修改Server.xml ...

  5. Could not synchronize database state with session

    今天做一个简单保存时,db2数据库报的错误,网上收集了下问题的解决办法~ 1.主键不是自动生成的,然后自己没手动设置. 2.插入的实体字段跟数据库的关键字冲突. 3.更新的时候,如果更新一个不存在的i ...

  6. Memento(备忘录)-对象行为型模式

    1.意图 在布破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可以将对象恢复到原先保存的状态. 2.别名 Token 3.动机 为了允许用户取消不确定的操作或从错误中 ...

  7. Linux下Git和GitHub使用方法总结

    来源:Linux下Git和GitHub使用方法总结 1 Linux下Git和GitHub环境的搭建 第一步: 安装Git,使用命令 “sudo apt-get install git” 第二步: 到G ...

  8. 解决“LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏”问题

    更新VS2010,或者卸载VS2013安装2010后,建立项目时会出现"LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏"的错误 ...

  9. 使用PHP发送email进行账号激活或者密码修改操作

    使用PHPMailer编写发送邮件 PHPMailer需PHP的socket扩展支持,而PHPMailer链接qq域名邮箱时需要ssl加密方式(qq邮箱最近做了限制,新开域名邮箱不再允许通过smtp协 ...

  10. jQuery Mobile 网格布局

    jQuery Mobile 布局网格 jQuery Mobile 提供了一套基于 CSS 的列布局方案.不过,一般不推荐在移动设备上使用列布局,这是由于移动设备的屏幕宽度所限. 但是有时你需要定位更小 ...