ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:404.50KB ,
资源ID:293719      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/293719.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言通讯录程序课程设计报告书.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言通讯录程序课程设计报告书.docx

1、C语言通讯录程序课程设计报告书3.6 实例6 通讯录程序本实例希望设计一个通讯录程序,要现通讯录信息的录入,并具有添加、查询、删除、显示等功能;使用结构体存储通讯录中记录信息;使用链表来实现通讯录信息的添加、删除、查询及显示等操作;通讯录程序可实现文件读写,在通讯录信息录入结束之后,可存入文件中,在下次程序运行时可将通讯录中的记录读取到程序中。通讯录程序可采用基于Win32控制台程序构建或采用基于MFC应用向导.EXE的应用程序,下面对这两种方法进行详细介绍。3.6.1. 设计目的1、掌握结构体的基本工作原理和工作方式。2、熟悉结构体与链表的使用方法。3、熟悉C语言下数据的输入与输出。4、掌握

2、C语言下对TXT文件的读写操作。5、熟悉函数的设计方法及调用方法。3.6.2. 基本要求1、本实例要现对通讯录信息的查找、添加、删除、显示等功能,每个功能模块均能实现随时从模块中退出,可以通过键盘对功能进行选择,完成一个通讯录管理系统的运行。2、要使用结构体来实现对通讯录信息的存储。3、使用链表来实现对通讯录信息的查找、添加、删除、浏览显示。4、使用文件对记录进行存储,程序运行时还可以从文件中读取记录。5、系统设计完成后应实现类似下图所示界面。3.6.3 设计结构及算法分析在进行程序设计时,选择一种合理的数据存储结构是非常关键的。本实例根据题目要求,采用结构体来存放通讯录中的信息,并采用文件存

3、储通讯录中的信息。1、存储结构本实例存储数据时,除了采用最常用的基本类型存储外,采用结构体的方式来存储通讯录中的个人信息,结构体如下所示:struct stu char name20; /*人名*/ char telephone20; /*/ char sex4; /*性别*/ char company20; /*单位*/ struct stu *next; /*链表节点*/;typedef struct stu STU;2、main()主函数采用模块化设计,功能放在各模块函数中实现。主函数是程序的入口,在其中采用循环结构,根据用户的键盘输入,依次调用各功能函数。3、mycreate()函数-

4、创建链表函数函数根据用户输入的信息,存储到结构体中,并建立链表结构,函数返回链表的头指针。链表建立完成后,可根据链表的头指针来添加后续指针。4、myadd()函数-添加学生信息记录函数函数根据用户输入信息,分配存,将数据存储到结构体中,并建立新的链表节点,到已经建立好的链表尾部。5、mydelete()函数-删除链表节点函数根据用户输入通讯录中人名,在已有的链表中查找该人名信息存放的节点,如找到该节点,则删除该节点,并对链表结构重新;如未找到该人名信息的节点,则提示用户不存在。6、mydisplay()函数-显示所有用户记录函数用来遍历所有节点,并向屏幕上输出所有节点的通讯录中的详细信息。7、

5、displaymenu()函数-显示菜单函数函数向屏幕上输出,用户可以选择的选项菜单,给用户提示信息,给用户选择做出提示。8、mysearch()函数-查找学生信息函数用来查找通讯录中人名信息存在与否,如不存在则提示用户,如存在返回该人名的链表节点。3.6.4. 程序执行流程图功能模块图3.6.5 基于Win32控制台的C语言程序设计详细步骤步骤1:建立一个工程在Visual C+6.0的集成开发环境下,单击File(文件)菜单项,之后选择其子菜单项New(新建),如下图所示。屏幕上回弹出New(新建)对话框,如下图所示。单击对话框上方的Projects(工程)选项卡,在其下方列表中选择Win

6、32 Console Application选项,在右侧的Project name(工程名)框中输入工程名Address,在Location(目录)中输入工程文件存放的目录C: Student,之后单击OK按钮。单击OK按钮后,会弹出如下图所示的界面,为了方便编程,选择A simple application,之后单击Finish按钮。之后,弹出如下图所示界面。界面中包含了建立此工程文件的头文件及路径等信息。单击OK按钮,则进入了一个简单的C语言Win32控制台程序集成开发界面,如下图所示。左侧窗口为工程管理窗口,选择FileView选项卡,通过点击“+”可打开工程的文件及目录列表,工程的很多

7、操作都需要通过此窗口进行。同时通过双击列表中的Address.cpp文件名,可在中央的编辑窗口中打开其文件,如下图所示,此文件中只包含有一个主函数main()框架。步骤2:添加程序头文件,在打开的Address.cpp文件上部,添加如下代码。#include #include #include #include 步骤3:在主函数上面添加函数定义、变量定义以及结构体定义,如下所示。struct stu char name20; /*/ char telephone20; /*/ char sex4; /*性别*/ char company20; /*公司*/ struct stu *next;

8、/*链表节点*/;typedef struct stu STU;STU *mycreate(); /*创建节点*/void mydisplay(STU *head); /*显示节点*/void myadd(STU *head); /*增加记录*/STU *mysearch(STU *head,char name20); /*查找记录*/void mydelete(STU *head,char name20); /*删除记录*/void displaymenu(); /*显示所有记录*/位置如下图所示:步骤4:添加main()函数的实现部分以及其它功能函数,在main()主函数中添加代码容如下:

9、int main(int argc, char* argv)/*主函数*/ STU *head=NULL,*p; char name20; int select; while(1) displaymenu(); /显示功能菜单 printf(请选择一个功能:); scanf(%d, &select); switch( select ) case 1: / 录入通讯记录 /getchar(); head = mycreate(); mydisplay(head); break; case 2: /添加通信记录 /getchar(); myadd(head); mydisplay(head); b

10、reak; case 3: /查找通信记录 printf(请输入要查找的人的:); scanf(%s,name); p = mysearch(head,name); if (p!=NULL) printf(%s %s %s %s ,p-telephone,p-name,p-sex,p-company); else printf(没找到!); break; case 4: /删除通信记录 printf(请输入要删除的人的:); scanf(%s,&name); mydelete(head,name); mydisplay(head); break; case 5: /显示通讯记录 mydispl

11、ay(head); break; case 9: /退出系统 exit(0); default: /输入错误的功能选项 printf(选择功能错误,请重新选择。n); break; /end of switch printf(按任意键继续.n); getch(); / end of while return 0;STU *mycreate()/*创建链表*/ STU *head,*p,*q; head = (STU *)malloc(sizeof(STU); q = head; printf(请输入: 性别 单位:n); p = (STU *) malloc(sizeof(STU); scan

12、f(%s%s%s%s,p-telephone,p-name,p-sex,p-company); q-next = p; q = p; q-next = NULL; return head;void myadd(STU *head) /*添加记录*/ STU *p; p = (STU *) malloc(sizeof(STU); printf(请输入: 性别 单位:n); scanf(%s%s%s%s,&p-telephone,p-name,p-sex,p-company); p-next=head-next; head-next = p; void mydelete(STU *head,cha

13、r name20) /*删除记录*/ STU *p,*q; q = head; p = head-next; while(p!=NULL) if(strcmp(p-name,name)=0) q-next = p-next; free(p); break; q = p; p = p-next; return;STU *mysearch(STU *head,char name20) /*查找记录*/ STU *p; p = head-next; while(p!=NULL) if(strcmp(p-name,name)=0) break; p = p-next; return p;void my

14、display(STU *head) /*显示记录*/ STU *p; p = head-next; while(p!=NULL) printf(%s %s %s %sn,p-telephone,p-name,p-sex,p-company); p = p-next; void displaymenu( ) /*显示菜单*/ system(cls); printf(* M E N U *nn); printf( 1. 创建通讯录n); printf( 2. 添加通讯录n); printf( 3. 查找通讯录n); printf( 4. 删除通讯录n); printf( 5. 显示通讯录n);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1