c语言程序设计通讯录 (2)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
长江大学工程技术学院C语言课程设计实习报告
通讯录管理系统
学生姓名:吴正杰学号:序号:19
专业班级:计科61031
指导老师:刘旨阳
报告日期:2015\7\6
1.需求分析
根据题目要求,通讯录保存在文件中,要提供文件的输入和输出能力;还有就是要提供通讯录添加(个人信息包括姓名、邮编、住址、
电话号码、QQ、电子邮件等)、删除、显示、修改等基本功能。
2.概要设计?
系统总体设计是信息的输入、信息的编辑和退出。系统功能模块如下:
1.
2.通讯录里无信息,所以要添加信息。用键盘逐个输入通讯录里联
系人的信息。?
?
3.查找通讯录是让使用者可以通过姓名来查找通讯录里的联系人。??
?
4.
?
5.删除通讯录是用来按照联系人的姓名来单独删除通讯录中一些不
struct friends //定义的数组
{
char name[8];
char addr[14];
char pc[7];
char e_mail[14];
char QQ[10];
char tel[12];
}frd[500];
int NO = 10; //宏定义k定义为删除联系人的个数m定义为添加联系人的个数NO定义为原始通讯录中的联系人的个数
int k, m;
FILE*fp;
void menu() //主菜单
{
int a;
printf("\n\t\t |----------- 欢迎您使用通讯录管理系统1.0beat版----------|");
printf(" \n\t\t| [1]添加联系人;[2]删除联系人;[3]查找联系人| ");
printf(" \n\t\t| [4]显示联系人;[5]修改联系人;[6]排序联系人[7]退出| ");
printf("\n\t\t |---------------------------------------------------------|");
printf("\n\t\t请选择您所所要的服务:");
scanf("%d", &a);
switch (a)
{
case 1:newrecord(); break;
case 2:shanchuname(); break;
case 3:chazhaoname(); break;
case 4:xianshi(); break;
case 5:xiugai(); break;
case 6:paixu(); break;
case 7:exit(0);
default:
exit(0);
}
}
int main() //主函数
{
daoruwenji();
while (1) //1是真的进行死循环
{
menu();
}
return 0;
}
void xianshi() //打印所有的通讯录的人的信息
{
int i;
fp = fopen("jk0119.txt", "r");
if (fp == 0)
{
printf("\n\n\n\n\t 电话簿文件不存在");
exit(0);
}
printf("\n\n********************************欢迎使用通讯录
*******************************************");
printf("\n 姓名地址邮编e_mail QQ 手机号");
for (i = 0; i < NO-k+m; i++)
{
fscanf(fp, "%s%s%s%s%s%s", frd[i].name, frd[i].addr, frd[i].pc,
frd[i].e_mail, frd[i].QQ, frd[i].tel);
}
for (i = 0; i < NO-k+m;i++ )
{
printf("\t\n%3d", i + 1);
printf("%8s%14s%7s%14s%10s%12s", frd[i].name, frd[i].addr, frd[i].pc, frd[i].e_mail, frd[i].QQ, frd[i].tel);
}
printf("\n\n******************************************************** *********************************");
}
int daoruwenji() //判断通讯录是否为空和如果为空就新建一个txt文本
{
if ((fp = fopen("jk0119.txt", "rb")) == 0) //打开jk0119.txt文件
{
printf("\n\n\n\n\t 电话簿文件不存在");
if((fp = fopen("contact.txt", "wb")) == 0)//判断文件是否为空
{
printf("\n\t\t\t\t建立失败");
exit(0);
}
else
{
printf("\n\t 电话簿已建立");
printf("\n\t 按任意键进入主菜单");