综合性程序设计报告
设计题目: 手机名片管理系统
指导教师:
班 级:
学 号:
设 计 者:
成 绩:
设计时间: 2013年05 月12日
[综合性程序设计报告题目]
手机名片管理系统
[题目描述]
通过计算机对数据文件的存储和读取,实现名片的输入,输出,查找,修改,删除,分类存储等功能。最大可以管理300张名片。
要求:
命令行界面
有输入功能
有删除条目功能
有输出功能
有显示列表功能
有根据某一特点的查找功能
有分类存储功能
[功能模块分解及说明]
首先设计出主函数,然后根据去要实现的功能分别设计,添加、显示、删除、查找、修改、添加功能的子函数。在显示的函数设计过程中通过把文件的内容读取到内存然后打印出来。删除函数的设计是首先从文件内找到要删除的人,然后通过写一个实现删除目的的FOR循环将该人从内存里删除,然后再用写的方式打开文件,将内存内的信息写入文件,实现删除。查找也是先打开文件,用一个字符串对比的方法找出用户要查找的人,然后打印出来。修改也大体和删除相同,添加函数在设计时通过申请一片空间,然后通过指针将需要添加的信息添加进去,从而实现添加功能
[数据库设计及说明]
使用了数据结构体:
typedef struct
{
char score; /*编号*/
char name[10]; /*姓名*/
char num[15]; /*号码*/
char email[20];/*邮箱*/
char age[8];/*年龄*/
char adds[20];/*住址*/
}Person; Person pe[80];
Char score;
char name[10];
char num[15];
char email[20];
char age[8];
char adds[20]
分别对编号、姓名、电话号码、邮编、年龄、住址进行储存
在子函数中还使用了结构体数组:
struct Person pe[300];
使用了exit()、 fclose()#include"string.h "
#include
#include
部分子函数的详细代码:
int Delete_a_record(Person per[],int n)
{
char s[20];
int i=0,j;
printf("\t请输入想删除记录中的名字:");
scanf("%s",s);
while(strcmp(per[i].name,s)!=0&&i
if(i==n)
{
printf("\t通讯录中没有此人!\n");
return(n);
}
for(j=i;j
{
strcpy(per[j].num,per[j+1].num);
strcpy(per[j].name,per[j+1].name);
strcpy(per[j].age,per[j+1].age);
strcpy(per[j].adds,per[j+1].adds);
strcpy(per[j].email,per[j+1].email);
per[j].score=per[j+1].score;
}
printf("\t\t\t已经成功删除!\n");
return(n-1);
}
[界面说明]
1、当软件中总有输入人员信息时:
(1).添加人员信息:
根据提示输入1 按回车
输入添加的信息
编号:
姓名:
年龄:
电话号码:
通讯地址:
电子邮箱:
每次输入完毕后 按回车
根据是否继续添加,输入Y/N,继续或结束添加
可以再根据提示使用查找功能。
该操作可以看见刚才添加的人员信息。
(2).查看全部信息时:
根据提示输入2 按回车
(3).删除人员信息:
根据提示输入 3 按回车
显示人员信息
输入需要删除人员姓名: 按回车
显示需要删除人员信息并删除。
(4).查找人员信息 :
根据提示输入 4 按回车
根据提示选择查找方式:如(输入1 按回车,按姓名查找)
输入要查找的人员名字,按回车
显示查找到的人员信息。
(5).修改人员