通讯录管理系统C语言课程设计大作业.doc
- 文档编号:265955
- 上传时间:2022-10-08
- 格式:DOC
- 页数:29
- 大小:210.59KB
通讯录管理系统C语言课程设计大作业.doc
《通讯录管理系统C语言课程设计大作业.doc》由会员分享,可在线阅读,更多相关《通讯录管理系统C语言课程设计大作业.doc(29页珍藏版)》请在冰豆网上搜索。
郑州大学
课程报告
课程名称:
C语言程序设计
专业班级:
(15)班
学生姓名:
谢*
学号:
20127611***
任课教师:
赵**
学期:
2012-2013-2
课程报告任务书
题目
通讯录管理系统
主要
内容
开发一个通讯录管理系统,基本信息包括:
编号、姓名、性别、出生年月、固定电话、手机号、电子邮件等基本信息(也可以根据自己情况进行扩充)。
使之能提供以下基本功能:
(1)通讯录等信息录入功能(注:
数据等要求用文件保存)--输入v
(2)通讯录信息的浏览功能--输出
(3)查询功能(至少一种查询方式)、排序功能(至少一种排序方式):
l①按电话号码进行查询②按姓名查询等③按照年龄排序④按姓名排序等
(4)通讯录条目的删除与修改等
扩展功能:
可以按照自己的程度进行扩展。
比如
(1)简单的权限处理
(2)报表打印功能(3)模糊查询,如姓张的人员等;或者给定电子邮件的部分进行查询等(4)给定指定年龄范围之内的查询等等。
总之,可以根据自己需求进行分析功能,成绩评定按照难度进行区分。
任务
要求
一、提交材料应包括:
(1)系统源代码
(2)课程报告
二、整个设计过程具体要求
(1)需求分析要求学生对案例系统进行分析,设计出需要完成的功能,完善各个模块的调用关系;
(2)设计过程要求学生进一步明确各模块调用关系,进一步完善模块函数细节(函数名、参数、返回值等)
(3)实现过程要求学生养成良好的编码习惯、完成各个模块并进行测试,最终完成系统整体测试;
(4)总结阶段按照要求完成系统设计和实现报告,并进行总结、答辩。
成绩
评定
报告撰写情况(30分)
系统完成情况(30分)
答辩情况(40分)
总分
内容
20分
规范程度
5分
程序测试
5分
基本功能20分
扩展功能10分
自述情况10分
答辩情况
30分
成绩评定教师:
一.需求分析
1,具有数据的插入、修改、删除、显示和查询功能的电话簿管理程序。
2,数据包括:
人名、工作单位、电话号码和E-MAIL地址。
3,可对记录中的姓名和电话号码进行修改。
4,可增加和删除记录。
5,可显示所有的保存记录。
6,可按人名或电话号码进行查询。
分析
建议采用结构体数组和文件系统实现。
结构体成员包括人名、工作单位、电话号码和E-MAIL地址。
根据题目的要求程序应该采用结构体数组和文件系统实现。
应该有文件的操作功能;在程序中应该包括输入、显示、删除、查询、添加、修改、保存、加载和退出的功能。
二、概要设计
(1).程序的模块组成及各个函数的功能:
程序的模块组成:
主函数:
main();
输出数据函数:
printf();
读取数据函数:
scanf();
显示记录函数:
Display();
删除记录函数:
shanchu();
查找记录函数:
chaxun();
自定义清屏函数:
system(“cls”);
自定义输入函数:
input();
字符输入函数:
getchar();
修改数据函数:
xiugai();
保存数据函数:
baocun();
排序数据函数:
paixu();
各函数的主要功能:
输出数据函数:
随时输出数据;
读取数据函数:
读取输入的数据信息;
显示菜单函数:
显示可供选择的主菜单;
显示记录函数:
显示通讯录所有输入的信息;
删除记录函数:
显示要删除的通讯录所有输入的信息;
查找记录函数:
显示要查询的通讯录所有输入的信息;
自定义清屏函数:
清除前面运行留下的信息;
自定义输入函数:
输入通讯录的成员;;
字符输入函数:
从终端输入一个字符,遇回车键返回;
修改数据函数:
修改通讯录的成员信息;
保存数据函数:
保存通讯录的成员信息;
排序数据函数:
排序通讯录的成员信息;
(2)程序中的抽象数据类型的定义:
用户的状态结构
用户
{
编号:
姓名:
电话;
年龄;
邮箱:
地址;
(3)总体流程图
根据上面的分析,可以将程序系统的设计分为如下几个模块:
插入、显示、删除、查询、修改、保存和退出。
通讯录管理系统
插入
显示
删除
查询
保存
修改
退出
}
三.详细设计
(1).主菜单;
主菜单一般设计得比较简洁,只提供输入,处理和输出部分的函数调用。
其中各功能模块用菜单方式选择。
流程图
输入n,判断是否是0~6
开始
显示一系列功能选项
N
根据n的值调用各功能模块函数
结束
Y
【程序】
Personpe[80];
intmenu_select()
{
charc;
do{
system("cls");//清屏
printf("\t\t\t**********************************************\n");//窗口初始化
printf("\t\t\t**********欢迎使用通讯录管理系统!
***********\n");
printf("\t\t\t*************┌───────┐***************\n");
printf("\t\t\t**************1.添加记录***************\n");
printf("\t\t\t**************│2.显示记录│****************\n");
printf("\t\t\t**************│3.删除记录│****************\n");
printf("\t\t\t**************│4.查询记录│****************\n");
printf("\t\t\t**************│5.修改记录│****************\n");
printf("\t\t\t**************│6.保存记录│*****************\n");
printf("\t\t\t**************│7.排序记录│*****************\n");
printf("\t\t\t**************│0.退出程序│*****************\n");
printf("\t\t\t**************└──────┘****************\n");
printf("\t\t请您选择(0-7):
");
c=getchar();
}while(c<'0'||c>'7');
return(c-'0');
}
(2)显示模块
此模块为显示所有记录,流程图如下:
选择显示功能
显示所有数据
回主菜单
voidDisplay(Personper[],intn)
{
Inti;
printf("----------------------------------------------------------------------\n");//格式
printf("编号\t姓名\t年龄\t电话号码\t通讯地址\t电子邮箱\n");
printf("----------------------------------------------------------------------\n");
for(i=1;i { printf("%-8d%-8s%-8s%-18s%-18s%-8s\n",per[i-1].score,per[i-1].name,per[i-1].age,per[i-1].num,per[i-1].adds,per[i-1].email); if(i>1&&i%10==0) {printf("\t-----------------------------------\n"); printf("\t"); system("pause"); printf("\t-----------------------------------\n"); }} printf("----------------------------------------------------------------------\n"); system("pause"); (3)修改模块 此模块先调用查找函数查找到所要修改的信息,然后用户根据需要修改信息。 流程图如下: 开始 输入要修改记录的姓名 是否找到信息 提示未找到信息 显示要修改的信息 修改需要修改的条目,并保存 结束 N Y voidxiugai(Personper[],intn) { chars[20]; inti=0; printf("\t请输入想修改的记录中的名字: "); scanf("%s",s);//输入修改人的名字 while(strcmp(per[i].name,s)! =0&&i if(i==n) { printf("\t通讯录中没有此人! \n"); return; } printf("\t编号: "); scanf("\t%d",&per[i].score); printf("\t姓名: "); scanf("\t%s",per[i].name); printf("\t年龄: "); scanf("\t%s",per[i].age); printf("\t电话号码: "); scanf("\t%s",per[i].num); printf("\t通讯住址: "); scanf("\t%s",per[i].adds); printf("\t电子邮箱: "); scanf("\t%s",per[i].email); printf("\t修改成功");
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通讯录 管理 系统 语言 课程设计 作业