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