c语言程序设计实践报告

上传人:平*** 文档编号:13298459 上传时间:2017-10-23 格式:DOCX 页数:17 大小:19.75KB
返回 下载 相关 举报
c语言程序设计实践报告_第1页
第1页 / 共17页
c语言程序设计实践报告_第2页
第2页 / 共17页
c语言程序设计实践报告_第3页
第3页 / 共17页
c语言程序设计实践报告_第4页
第4页 / 共17页
c语言程序设计实践报告_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《c语言程序设计实践报告》由会员分享,可在线阅读,更多相关《c语言程序设计实践报告(17页珍藏版)》请在金锄头文库上搜索。

1、中南大学C 语言程序设计实践报告题 目 通讯录程序设计 学生姓名 指导教师 学 院 专业班级 完成时间 一、 任务描述通讯录程序设计 设计一个实用的小型通讯录程序,具有添加,查询和删除功能。由姓名,籍贯,电话号码 1,电话号码 2,电子邮箱组成,姓名可以由字符和数字混合编码。电话号码可由字符和数字组成。实现功能: (1)系统以菜单方式工作 (2)信息录入功能 (3)信息浏览功能 (4)信息查询功能 (5)信息修改功能 (6)系统退出功能二、算法描述设计一个实用的的小型通讯录程序必须具备系统以菜单方式工作、信息录入、信息浏览、信息查询、信息修改、系统退出功能,那么就需要这样的函数来实现。因此,我

2、需要自定义这样的函数来解决问题,当然还会调用库函数。在定义函数的过程中会用到选择结构、循环结构等基本语句,以及对结构体数组的定义等。三、程序设计/*头文件(.h)*/ #include stdio.h /*I/O 函数*/ #include stdlib.h /*标准库函数*/ #include string.h/*字符串函数*/ #include ctype.h /*字符操作函数*/ #define M 50 /*定义常数表示记录数*/ typedef struct /*定义数据结构*/ char NAME20; /*姓名*/ char EMAIL30; /*邮箱*/ char TELE11

3、0; /*电话*/char TELE210; /*电话*/ char HOMETOWN30; /*籍贯*/ DATA;/*以下是函数原型*/ int enter(DATA t); /*输入记录*/int add(DATA t,int n); /*添加记录*/int change(DATA t,int n); /*修改记录*/ int deleter(DATA t,int n); /*删除记录*/ void list(DATA t,int n); /*显示记录*/ void search(DATA t,int n); /*按姓名查找显示记录*/ void qseek(DATA t,int n);

4、 /*快速查找记录*/ void print(DATA temp); /*显示单条记录*/ int find(DATA t,int n,char *s) ; /*查找函数*/ int menu_select(); /*主菜单函数*/ /*主函数开始*/ main() int i; DATA dM; /*定义结构体数组*/ int length; /*保存记录长度*/ system(cls);for(;)/*无限循环*/ switch(menu_select() /*调用主菜单函数,返回值整数作开关语句的条件*/ case 1:length=enter(d);break;/*输入记录*/case

5、 2:length=add(d,length); break; /*添加记录*/case 3:length=deleter(d,length);break; /*删除记录*/ case 4:list(d,length);break; /*显示全部记录*/ case 5:search(d,length);break; /*查找记录*/case 6:qseek(d,length);break; /*快速查找记录*/case 7:length=change(d,length);break; case 8:exit(0); /*如返回值为 8 则程序结束*/ /*菜单函数,函数返回值为整数,代表所选的

6、菜单项*/ * *n); printf( * 1. 录入联系人数据 5.按姓名查找 *n);printf( * *n); printf( * 2. 添加联系人数据 6.快速查找 *n);printf(* *n); printf( * 3. 删除联系人数据 7.修改联系人数据 *n);printf( * *n); printf( * 4. 显示全部联系人 8.退出系统 *n);printf( * *n);printf(* *n); printf( *n); do printf(n 请输入您的选项(18):); /*提示输入选项*/ scanf(%s,s); /*输入选择项*/ c=atoi(s)

7、; /*将输入的字符串转化为整型数*/ while(c8); /*选择项不在 17 之间重输*/ return c; /*返回选择项,主程序根据该数调用相应的函数*/ /*输入记录,形参为结构体数组,函数值返回类型为整型表示记录长度*/ int enter(DATA t) int i,n; system(cls); printf(n 请输入需录入数据的个数: ); /*提示信息*/ scanf(%d,&n); /*输入记录数*/ printf(n 请输入数据:n); /*提示输入记录*/ printf(n 姓名 邮箱 电话号码 1 电话号码 2 籍贯 n); printf(*-*-*-*-*-

8、*n); for(i=0;in-1) /*如果整数 i 值大于 n-1,说明没找到*/ printf(n 未查找到该记录! n); else print(ti); /*找到,调用显示函数显示记录*/ /*显示指定的一条记录*/ void print(DATA temp) system(cls); printf(*n);printf(姓名 邮箱 电话号码 1 电话号码 2 籍贯 n); printf(-n); printf(%-20s%-30s%-10s%-10s%-30sn,temp.NAME,temp.EMAIL,temp.TELE1,temp.TELE2,temp.HOMETOWN); p

9、rintf(*end*n); /*查找函数,参数为记录数组和记录条数以及姓名 s */ int find(DATA t,int n,char *s) int i; for(i=0;in-1) /*如果整数 i 值大于 n-1,说明没找到*/ printf(n 未查找到该记录! n); else print(ti);printf( n);printf( 1 代表修改姓名!n);printf( 2 代表修改邮箱! n);printf( 3 代表修改电话号码 1! n);printf( 4 代表修改电话号码 2! n);printf( 5 代表修改籍贯! n);printf( n);do print

10、f(n 请输入您的选项(15):); /*提示输入选项*/ scanf(%d,&c); switch(c)case 1:strcpy(stu.NAME,ti.NAME);scanf(%s,ti.NAME);printf(修改成功!n);break; case 2:strcpy(stu.EMAIL,ti.EMAIL);scanf(%s,ti.EMAIL);printf(修改成功!n);break;case 3:strcpy(stu.TELE1,ti.TELE1);scanf(%s,ti.TELE1);printf(修改成功! n);break;case 4:strcpy(stu.TELE2,ti.TELE2);scanf(%s,ti.TELE2);printf(修改成功!n);break;case 5:strcpy(stu.HOMETOWN,ti.HOMETOWN);scanf(%s,&ti.HOMETOWN);printf(修改成功!n);break; while(c5); /*选择项不在 15 之间重输*/return n;/*删除函数,参数为记录数组和记录条数*/ int deleter(DATA t,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号