C语言通讯录管理系统程序代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、课程设计题目及要求
题目通讯录管理系统
任务:自学C语言中相关知识,设计出通讯录管理系统。要求如下所述:
◆建立通讯录信息,信息至少包含编号、、年龄、、通讯地址、电子等;;
◆能够提供添加、删除和修改通讯录信息的功能;
◆能够提供按或等查询;
◆将通讯录保存在文件中;
◆能够按表格方式输出通讯录信息。
二、系统设计方案
(一)总体框架图:
通讯录管理系统:1、录入通讯录信息
2、修改通讯录信息
3、查询通讯录信息
4、浏览通讯录信息
5、增加通讯录信息
6、推出系通讯录统
(二)模块设计
模块一:头文件,变量定义,函数的声明
对系统所使用的变量进行定义,对函数进行声明
模块二:录入通讯录信息
声明函数void readfile(),说明一个文件指针FILE *fp 打开文件"student.txt"
模块三:通讯录信息的查找
声明void seek()为查找函数,通过switch(item)设定用学号查找,用查找两个分支模块四:通讯录信息的修改
声明void modify()为学生信息修改函数,通过switch(item)设定所要修改的项目
模块五:通讯录信息按学号排序
声明void sort()将录入通讯录信息系按升序排列,用的是“冒泡排序法”实现排序模块六:加通讯录信息
声明void insert()插入通讯录信息,先通过判断通讯录是否存在,若否则继续输入,若是跳出,重新循环
模块七:通讯录信息
声明void del()实现通讯录信息删除,通过学号对比确定要删除的信息,然后用后一个替换掉。
模块八:示学生信息
通过display()函数输出通讯录信息
模块九;存信息
通过fp=fopen("student.txt","w");写入信息
模块十:界面菜单
通过switch(num)调用,以上各函数,实现功能
三、设计详情
1.主函数
主函数设计要求简洁,只提供部分提示语和函数的调用
图1. 主函数流程图
void menu()/* 界面 */
{ int num;
printf(" \n\n 自动化0901通讯录管理系统 \n\n");
printf(" ***************** \n\n");
printf(" * 制作人:翁行兴 * \n \n");
printf(" ***************** \n\n");
printf("*********************系统功能菜单************************ \n");
printf(" ---------------------- ---------------------- \n");
printf(" * 1.刷新学生信息 * * 2.查询学生信息 * \n");
printf(" * 3.修改学生信息 * * 4.增加学生信息 * \n");
printf(" * 5.按学号删除信息 * * 6.显示当前信息 * \n");
printf(" * 7.保存当前学生信息 * * 8.退出系统 * \n");
printf(" ---------------------- ---------------------- \n");
printf("请选择菜单编号:");
scanf("%d",&num);
switch(num)
{
case 1:readfile();break;
case 2:seek();break;
case 3:modify();break;
case 4:insert();break;
case 5:del();break;
case 6:display();break;
case 7:save();break;
case 8:k=0;break;
default:printf("请在1-8之间选择\n");
}
}
四、源代码
#include
#include
#include
#define BUFLEN 100
#define LEN 15
#define N 100
struct record /*结构体*/
{
char code[LEN+1]; /* 学号 */
char name[LEN+1]; /* */
int age; /* 年龄 */
char sex[3]; /* 性别 */
char time[LEN+1]; /* 出生年月 */ char add[30]; /* 家庭地址 */
char tel[LEN+1]; /* */
char mail[30]; /* 电子地址 */
}stu[N];
int k=1,n,m; /* 定义全局变量 */ void readfile();/* 函数声明 */
void seek();
void modify();
void insert();
void del();
void display();
void save();
void menu();
int main()
{
while(k)
menu();