长江大学工程技术学院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

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

  1. C语言 数组排序 – 快速法排序 - C语言零基础入门教程

    目录 一.简介 二.数组快速法排序原理 三.数组快速法排序实战 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.简介 经过前面的学习, ...

  2. C语言 数组排序 – 选择法排序 - C语言零基础入门教程

    目录 一.简介 二.数组选择法排序原理 三.数组选择法排序实战 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.简介 经过前面的学习, ...

  3. C语言 数组排序 – 冒泡法排序 - C语言零基础入门教程

    目录 一.简介 二.数组冒泡法排序原理 三.数组冒泡法排序实战 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.简介 经过前面的学习, ...

  4. html5仿手机通讯录按字母排序及搜索功能

    1.实现联系人字母排序,点击字母跳转显示联系人组目录; 2.实现联系搜索,动态显示符合查询的联系人; 详情见资源:https://download.csdn.net/download/huicaipa ...

  5. android 好友字母分组,Android好友联系人按字母排序分组,自定义通讯录导航栏View...

    Android中仿微信实现联系人列表 按字母排序分组 自定义通讯录导航栏View,下边是效果图: 1. 自定义View public class SideBar extends View { // 触 ...

  6. Android好友联系人按字母排序分组,自定义通讯录导航栏View

    Android中仿微信实现联系人列表 按字母排序分组 自定义通讯录导航栏View,下边是效果图: 1. 自定义View public class SideBar extends View {// 触摸 ...

  7. c语言数字和字母排序,C# 数字和字母的混合排序

    C#中 List默认的Sort 并不符合本人的要求:本人的要求是这样: 0000到9999 有哪位高手能给本人解答一下,本人本人写了类实现IComparer的Compare方法 public int  ...

  8. c语言统计英文字母频率,C语言实现英文文本词频统计

    这几天写了一个基于C语言对文本词频进行统计的程序,开发及调试环境:mac集成开发环境Xcode:测试文本,马丁.路德金的<I have a dream>原文演讲稿. 主要运行步骤: 1. ...

  9. c语言实验题——字符串排序,C语言中实现“三个数由小到大排序”的多种方法浅析...

    本文通过一个简单示例"三个数由小到大排序",将C语言中许多知识点融会贯通起来,这多种方法的实现可以将函数.宏.指针之间的区别和本质清晰的展示给读者,使本来很复杂难以理解的概念变得通 ...

最新文章

  1. [转]c# 泛类型(泛型) 以及强类型与弱类型的 理解及优化
  2. Windows XP自带的定时关机功能以及我的基于此的小程序
  3. 机器学习(二十八)——Monte-Carlo
  4. ASP.NET报错集合一----.net4.0创建项目后,在iis上部署项目,无法浏览,提示404
  5. mpvue 从零开始 女友使用 3 rpx 适应大小
  6. hive优化--增加减少map数
  7. vsftp限制ip地址访问
  8. 小区物业管理系统--数据库应用开发
  9. PCB Web版SI9000阻抗计算器
  10. “玄姐”孙玄,特立独行的架构师
  11. #Android Studio# 模拟器开发者模式
  12. 哈希(hash):从原理到应用
  13. MongoDB实战(MongoDB开发者现身说法)
  14. scikit-learn初级
  15. 【图解CAN总线】-8-CANFD总线网络“负载率”计算
  16. 各种控制方法在抗干扰方面的区别
  17. ARMv8 Linux内核head.S源码分析
  18. 腾讯QQ2005Beta3珊瑚虫版v3.2发布(转)
  19. UnityStandardAsset工程、源码分析_4_赛车游戏[玩家控制]_摄像机控制
  20. uniApp简单使用webSocket实现核销二维码业务

热门文章

  1. QT FC坦克大战(附源码)
  2. Unity基础笔记(1)—— Unity基本操作与基本组件介绍
  3. 香港“上等人”瞧不起内地移动支付?网友评论看着太解气了!
  4. Java基础知识【第1期】--简介
  5. 最新出炉!《看漫画学Python 第2版》电子书火爆来袭,300页全新版PDF开放下载,零基础小白入门首选!
  6. 自监督、弱监督、半监督 kick-off
  7. linux glibc2.12编译,glibc 2.12 升级 2.14
  8. 迅雷链技术沙龙第一站:百万级TPS是怎样炼成的
  9. c语言问答题斐讯通信,C总结-part_1 - LinearLaw的个人空间 - OSCHINA - 中文开源技术交流社区...
  10. 「面试」国企银行都喜欢问啥?