c语言通讯录按字母排序,c语言程序设计通讯录.docx

长江大学工程技术学院C语言课程设计实习报告

通讯录管理系统

学生姓名:吴正杰学 号:201461031 序 号:19

专业班级:计科61031

指导老师:刘旨阳 报告日期:2015\7\6

需求分析

根据题目要求,通讯录保存在文件中,要提供文件的输入和输出 能力;还有就是要提供通讯录添加(个人信息包括姓名、邮编、住址、 电话号码、QQ电子邮件等)、删除、显示、修改等基本功能。

概要设计

系统总体设计是信息的输入、信息的编辑和退出。系统功能模块如

下:

详细设计

输出通讯录用于让使用者观看通讯录里所有的信息。

开始

1

输出所有联 系人信息

1

T

(结束)

通讯录里无信息,所以要添加信息。用键盘逐个输入通讯录里联 系人的信息。

查找通讯录是让使用者可以通过姓名来查找通讯录里的联系 人。

输出结果

输出结果

结束

修改通讯录是让使用者通过姓名查找到通讯录里的联系人,然

其作出修改

开始

删除通讯录是用来按照联系人的姓名来单独删除通讯录中一些不 想要的联系人。

查找联系人

查找联系人

删除联系

删除单

继续删除

结束

6.排序通讯录联系人来进行开头的首写字母排序

开始

排序联系人

结束

7.退出通讯录

4.主要源程序代码

void menu();/ 定义的函数

void newrecord();

void xiugai();

void shanchuname();

void chazhaoname();

void xianshi();

int daoruwenji();

void save();

void paixu();

struct friends // 定义的数组

{

char n ame[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版

1" );

printf( " \n\t\t|[1]添加联系人;[2]删除联系人;[3]查找联系人

| ");

printf( " \n\t\t| [4]显示联系人;[5]修改联系人;[6]排序联系人[7]

退出| ");

printf( "\n\t\t

|1" );

printf( "\n\t\t请选择您所所要的服务:");

seanf( "%d", &a);

switch (a)

{

ease 1:n ewrecord(); break;

ease 2:sha nchun ame();break;

case 3:chazha on ame();break;

case 4:xia nshi();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;

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

手机号”);

for (i = 0; i < NO-k+m; i++) {

地址

欢迎使用通讯录

);

邮编 e mail

QQ

fscanf(fp,"%s%s%s%s%s(%fed[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%7

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值