通讯录管理系统课程设计报告书C语言
通讯录管理系统课程设计c语言

通讯录管理系统课程设计c语言一、课程目标知识目标:1. 理解通讯录管理系统的基础概念,掌握C语言实现通讯录管理的核心功能;2. 学会使用结构体、数组、文件操作等C语言基础知识,实现数据的存储与读取;3. 掌握函数的定义与调用,能运用模块化编程思想设计通讯录管理系统。
技能目标:1. 能够运用所学知识独立设计并实现一个简单的通讯录管理系统;2. 培养良好的编程习惯,编写规范、可读性强的代码;3. 提高问题分析能力,通过编写程序解决实际问题。
情感态度价值观目标:1. 培养学生对C语言的兴趣,激发学习热情,树立编程自信心;2. 培养学生的团队协作意识,学会在团队中发挥个人优势,共同解决问题;3. 培养学生严谨、踏实的学术态度,养成勤奋思考、乐于探究的良好习惯。
课程性质:本课程为实践性较强的课程,旨在让学生通过实际操作,掌握C语言在通讯录管理系统中的应用。
学生特点:学生具备一定的C语言基础,对编程有一定了解,但实际操作能力有待提高。
教学要求:结合学生特点,注重理论与实践相结合,强调动手实践,培养学生实际编程能力。
通过分解课程目标为具体学习成果,使学生在完成课程学习后,能独立设计并实现一个简单的通讯录管理系统。
二、教学内容1. 通讯录管理系统概述- 了解通讯录管理系统的基本功能与需求;- 掌握系统设计的基本流程与模块划分。
2. C语言基础知识回顾- 结构体、数组的使用;- 文件操作(读写、打开、关闭文件);- 函数的定义与调用。
3. 通讯录管理系统核心功能实现- 设计并实现数据结构存储通讯录信息;- 编写功能函数,包括增加、删除、修改和查询联系人;- 实现数据的持久化存储。
4. 系统测试与优化- 学习测试方法,对系统进行功能测试;- 分析测试结果,优化代码与算法。
5. 编程规范与团队协作- 学习编程规范,编写高质量的代码;- 了解团队协作的重要性,培养团队协作能力。
教学内容安排与进度:第1周:通讯录管理系统概述与需求分析;第2周:C语言基础知识回顾;第3周:设计数据结构与功能函数;第4周:实现通讯录管理系统核心功能;第5周:系统测试与优化;第6周:总结与团队协作。
通讯录管理系统c语言课程设计报告课题简介

通讯录管理系统C语言课程设计报告
一、课题简介
通讯录管理系统是一种常见的应用程序,旨在帮助用户组织和管理他们的联系人信息。
本课程设计将利用C语言来实现一个基本的通讯录管理系统,旨在帮助学生掌握C语言编程的基本知识和技能。
二、设计目的
1.帮助学生熟悉C语言的基本语法和编程逻辑;
2.提高学生对数据结构的理解和运用能力;
3.培养学生的编程能力和软件开发思维;
4.提高学生的团队合作和项目管理能力。
三、设计内容
本课程设计将围绕以下几个方面展开:
1.用户界面设计:设计一个简洁直观的用户界面,包括菜单选项、输
入输出界面等;
2.数据结构设计:设计通讯录数据结构,包括联系人姓名、电话号码
等信息的存储方式;
3.功能实现:实现通讯录管理系统的基本功能,包括添加联系人、删
除联系人、查找联系人等操作;
4.文件操作:实现通讯录数据的读写操作,将联系人信息保存到文件
中,以便下次运行时读取;
5.错误处理:处理用户输入错误等异常情况,保证程序的稳定性和可
靠性。
四、预期效果
通过本课程设计,学生将能够掌握以下技能:
1.掌握C语言基本语法和编程逻辑;
2.熟悉数据结构的设计和运用;
3.提高编程能力和软件开发思维;
4.培养团队合作和项目管理能力。
五、总结
通过设计一个通讯录管理系统的C语言课程项目,学生将在实践中加深对C语言的理解和应用,提高编程技能和解决问题的能力。
希望本课程设计能够为学生的编程学习提供一定的帮助和指导。
以上为《通讯录管理系统C语言课程设计报告》的简要介绋,希望能够为课程设计的顺利进行提供一定的参考和指引。
通讯录管理系统c语言课程设计报告(一)

通讯录管理系统c语言课程设计报告(一)通讯录管理系统C语言课程设计报告1. 简介通讯录管理系统是一款基于C语言开发的软件,旨在帮助用户方便地存储、查找、编辑和删除联系人信息。
本报告将对该系统的功能和设计进行详细介绍。
2. 系统功能通讯录管理系统具备以下主要功能:•添加联系人:用户可以输入联系人的姓名、电话号码、电子邮件等信息,并将其添加到通讯录中。
•查找联系人:用户可以根据姓名或电话号码等方式,快速查找通讯录中的联系人信息。
•编辑联系人:用户可以修改通讯录中已有联系人的信息,如电话号码、电子邮件等。
•删除联系人:用户可以从通讯录中删除特定联系人。
•显示通讯录:用户可以查看通讯录中的所有联系人信息。
•退出系统:用户可以选择退出通讯录管理系统。
3. 系统设计数据结构通讯录管理系统主要使用以下数据结构存储联系人信息:•结构体:定义了一个联系人的数据结构,包括姓名、电话号码、电子邮件等字段。
•数组:用于存储多个联系人信息,构成通讯录。
数组的每个元素对应一个联系人的结构体。
主要函数添加联系人函数void addContact(struct Contact contacts[], int *num Contacts)•功能:向通讯录中添加一个联系人。
•输入参数:通讯录数组contacts、通讯录中联系人数量numContacts的指针。
•输出:无。
查找联系人函数void searchContact(struct Contact contacts[], int n umContacts)•功能:根据用户提供的关键词在通讯录中查找联系人。
•输入参数:通讯录数组contacts、通讯录中联系人数量numContacts。
•输出:无。
编辑联系人函数void editContact(struct Contact contacts[], int num Contacts)•功能:根据用户选择的联系人在通讯录中编辑联系人信息。
c语言通讯录管理系统课程设计

c语言通讯录管理系统课程设计一、课程目标知识目标:1. 理解C语言中数据结构的基本概念,掌握通讯录管理系统中链表的应用;2. 掌握C语言中文件操作的基本方法,实现对通讯录信息的存储和读取;3. 学会使用C语言编程解决实际问题,具备分析和设计简单通讯录管理系统的能力。
技能目标:1. 能够运用所学知识,设计并实现一个具备增加、删除、修改和查询功能的通讯录管理系统;2. 能够运用链表数据结构,实现通讯录信息的动态管理;3. 能够编写清晰的C语言代码,养成良好的编程习惯。
情感态度价值观目标:1. 培养学生的团队合作精神,提高沟通与协作能力;2. 激发学生对计算机编程的兴趣,培养自主学习和解决问题的能力;3. 引导学生认识到编程在解决实际问题中的应用价值,增强其学习责任感。
课程性质:本课程为实践性较强的课程,结合C语言编程知识,让学生通过实际操作,掌握通讯录管理系统的设计与实现。
学生特点:学生在本年级已具备一定的C语言基础,对数据结构有一定了解,但实际编程能力有待提高。
教学要求:教师需结合学生特点,采用任务驱动法,引导学生主动参与课堂,通过实践操作,提高学生的编程能力和解决实际问题的能力。
同时,注重培养学生的团队合作精神和自主学习能力。
在教学过程中,关注学生的情感态度价值观的培养,使其在学习过程中形成积极向上的心态。
二、教学内容1. 数据结构基础:复习C语言中的结构体和指针,引入链表的概念及其在通讯录管理系统中的应用。
- 教材章节:第三章 数据结构,第5节 链表。
- 内容安排:讲解链表的创建、插入、删除等基本操作。
2. 文件操作:介绍C语言中文件读写的基本方法,使学生能够将通讯录信息保存在文件中。
- 教材章节:第五章 文件,第2节 文件的读写。
- 内容安排:讲解fopen、fprintf、fscanf、fclose等文件操作函数的使用。
3. 通讯录管理系统功能设计:- 教材章节:实践项目——通讯录管理系统。
(最新版)通讯录管理系统毕业课程设计报告书(C语言)

机电工程学院中南大学本科生C语言课程设计题目通讯录管理系统成员姓名蔡贵学号班级:机械1003班成员姓名张晴学号班级:机械1003班成员姓名陈祎靖学号班级:机械1003班成员姓名宁磊磊学号班级:机械1003班指导教师樊广军学院机电工程学院完成时间2011年06 月31 日目录第一章绪论 (2)1.1 设计题目及要求 (2)1.2 系统功能需求分析 (2)第二章开发环境 (3)2.1 C语言的背景 (3)2.2 C语言主菜单介绍 (3)第三章总体设计与实现 (11)3.1 概要设计 (11)3.2 详细设计 (11)第四章测试数据及其结果分析 (15)4.1 测试 (15)4.2 问题思考 (18)第五章总结 (19)附录 (20)一源代码 (20)二参考文献 (27)第一章绪论1.1 设计题目及要求:◆建立通讯录信息,信息至少包含编号、姓名、年龄、电话、通讯地址、电子邮箱等;◆能够提供添加、删除和修改通讯录信息的功能;◆能够提供安不同方式查询的功能;如按姓名或年龄、电话等查询;◆将通讯录保存在文件中;◆能够按表格方式输出通讯录信息。
1.2系统功能需求分析:主要包含一下多种功能:添加:添加通讯录记录显示:显示通讯录记录删除:删除通讯录记录查询:查询通讯录记录修改:修改通讯录记录保存:将信息保存到文件第二章开发环境2.1 C语言的背景C语言属于高级程序语言的一种,它的前身是“ALGOL”。
其创始人是布朗•W•卡尼汉和丹尼斯•M•利奇。
C语言问世时是带有很大的局限性,因为它只能用于UNIX系统上。
然而随着科学技术的进步,计算机工业的发展,C语言逐渐脱离UNIX。
1987年美国标准化协会制定了C语言的国际标准,简称“ANSI C”,从此以后它便成为一种广泛使用的程序语言。
C语言的优点很多,主要的有如下四点:1.兼备高级语言与低级语言的优点,属于一种中间语言。
2.它是一种结构化程序设计语言,非常适合结构化程序设计。
c语言通讯录管理系统课程设计报告

C语言通讯录管理系统课程设计报告一、引言通讯录管理系统是一种常见的实用性软件,用于记录和管理个人或组织的联系人信息。
本文档旨在介绍一种基于C语言开发的通讯录管理系统的设计与实现。
通过本系统,用户可以方便地添加、删除、搜索和编辑联系人信息,实现了通讯录的基本功能。
二、系统需求分析本通讯录管理系统的主要功能包括: 1. 添加联系人:用户可以添加联系人的姓名、电话号码、邮箱等信息。
2. 删除联系人:用户可以根据联系人的姓名或电话号码删除对应的联系人信息。
3. 查找联系人:用户可以根据联系人的姓名或电话号码查找对应的联系人信息。
4. 修改联系人:用户可以修改已存在联系人的信息。
5. 显示所有联系人:用户可以查看通讯录中所有的联系人信息。
三、系统设计1. 数据结构设计为了实现通讯录管理系统,我们需要设计适当的数据结构来存储联系人信息。
在本设计中,使用结构体数组来表示每个联系人的信息,其中每个结构体包含姓名、电话号码、邮箱等成员变量。
struct Contact {char name[50];char phoneNumber[20];char email[50];};2. 功能模块设计本系统主要包含以下几个功能模块:a. 添加联系人模块用户可以选择添加新的联系人,输入姓名、电话号码和邮箱等信息后,系统将在通讯录中添加新的联系人。
b. 删除联系人模块用户可以根据输入的姓名或电话号码查找对应的联系人信息,并选择删除对应的联系人。
c. 查找联系人模块用户可以根据输入的姓名或电话号码查找对应的联系人信息,并在界面上显示查询结果。
d. 修改联系人模块用户可以根据输入的姓名或电话号码查找对应的联系人信息,并选择修改对应的联系人。
e. 显示所有联系人模块用户可以选择显示通讯录中所有的联系人信息,在界面上进行展示。
3. 系统框架设计本系统的整体框架如下:1. 主菜单显示2. 根据用户的选择,进入对应的功能模块四、系统流程图下图展示了通讯录管理系统的整体流程:主菜单 -> 用户选择功能模块 -> 执行对应模块功能五、代码实现以下为通讯录管理系统的部分核心代码实现,完整代码可参考附录部分。
c语言课程设计通讯录管理系统课程设计报告

c语言课程设计通讯录管理系统课程设计报告一、教学目标本课程旨在通过学习C语言通讯录管理系统的设计与实现,让学生掌握C语言编程的基本技能,培养其软件开发的基本思路与方法。
具体目标如下:1.知识目标:–理解C语言的基本数据类型、运算符、控制结构。
–学习C语言函数的定义与调用。
–掌握结构体、文件操作等高级C语言特性。
2.技能目标:–能够运用C语言实现简单的数据结构,如链表、数组。
–培养学生使用C语言进行程序设计的能力,能够独立完成程序编写、调试与优化。
–学会使用C语言实现文件操作,包括文件的读取与写入。
3.情感态度价值观目标:–培养学生对计算机科学的兴趣,增强其自主学习的动力。
–通过项目实践,培养学生的团队协作能力和解决问题的能力。
–引导学生理解技术对生活的影响,培养其对技术发展的责任感。
二、教学内容教学内容选取C语言编程的核心知识点,结合通讯录管理系统的实例进行讲解。
具体内容包括:1.C语言基础:数据类型、变量、运算符、控制结构。
2.函数:函数定义、调用、参数传递、返回值。
3.数据结构:数组、链表、栈和队列。
4.文件操作:文件读写、文件指针。
5.通讯录管理系统实现:结构体定义、系统功能实现、项目管理。
三、教学方法结合C语言特点和通讯录管理系统实例,采用以下教学方法:1.讲授法:系统讲解C语言基础知识和通讯录管理系统的设计理念。
2.案例分析法:通过分析典型代码案例,让学生理解程序设计逻辑。
3.实验法:学生在实验室进行编程实践,巩固理论知识。
4.讨论法:分组讨论问题,培养学生的团队协作和沟通能力。
四、教学资源1.教材:《C程序设计语言》(K&R)、《C Primer Plus》。
2.参考书:《C语言编程思想》、《C语言实践》。
3.多媒体资料:教学PPT、在线编程教程、视频讲解。
4.实验设备:计算机、网络环境、编程环境(如Code::Blocks、VisualStudio)。
五、教学评估本课程的教学评估将综合考虑学生的平时表现、作业、考试等方面,以全面、客观、公正地评价学生的学习成果。
通讯录管理系统c语言课程设计报告

通讯录管理系统c语言课程设计报告通讯录管理系统C语言课程设计报告1. 项目概述•本项目是一个通讯录管理系统,旨在提供用户管理通讯录的功能。
•使用C语言开发,具有良好的跨平台兼容性。
•主要功能包括添加联系人、查找联系人、编辑联系人、删除联系人等。
2. 项目背景•通讯录是现代社会必不可少的工具,用于管理个人和组织的联系人信息。
•传统的纸质通讯录已不能满足日益增长的信息管理需求。
•本项目旨在开发一款方便、高效的电子通讯录管理系统,满足人们对联系人信息管理的需求。
3. 技术实现•采用C语言作为开发语言,具有良好的跨平台兼容性和高效的执行速度。
•主要采用文件存储方式,将联系人信息保存在本地文件中。
•使用结构体来表示联系人信息,方便管理和操作。
4. 功能模块添加联系人•用户可以通过输入姓名、电话号码、电子邮件等信息,添加新的联系人。
•程序将自动生成一个唯一的联系人ID,并将联系人信息保存到文件中。
查找联系人•用户可以通过姓名、电话号码等条件进行查找联系人。
•程序将根据用户输入的条件,在通讯录中查找符合条件的联系人,并将结果返回给用户。
编辑联系人•用户可以选择要编辑的联系人,并进行修改联系人信息的操作。
•程序将根据用户输入的联系人ID,找到对应的联系人并允许用户修改其信息。
删除联系人•用户可以选择要删除的联系人,并进行删除操作。
•程序将根据用户输入的联系人ID,找到对应的联系人并从通讯录中删除。
5. 实施计划需求分析•确定系统所需的功能模块和用户需求,并进行详细的功能需求分析。
概要设计•设计系统的整体结构,包括模块划分、数据结构设计等。
详细设计•对每个模块进行具体的设计,包括函数接口定义、算法流程图等。
编码实现•根据详细设计的结果,使用C语言进行编码实现。
调试测试•对编码实现的程序进行测试和调试,修复可能出现的问题。
文档撰写•撰写项目的相关文档,包括使用说明、技术文档等。
6. 总结与展望•本项目成功开发了一个通讯录管理系统,具有简洁、高效的特点。
通讯录管理系统课程设计报告书(C语言)

学生通讯录管理系统任务说明:主要利用c语言的文件操作能力设计开发一个小型的通讯录管理系统,至少具有如下功能:①记录通讯录内的人员的学号、姓名、学院、电话号码。
②显示所有人员的信息。
③通过输入姓名查找人员信息。
④通过输入姓名查找到要删除的人员信息,然后可以进行删除。
⑤通过输入姓名查找到要修改的人员信息,然后可以进行修改。
⑥添加人员信息。
系统功能描述:本程序的功能是为用户提供简单的通讯录进行管理,通过该程序存储联系人信息,提供关键字(只能是英文关键字进行查找)查找功能,可以对数据进行修改、删除、添加等操作。
各按钮的功能如下:查找记录:以姓名为关键字,查找并显示该记录。
若查找不到,则显示“好象没有”;添加记录:将当前记录按姓名序加入通讯录,然后显示第一条记录;修改记录:修改当前记录,显示当前记录。
姓名为关键字,不允许修改;删除记录:删除当前记录,然后显示第一条记录;第一条记录:将当前记录指针移动至首节点,若已为首节点,则不移动;前一条记录:将当前记录指针向前移动一个节点,若已为首节点,则不移动;后一条记录:将当前记录指针向后移动一个节点,若已为尾节点,则不移动;最后一条记录:将当前记录指针移动至尾节点,若已为尾节点,则不移动;加载:从文件中掉入已保存的通讯录数据;保存:保存通讯录数据;退出:退出系统;设计思路:根据要求,电话录数据以文本文件存放在文件中,故需要提供文件的输入、输出等操作;还需要保存记录以进行修改,删除,查找等操作;另外还应提供键盘式选择菜单实现功能选择。
软件中使用的结构体和结构体数组,如:structcallmember{charname[20];charaddress[20];charcode[20];charcallnumber[ 20];};对用户的信息进行保存,他们都以二进制的形式读写。
其中:charname[20];charaddress[20];charcode[20];charcallnumber[20]通过对这些资源的合理利用使系统初步实现了通讯录管理系统的基本功能。
c通讯录课程设计报告

c通讯录课程设计报告一、课程目标本通讯录课程设计旨在通过实践活动,使学生在信息技术学科的基础上,掌握以下知识目标、技能目标和情感态度价值观目标:1. 知识目标:- 了解通讯录的基本概念、功能及在实际生活中的应用。
- 掌握通讯录的录入、修改、删除、查询等基本操作。
- 了解如何对通讯录进行分类、排序和筛选,以便快速查找和整理信息。
2. 技能目标:- 学会使用电子表格软件(如Microsoft Excel)创建、编辑和管理通讯录。
- 能够运用所学知识,设计并优化个人或团队的通讯录,提高信息处理效率。
- 培养学生的团队协作能力,通过小组讨论和分享,提高问题解决和沟通表达能力。
3. 情感态度价值观目标:- 培养学生珍惜个人信息,尊重他人隐私的观念。
- 增强学生的信息素养,认识到信息技术在生活中的重要性,激发对信息技术的学习兴趣。
- 通过对通讯录的学习和实际操作,培养学生的责任心和细致严谨的工作态度。
课程性质:本课程为实践性较强的信息技术课程,结合学生年级特点和教学要求,注重培养学生的动手操作能力和团队协作能力。
学生特点:考虑到学生所在年级,他们在信息技术方面已具备一定的基础,对新鲜事物充满好奇心,善于合作学习。
教学要求:结合课程目标和学科特点,教师应注重实践操作,引导学生主动探索、积极思考,将所学知识应用于实际生活中,达到学以致用的目的。
在教学过程中,教师需关注学生的学习进度,及时调整教学策略,确保课程目标的实现。
通过本课程的学习,使学生能够熟练掌握通讯录的制作和管理,提高个人信息素养。
二、教学内容根据课程目标,本章节教学内容围绕通讯录的制作和管理展开,确保内容的科学性和系统性。
以下是详细的教学大纲及教材关联内容:1. 通讯录概述- 介绍通讯录的定义、功能及应用场景。
- 教材章节:第一章 信息技术与日常生活。
2. 通讯录的基本操作- 学习通讯录的录入、修改、删除、查询等操作。
- 教材章节:第二章 电子表格软件的基本操作。
c语言通讯录管理系统课程设计

c语言通讯录管理系统课程设计一、教学目标本课程旨在让学生掌握C语言编程基础,通过编写通讯录管理系统,培养学生的实际编程能力和问题解决能力。
具体目标如下:1.知识目标:学生能理解C语言的基本语法、数据类型、运算符、控制结构等,并掌握结构体、文件操作等高级概念。
2.技能目标:学生能运用C语言实现功能齐全的通讯录管理系统,包括但不限于添加、删除、查找、修改联系人信息等功能。
3.情感态度价值观目标:通过课程学习,学生能培养编程思维,增强对计算机科学的兴趣,理解技术对现代社会的重要性。
二、教学内容教学内容围绕C语言通讯录管理系统的设计与实现展开,具体包括:1.C语言基础知识:数据类型、变量、运算符、控制结构。
2.高级数据结构:结构体、指针、数组。
3.文件操作:文件的打开、读写、关闭。
4.通讯录管理系统设计:需求分析、系统设计、功能实现。
三、教学方法结合C语言的特点和学生实际情况,采用以下教学方法:1.讲授法:系统讲解C语言基础知识和编程技巧。
2.案例分析法:分析已有的通讯录管理系统案例,引导学生理解系统设计过程。
3.实验法:学生在实验室环境里动手编写代码,实践所学知识。
四、教学资源为确保教学质量,准备以下教学资源:1.教材:《C程序设计语言》(K&R)、《C Primer Plus》。
2.参考书:《C语言深度剖析》、《C语言编程实践》。
3.多媒体资料:教学PPT、在线编程教程、视频讲解。
4.实验设备:计算机、网络环境、编程环境(如Code::Blocks、Visual Studio)。
五、教学评估本课程采用多元化的评估方式,全面客观地评价学生的学习成果:1.平时表现:通过课堂参与、提问、小组讨论等评估学生的积极性与专注度。
2.作业:布置编程作业,评估学生的编程能力和对知识的理解应用。
3.实验:评估学生在实验室的编程实践表现,检查代码质量与创新性。
4.期中期末考试:设置包含选择题、填空题、编程题的试卷,全面测试学生的知识掌握和应用能力。
c语言课程设计通讯录管理系统课程设计报告

c语言课程设计通讯录管理系统课程设计报告一、教学目标本课程旨在通过学习C语言,使学生掌握通讯录管理系统的开发过程,培养学生的编程能力和逻辑思维能力。
具体目标如下:1.知识目标:学生能够理解C语言的基本语法和数据结构,掌握函数的定义和调用,了解面向过程的编程思想。
2.技能目标:学生能够使用C语言编写简单的程序,具备解决实际问题的能力,能够独立完成一个通讯录管理系统的开发。
3.情感态度价值观目标:学生通过课程学习,能够培养对编程的兴趣和热情,增强自我学习的动力,提高团队协作的能力。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、函数的定义和调用,以及面向过程的编程思想。
具体安排如下:1.C语言的基本语法:介绍变量、常量、运算符、表达式等基本概念。
2.数据结构:介绍整数、浮点数、字符等数据类型的使用,以及数组、指针等数据结构。
3.函数的定义和调用:介绍函数的声明、定义和调用,以及函数的参数传递和返回值。
4.面向过程的编程思想:介绍程序的执行流程、循环结构、条件判断等编程控制语句。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法,以激发学生的学习兴趣和主动性。
具体方法如下:1.讲授法:通过讲解C语言的基本语法、数据结构、函数的定义和调用等知识,使学生掌握课程的基本概念。
2.案例分析法:通过分析实际案例,让学生了解编程思想,培养学生的实际操作能力。
3.实验法:安排实验室实践环节,让学生动手编写程序,提高学生的实际编程能力。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。
具体资源如下:1.教材:选用权威、实用的C语言教材,为学生提供系统的学习资料。
2.参考书:推荐学生阅读一些优秀的编程书籍,丰富学生的知识储备。
3.多媒体资料:制作课件、视频等多媒体资料,提高课堂的教学效果。
4.实验设备:提供充足的计算机设备,确保学生能够进行实验和实践。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分,以全面客观地评价学生的学习成果。
C语言程序设计报告——通讯录管理系统

C语言程序设计报告一.课题通讯录管理系统二.设计方案简介为了帮助广大人群解决笔记通讯录所带来的诸多不便,本人利用所学的专业知识,设计了一个简单,便利的系统供大家在线存储众多联系人信息。
这样做一来可以将自己的知识生活化,运用自己所学为他人做点事,二来,在完成这项任务的过程中,通过克服一道又一道难题,我巩固了自己的知识,发现了自己的不足,进而提升了自己的能力。
该方案从整体出发,化整为零。
各个功能都是通过独立函数实现。
其中设计了信息录入,信息查询,信息修改,信息删除,信息保存,信息显示等功能。
方案的结构一目了然,便于用户操作。
经过在Microsoft Visual C++ 6.0中多次测试,结果均与预期相符。
加上该程序要求的平台不是很高,一般用户均可方便使用。
三.算法与数据结构<一>运用的数据类型有:int, char, file,.<二>主要功能模块的算法设计思路如下:1、添加信息函数(void Add(Link l))(1)定义指向结构体变量的指针;(2)移动指针,找到插入结点;(3)在要插入的结点输入信息;(4)调用保存函数,打开文件,保存输入信息。
2、修改信息函数(void Modify(Link l))(1)定义指向结构体变量的指针;(2)用指针检验链表中是否有记录,若没记录,返回主函数;(3)根据要修改的编号查找对应结点;(4)修改信息;(5)打开文件,保存修改记录。
3、删除信息函数(void Del(Link l))(1)定义指向结构体变量的指针;(2)用指针检验链表中是否有记录,若没记录,返回主函数;(3)根据要修改的编号查找要删除的结点;(4)修改链表,删除对应结点。
4、显示记录函数(void Disp(Link l))(1)打开文件;(2)用指针检验是否有记录;(3)若无记录,输出提示信息,返回主函数;若有记录,移动指针,依次输出记录;(4)关闭文件。
5、查询通讯录信息(void Find(Link l))(1)选择查询方式(按姓名、编号或地址);(2)输入查询关键字:(3)在链表中寻找相应结点;(4)调用输出函数,输出结点信息。
C语言课程设计报告 通讯录

《C语言课程设计》目录摘要 (3)一、课程设计目的 (4)二、课程设计内容 (4)三、总体设计 (5)四、详细设计 (6)(1)数据结构设计 (6)(2)模块接口设计 (7)(3)流程图 (7)五、调试与测试 (10)(1)调试过程中的主要问题 (10)(2)测试结果的分析与讨论 (10)六. 实习总结 (12)注: 13摘要日益繁多的人际交往使得我们很难搞清楚与每个人之间的联系方式, 特别是对于做经常出差的人来说更是难, 所以通讯录能够便捷的给我们带来所需要的相关信息。
而随着计算机的普及, 人们的生活摆脱了传统式的记事本、电话簿, 越来越多的靠计算机来帮助人们记住这些事情, 极其简便。
这就需要有一个使用的通讯录管理系统, 用户可以方便的通过自己电脑的通讯录管理系统, 来随时查阅自己所需要的信息, 而不必再大费周折去翻开那繁琐的记事本。
通讯录管理系统是一个专门针对储存用户联系方式以及一些简单个人信息的实用管理系统, 它方便了用户对众多客户、朋友、同事等个人信息的储存和快速查阅的功能, 大大减少了查找过程的时间。
一、课程设计目的1、通过课程设计, 加深对结构化设计思想的理解, 能对系统功能进行分析, 并设计合理的模块化结构。
2、通过课程设计, 学会设计数据结构。
其中包括对结构数组、链表和数据结构等知识的运用。
3、通过课程设计, 提高程序开发功能, 能运用合理的控制流程编写清晰高效的程序。
4、通过课程设计, 训练C程序调试能力, 能将一个中小型各级组织系统联调通过。
通过课程设计, 开发一个中小型系统, 掌握系统研发全过程。
通话课程设计, 培养分析问题、解决实际问题的能力。
二、课程设计内容(1)设计一个实用的通讯录管理系统, 能以简便高效的方式对通讯录进行管理和检索, 具体要示:(2)录入:通讯录信息包括:编号, 姓名, 单位, 电话, 地址, QQ, 邮编。
以结构通讯录信息。
(3)更新: 能插入、删除通讯录信息。
c语言通讯录管理系统课程设计报告(一)

c语言通讯录管理系统课程设计报告(一)C语言通讯录管理系统课程设计报告1. 引言在现代社会中,通讯录是人们经常使用的工具之一。
为了方便人们管理各种联系方式,本次课程设计致力于开发一个C语言通讯录管理系统。
本文将围绕该课程设计进行详细介绍和分析。
2. 功能需求为了满足用户对通讯录管理的需求,我们设计了以下功能:•添加联系人:用户可以输入姓名、电话号码、电子邮件等信息,将联系人添加到通讯录中。
•查找联系人:用户可以根据姓名、电话号码等关键字在通讯录中查找特定联系人。
•修改联系人:用户可以对已存在的联系人进行信息修改。
•删除联系人:用户可以将指定的联系人从通讯录中删除。
•显示所有联系人:用户可以查看通讯录中的所有联系人。
3. 设计思路本次课程设计将借助C语言及其相关库函数来实现通讯录管理系统。
主要采用如下设计思路:•采用结构体存储联系人信息:通过定义一个结构体来存储每个联系人的姓名、电话号码、电子邮件等信息。
•使用动态数组管理联系人:通过动态数组来动态管理联系人的数量,以便实现添加、删除等功能。
•借助文件存储联系人信息:通过将联系人信息存储在文件中,实现系统的持久化。
4. 系统设计与实现4.1 数据结构设计为了存储联系人信息,我们定义了如下的结构体:typedef struct {char name[50];char phone[20];char email[50];} Contact;4.2 功能实现为了实现上述功能需求,我们设计了一系列函数来完成相应的操作:•addContact():用于添加新的联系人到通讯录中。
•searchContact():根据给定的关键字在通讯录中查找联系人。
•modifyContact():修改已存在的联系人信息。
•deleteContact():从通讯录中删除指定的联系人。
•displayContacts():显示所有联系人信息。
4.3 文件存储为了实现系统的持久化,我们使用文件来存储联系人信息。
通讯录管理系统课程设计c

通讯录管理系统课程设计c一、课程目标知识目标:1. 理解通讯录管理系统的基本概念,掌握其功能需求与设计原理;2. 掌握C语言编程基础,运用结构体、数组等数据结构进行信息存储;3. 学会使用文件操作对通讯录数据进行读写,实现数据的持久化存储。
技能目标:1. 能够运用所学知识设计并实现一个简单的通讯录管理系统;2. 培养良好的编程习惯,编写结构清晰、可读性强的代码;3. 提高问题分析能力,通过分组讨论、协作解决问题,培养团队协作精神。
情感态度价值观目标:1. 培养学生对计算机编程的兴趣,激发学生自主学习、探索新知的热情;2. 增强学生的自信心,使学生能够在解决问题的过程中体验成功;3. 培养学生尊重他人意见,积极参与讨论,具有良好的沟通与表达能力。
分析课程性质、学生特点和教学要求,本课程旨在通过设计一个通讯录管理系统,使学生在实践中掌握C语言编程技能,培养良好的编程习惯和团队协作精神。
课程目标具体、可衡量,便于学生和教师在教学过程中明确预期成果,为后续的教学设计和评估提供依据。
二、教学内容1. 理论知识:- 通讯录管理系统概述:介绍通讯录管理系统的发展、应用场景及功能需求;- C语言基础知识回顾:数据类型、运算符、控制语句、函数等;- 数据结构:结构体、数组、链表等在通讯录管理系统中的应用。
2. 实践操作:- 设计通讯录管理系统:分析系统功能,设计系统架构,编写C语言代码;- 文件操作:学习文件读写操作,实现通讯录数据的持久化存储;- 程序调试与优化:分析程序运行过程中可能出现的错误,学会使用调试工具,提高程序质量。
3. 教学大纲:- 第一周:通讯录管理系统概述,C语言基础知识回顾;- 第二周:数据结构在通讯录管理系统中的应用,设计系统架构;- 第三周:编写代码实现通讯录管理系统功能,文件操作;- 第四周:程序调试与优化,课程总结。
教学内容依据课程目标,结合教材章节,保证科学性和系统性。
教学大纲明确教学内容的安排和进度,有助于教师组织教学活动,指导学生按计划完成学习任务。
c通讯录课程设计报告

c通讯录课程设计报告一、教学目标本课程的目标是让学生掌握通讯录的基本概念、设计和实现方法。
通过本课程的学习,学生应能理解通讯录的结构和功能,掌握通讯录的编写和使用方法,培养学生的实际动手能力和解决问题的能力。
具体目标如下:1.知识目标:学生能够理解通讯录的基本概念,掌握通讯录的设计和实现方法。
2.技能目标:学生能够编写和使用通讯录,解决实际问题。
3.情感态度价值观目标:学生通过学习通讯录,培养对信息技术的兴趣和热情,增强信息处理的实际能力。
二、教学内容本课程的教学内容主要包括通讯录的基本概念、设计和实现方法。
具体安排如下:1.第一章:通讯录的基本概念,介绍通讯录的定义、功能和分类。
2.第二章:通讯录的设计,介绍通讯录的设计原则、方法和步骤。
3.第三章:通讯录的实现,介绍通讯录的编程语言、技术和工具。
4.第四章:通讯录的应用,介绍通讯录在日常生活和工作中的应用场景。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等。
具体方法如下:1.讲授法:通过讲解通讯录的基本概念、设计和实现方法,使学生掌握相关知识。
2.讨论法:学生就通讯录的应用场景和实际问题进行讨论,培养学生的思考和表达能力。
3.案例分析法:分析实际案例,使学生了解通讯录在日常生活和工作中的应用,提高学生的实际操作能力。
4.实验法:安排实验课,让学生动手编写和使用通讯录,培养学生的实际动手能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:选用权威、实用的通讯录教材,为学生提供系统、全面的知识体系。
2.参考书:推荐学生阅读相关参考书,拓展知识面,提高学生的自学能力。
3.多媒体资料:制作课件、视频等多媒体资料,直观展示通讯录的设计和实现过程。
4.实验设备:准备计算机、编程环境等实验设备,确保学生能够顺利进行实验操作。
五、教学评估本课程的评估方式包括平时表现、作业和考试等,旨在全面、客观、公正地反映学生的学习成果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二〇〇八~ 二〇〇九学年第二学期信息科学与工程学院课程设计报告书课程名称: C语言课程设计班级:学号:姓名:指导老师:月九年二〇〇九通讯录管理系统一.需求分析设计题目及要求:◆建立通讯录信息,信息至少包含编号、姓名、年龄、电话、通讯地址、电子邮箱等;◆能够提供添加、删除和修改通讯录信息的功能;◆能够提供安不同方式查询的功能;如按姓名或年龄、电话等查询;◆将通讯录保存在文件中;◆能够按表格方式输出通讯录信息。
系统功能需求分析:主要包含一下多种功能:添加:添加通讯录记录显示:显示通讯录记录删除:删除通讯录记录查询:查询通讯录记录修改:修改通讯录记录保存:将信息保存到文件二.概要设计系统功能模块图:添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱后,会提示是否继续添加。
.显示:可以以表格形式输出所有通讯录里的记录删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容查询:可以选择用姓名、电话、地址三种方式查询修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱即可完成修改保存:,输入文件名(带后缀名)后,即可将通讯录信息保存到文件三.详细设计(1).通讯录:typedef struct{char score; /*编号*/char name[10]; /*姓名*/char num[15]; /*号码*/char email[20]; /*邮箱*/char age[8]; /*年龄*/char adds[20]; /*住址*/}Person;void main() /*主函数*/{int n=0;for(;;){switch(menu_select()){case 1:/*添加记录*/ 添加记录到通讯录printf(\ \t\n);n=Input(pe,n);break;case 2:通讯录记录表printf(\\t\t\t \n); */ 显示记录/*Display(pe,n);break;case 3:\n); 从通讯录中删除记录printf(\\tn=Delete_a_record(pe,n); /*删除记录*/printf(\);system(pause);break;case 4:在通讯录中查找记录\n); printf(\\t /*查找记录*/ Query_a_record(pe,n);printf(\);system(pause);break;case 5:\n); printf(\\t 修改通讯录中的记录/*修改数据*/ Change(pe,n); printf(\);system(pause);break;case 6:printf(\\t保存功能\n);/* 保存数据*/ WritetoText(pe,n);printf(\);system(pause);break;case 0:*/ !\n); printf(\\t\t 谢谢使用,再见结束程序/*printf(\\t\t);system(pause);exit(0);}}}(2).工作流程图:①添加:添加通讯录记录.②显示:显示通讯录记录③删除:删除通讯录记录④查询:查询通讯录记录先选择查询方式,以姓名查询方式为例⑤修改:修改通讯录记录四.源程序代码#include<stdio.h>#include<stdlib.h>#include<string.h>typedef struct{char score; /*编号*/ char name[10]; /*姓名*/ char num[15]; /*号码*/ char email[20]; /*邮箱*/char age[8]; /*年龄*/char adds[20]; /*住址*/Person pe[80];int menu_select(){char c;do{system(cls);printf(\\t *****通讯录***** \n); printf(\\t┌───────┐\n); printf(\\t│1. 添加记录│\n); printf(\\t│2. 显示记录│\n); printf(\\t│3. 删除记录│\n); printf(\\t│4. 查询记录│\n); printf(\\t│5. 修改记录│\n); printf(\\t│6. 保存记录│\n); printf(\\t│0. 退出程序│\n); printf(\\t└───────┘\n); printf(\\t请您选择(0-6):);c=getchar();}while(c<'0'||c>'6');return(c-'0');}int Input(Person per[],int n){int i=0;char sign,x[10];while(sign!='n'&&sign!='N'){printf(\编号:);scanf(\%d,&per[n+i].score); printf(\姓名:);scanf(\%s,per[n+i].name);printf(\年龄:);scanf(\%s,per[n+i].age);printf(\电话号码:);scanf(\%s,per[n+i].num);printf(\通讯住址:);scanf(\%s,per[n+i].adds);printf(\电子邮箱:);scanf(\%s,per[n+i].email);gets(x);\t是否继续添加?(Y/N));scanf(\%c,&sign);i++;}return(n+i);}void Display(Person per[],int n){int i;printf(----------------------------------------------------------------------\n);/*格式*/牰湩晴尨编号姓名年龄电话号码通讯地址电子邮箱\n);printf(----------------------------------------------------------------------\n);for(i=1;i<n+1;i++){printf(%-5d%-8s%-6s%-13s%-15s%-15s\n,per[i-1].score,per[i-1].name,per[i-1].age,per[i-1].num,per[i-1].adds,per[i-1].email);if(i>1&&i_x0010_==0){printf(\-----------------------------------\n);printf(\);system(pause);printf(\-----------------------------------\n);}}printf(----------------------------------------------------------------------\n);system(pause);}int Delete_a_record(Person per[],int n){char s[20];int i=0,j;printf(\请输入想删除记录中的名字:);scanf(%s,s);while(strcmp(per[i].name,s)!=0&&i<n) i++;if(i==n){printf(\通讯录中没有此人!\n);return(n);}for(j=i;j<n-1;j++){strcpy(per[j].num,per[j+1].num);strcpy(per[j].name,per[j+1].name);strcpy(per[j].age,per[j+1].age);strcpy(per[j].adds,per[j+1].adds);strcpy(per[j].email,per[j+1].email);per[j].score=per[j+1].score;}printf(\\t\t已经成功删除!\n);return(n-1);}void Query_a_record(Person per[],int n){int m;printf(\\n请选择查询方式:\n);printf(\┌──────┐\n);printf(\│1------姓名│\n);printf(\│2------电话│\n);printf(\│3------地址│\n);printf(\│4------返回│\n);printf(\└──────┘\n);牰湩晴尨请选择:);scanf(%d,&m);while(m!=1&&m!=2&&m!=3&&m!=4){牰湩晴尨输入错误,请重新选择:); scanf(%d,&m);}if(m==1){char s[20];int i=0;printf(\请输入想查询的姓名:);scanf(\%s,s);while(strcmp(per[i].name,s)!=0&&i<n) i++; if(i==n){printf(\通讯录中没有此人!\n);return;}: %d\n,per[i].score); 此人编号printf(\printf(\此人年龄: %s\n,per[i].age);printf(\电话号码: %s\n,per[i].num);printf(\通讯地址: %s\n,per[i].adds);printf(\电子邮箱: %s\n,per[i].email);} ;if(m==2){char s[20];int i=0;printf(\请输入想查询的电话:);scanf(\%s,s);while(strcmp(per[i].num,s)!=0&&i<n) i++;if(i==n){printf(\通讯录中没有此人!\n);return;}printf(\此人编号: %d\n,per[i].score);printf(\此人姓名: %s\n,per[i].name);printf(\此人年龄: %s\n,per[i].age);printf(\通讯地址: %s\n,per[i].adds);printf(\电子邮箱: %s\n,per[i].email);} ;if(m==3){char s[20];int i=0;printf(\请输入想查询的地址:);scanf(\%s,s);while(strcmp(per[i].adds,s)!=0&&i<n) i++;if(i==n){printf(\通讯录中没有此人!\n);return;}printf(\此人编号: %d\n,per[i].score);printf(\此人姓名: %s\n,per[i].name);printf(\此人年龄: %s\n,per[i].age);printf(\电话号码: %s\n,per[i].num);printf(\电子邮箱: %s\n,per[i].email);} ;}void Change(Person per[],int n){char s[20];int i=0;printf(\请输入想修改的记录中的名字:);scanf(%s,s);while(strcmp(per[i].name,s)!=0&&i<n) i++;if(i==n){printf(\通讯录中没有此人!\n);return;}printf(\编号:);scanf(\%d,&per[i].score);printf(\姓名:);scanf(\%s,per[i].name);printf(\年龄:);scanf(\%s,per[i].age);printf(\电话号码:);scanf(\%s,per[i].num);printf(\通讯住址:);scanf(\%s,per[i].adds);printf(\电子邮箱:);scanf(\%s,per[i].email);printf(\修改成功!);}void WritetoText(Person per[],int n){int i=0;定义文件指针*/ /* FILE *fp;/*定义文件名*/ char filename[20];输入文件名/**/ \n); printf(\保存到文件printf(\请输入所保存的文件名:);scanf(\%s,filename);if((fp=fopen(filename,w))==NULL){无法打开文件printf(\\n);system(pause);return;}fprintf(fp,******************************************通讯录******************************************\n);灦楲瑮?灦尬编号姓名年龄电话号码通讯地址电子邮箱\n);fprintf(fp,------------------------------------------------------------------------------------------\n);while(i<n){fprintf(fp,%-3d\t%-6s\t%-3s\t%-13s\t%-20s\t%-20s\n,per[i].score,per[i].name,per[i].age,per[i].num,per [i].adds,per[i].email);i++;}fprintf(fp,------------------------------------------------------------------------------------------\n);fprintf(fp,***************************************共有%d条记录****************************************\n,n);fclose(fp); /*关闭文件*/牰湩晴尨保存成功!\n);}void main() /*主函数*/{int n=0;for(;;){switch(menu_select()){case 1:printf(\\t添加记录到通讯录\n); /*添加记录*/n=Input(pe,n);break;case 2:\t\t\t 通讯录记录表\n); /*显示记录*/ Display(pe,n);break;case 3:printf(\\t从通讯录中删除记录\n);n=Delete_a_record(pe,n); /*删除记录*/printf(\);system(pause);break;case 4:printf(\\t在通讯录中查找记录\n);Query_a_record(pe,n); /*查找记录*/printf(\);system(pause);break;case 5:printf(\\t修改通讯录中的记录\n);/*修改数据*/ Change(pe,n);printf(\);system(pause);break;case 6:\n); printf(\\t保存功能/*保存数据WritetoText(pe,n); */printf(\);system(pause);break;case 0:*/ 结束程序/* 谢谢使用,再见printf(\ \t\t!\n);printf(\\t\t);system(pause);exit(0);}}五.测试数据及其结果分析测试:1.显示的主菜单界面)2).添加界面:3).显示界面:4).删除界面:删除后,通讯录里的显示记录:5).查询界面:以姓名查询方式为例:6).修改界面:修改后,通讯录里的显示记录:7).保存界面:tongxunlu.txt文件截图:问题思考:1.当我在进行删除、查询、修改、保存等功能时,以查询为例,输入名字按回车后,虽然会显示该人的所有记录,但是显示后,它马上自动消失了,还没来得及等我看内容。