手机通讯录管理系统
一、设计题目的任务和内容
任务:本程序是非数值计算型算法设计,我设计出了通讯录管理系统的基本功效,并设计了简朴的界面。本程序重要考察对自定义函数的熟悉程度,本程序重要使用的是数组的有关操作,涉及构造体数组的输入、输出、查、删除等。我设计的这个通讯录系统也初步实现了人员信息的显示、删除、查、修改、添加等必要的功效。
具体规定
建立通讯录信息,信息包含、姓名、分类(1、办公类 2、个人类 3、商务类、电话、等;
将通讯录保存在文献中;
查看功效:可按 1、办公类 2、个人类 3、商务类分类查询,当选中其中一类时,显示出这类全部数据中的姓名和电话号码。
增加功效:能录入新数据。当录入重复姓名和电话号码时,则提示数据录入重复并取消录入;当通讯录中超出 15 条信息时,存储空间已满,不能录入新数据;录入的新数据能按递增的次序自动进行条目编号。
修改功效:选中某个人的姓名是,可对此人的对应数据进行修改。
删除功效:选中某个人的姓名是,可对此人的对应数据进行删除并自动调节后续条目编号。
系统功效需求分析
查询:查询通讯录统计添加:添加通讯录统计显示:显示通讯录统计删除:删除通讯录统计修改:修改通讯录统计
二、总体设计思路
本系统首先设计出了主函数,然后根据去要实现的功效分别设计拉,显示、删除、查、修改、添加功效的子函数。在显示的函数设计过程中首先运用拉文献的读取等必要的知识
过把文献的内容读取到内存然后打印出来。删除函数的设计是首先从文献内到要删除的人,然后通过写一种实现删除目的的 FOR 循环将该人从内存里删除,然后再用写的方式打开文

献,将内存内的信息写入文献,实现删除。查也是先打开文献,用一种字符串对比的办法出顾客要查的人,然后打印出来。修改也大致和删除相似,添加函数在设计时通过申请一片空间,然后通过指针将需要添加的信息添加进去,从而实现添加功效。
系统功效模块图:
输入新信息:可输入新的数据。
添加:能够添加通讯录统计,依次输入姓名、电话号码、分类、后,会提示与否继续添加。
删除:输入姓名删除,输入欲删除的那个人的名字后,会自动删除他(她)的统计内容查询:可按 1、办公类 2、个人类 3、商务类分类查询
修改:输入欲修改的那个人的名字后,再依次输入姓名、电话号码、分类、即可完毕修改。
下面就是总的程序流程图
开始
选择a

调用 in pu t()函数
调用 br o ws e()函数
调用 add(
)
调 用 mod ify_ data ( )
调用 del()函数
调用 print f_ba ck()

三、具体设计
代码以下: #include"stdio.h" #include"string.h" #define N 15 typedef struct people
{
char学编程学什么语言更好 name[20]; char num[20]; char sort[20]; char email[30];
}PEO;
PEO peo[N]; void enter(); void menu(); void browse(); void add(); void modify(); void del();
modify_data(int i,int n); void printf_face();
void printf_one(int i); void input(int i);
void save(int n); load();
void printf_sort(int i); void no_input(int i,int n);
void name_input(int i,int n);

void printf_back(); void menu()
{
int n,w1; do
{
puts("\t\t\t    **手机通讯录**\n"); puts("\t\t**************** 菜单 ****************\n\n"); puts("\t\t\t\t1.输入新信息");
puts("\t\t\t\t2.查看类型"); puts("\t\t\t\t3.添加信息" ); puts("\t\t\t\t4.修改信息"); puts("\t\t\t\t5.删除信息"); puts("\t\t\t\t6.返回");
puts("\n\n\t\t***************************************\n"); printf("选择所需功效(1-6): []\b\b");
scanf("%d",&n); if(n<1||n>6)
{
w1=1;getchar();
}
else w1=0;
}while(w1==1); switch(n)
{
case 1:enter();break; case 2:browse();break; case 3:add();break; case 4:modify();break; case 5:del();break; case 6:exit(0);
}
}
main()
{
menu();
}
void enter()
{
int i,n;
printf("输入联系人的个数(0-%d)?:",N-1); scanf("%d",&n);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。