C语言通讯录系统课程设计报告
通讯录管理系统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语言课程设计报告
目录一、需求分析 (2)二、概要设计 (2)三、详细设计 (4)四、调试分析 (6)五、用户手册 (7)六、测试数据 (7)七、附录 (15)一、需求分析1 课程设计目的设计一个实用的小型通讯录程序,具有添加,查询和删除功能。
由姓名,籍贯,电话号码1,电话号码2,电子邮箱组成,姓名可以由字符和数字混合编码。
电话号码可由字符和数字组成。
2 课程设计任务(1)系统以菜单方式工作(2)信息录入功能(3)信息浏览功能(4)信息查询功能(5)信息修改功能(6)系统退出功能3 设计环境(1)WINDOWS 2000/2003/XP/7系统(2)Visual C++或TC集成开发环境4 开发语言C语言二、概要设计⒈选项菜单printf("******************MENU******************\n\n");printf(" 0. Enter record\n");/*输入记录*printf(" 1. List the file\n");/*显示记录*/printf(" 2. Search recond on name\n");/*按姓名查找记录*/printf(" 3. Delete a record\n");/*删除记录*/printf(" 4. Add record \n");/*添加记录*/printf(" 5. Change record \n");/*修改联系人*/printf(" 6. Save the file \n");/*记录保存为文件*/printf(" 7. Load the file \n");/*从文件中读记录*/printf(" 8. Sort to make new file\n");/*按姓名排序*/printf(" 9. Quit\n");/*退出*/printf("****************************************\n");2.系统流程图系统流程图3. 本程序模块结构(1)结构体模块定义结构体类型typedef struct ADDRESS联系人信息(包括:姓名住址电话号码1 电话号码2 电子邮箱),定义一个结构体数组adr[M],用来存放联系人的信息,在c盘建一record.txt用储存联系人的信息。
c语言通讯录管理系统课程设计报告
c语言通讯录管理系统课程设计报告报告标题:C语言通讯录管理系统课程设计报告1. 引言本报告旨在介绍并分析本次课程设计所涉及到的C语言通讯录管理系统的设计与实现过程。
2. 设计目标•开发一个功能完善的通讯录管理系统•实现基本的通讯录管理功能,包括添加、删除、查询、修改联系人信息等•提供良好的用户交互界面,方便用户使用该系统•提高系统的效率和稳定性,确保数据的安全性3. 系统设计概述本通讯录管理系统基于C语言开发,主要包括以下几个模块: - 用户管理模块:实现用户注册、登录、退出等功能 - 联系人管理模块:实现联系人的增删改查等功能 - 数据存储模块:使用文件系统进行数据的读写操作数据结构设计本系统使用了以下数据结构: - 用户结构体:包含用户名、密码等信息 - 联系人结构体:包含姓名、电话号码、地址等信息功能模块设计•用户管理模块:提供用户注册、登录、退出等功能•联系人管理模块:提供联系人的添加、删除、查询、修改等功能•数据存储模块:实现数据的读取与保存功能4. 实现细节用户管理模块•注册功能:获取用户输入的用户名和密码,存储到用户数据文件中•登录功能:根据用户输入的用户名和密码,从用户数据文件中验证登录信息•退出功能:退出当前用户,返回系统主界面联系人管理模块•添加联系人功能:获取用户输入的联系人信息,存储到联系人数据文件中•删除联系人功能:根据用户输入的联系人姓名,从联系人数据文件中删除对应的联系人信息•查询联系人功能:根据用户输入的关键词,从联系人数据文件中查找匹配的联系人信息•修改联系人功能:根据用户输入的联系人姓名,从联系人数据文件中修改对应的联系人信息数据存储模块•读取数据功能:从文件中读取用户和联系人的数据•保存数据功能:将用户和联系人的数据保存到文件中5. 测试与优化本系统在开发过程中进行了多次测试和优化,确保系统的稳定性和功能完善性。
通过模拟用户的操作,检测系统的响应速度、功能是否正常等,并对系统进行了性能调优和bug修复。
C语言课程设计通讯录实验报告
C语言课程设计通讯录实验报告实验目的:本实验旨在通过设计一个通讯录程序,加深理解和掌握结构体、函数和文件操作等C语言知识,并培养学生的实践能力和解决问题的能力。
实验要求:设计一个通讯录程序,能够实现添加联系人、删除联系人、查找联系人、修改联系人信息等基本功能,并能够将联系人信息保存到文件中,实现数据的持久化存储。
实验原理:通讯录程序的数据结构可以设计为一个结构体数组,每个元素表示一个联系人,结构体包含姓名、电话号码、地址等信息。
通过使用不同的函数实现不同的功能,如添加联系人函数addContact()、删除联系人函数deleteContact()、查找联系人函数searchContact()等。
实验步骤:1. 定义一个结构体类型,包含姓名、电话号码和地址等信息。
2. 声明并实现各个功能函数,如添加联系人函数addContact()、删除联系人函数deleteContact()、查找联系人函数searchContact()等。
3. 在主函数中使用循环菜单来实现用户的各种操作选择。
4. 将联系人信息保存到文件中,实现数据的持久化存储。
5. 编译并运行程序,验证程序的正确性和功能完整性。
实验结果:通过实验,成功设计并实现了一个通讯录程序,能够实现添加联系人、删除联系人、查找联系人、修改联系人信息等基本功能,并能够将联系人信息保存到文件中,实现数据的持久化存储。
实验总结:本实验通过设计一个通讯录程序,加深了对结构体、函数和文件操作等C语言知识的理解和掌握,同时也培养了解决问题的能力和实践能力。
通过实验,我进一步理解了结构体的定义和使用、函数的声明和调用、文件的打开和关闭等操作。
在实验过程中,我也遇到了一些问题,如如何优化查找联系人的算法、如何处理文件打开失败的情况等,通过思考和调试逐步解决了这些问题。
实验过程中的问题和解决方法不仅加深了对C 语言的理解,也提高了解决问题的能力。
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语言课程设计报告---通讯录管理系统
一、实习题目通讯录管理系统二、需求分析问题描述:本程序属于非数值计算型算法设计,学生需要设计出图书馆模拟系统所需要的基本功能,并设计简单的界面(无需图形化)。
实现功能:1、通过提示菜单选择可以进行的操作2、将图书的信息存入文件中,并命名为BookInfo.txt3、将图书借阅情况信息存入文件中,并命名为SendInfo.txt4、在本系统中可以进行管理系统包含的基本操作,其中包括:a)查看所有图书的信息;b)输入一本图书的图书编号,从当前图书中进行查找,如果找到则显示该图书的相关信息,如果没有找到则给出提示信息;c)添加一本图书的基本信息,通过输入图书编号,首先查找是否存在该图书编号的图书,如果存在则提示重新输入,否则将该图书按照顺序插入到相应位置;d)删除一本图书的基本信息,通过输入图书编号,首先查找是否存在该图书编号的图书,如果存在则将该图书删除,否则给出提示信息,提示该图书不存在;e)借阅一本图书,需要给出学号和图书编号,如果图书编号不存在则重新输入,直到输入正确为止,并将学号和相应的图书编号存入SendInfo.txt文件中。
5、图书基本信息包括图书编号、书名、作者、出版社和价钱这些简单信息。
6、图书信息文件中每一行存放一本图书的信息。
7、借阅信息文件中每一行存放一本书的借阅情况。
知识点:本程序主要考察对自定义函数的熟悉程度,本程序中主要使用到的是数组的相关操作,包括数组的输入、输出、查找、插入、删除等操作,需要对数组有比较深入的掌握。
说明:(1)当程序执行的时候所读取的图书信息文件必须存在,否则可能会出现错误。
(2)图书信息文件中存放图书信息的时候是按照行来存放的,即一行一本书。
(3)借阅信息文件中存放学生借阅情况是按照行来存放的,即一行存放一个学号和一个图书编号。
(4)程序执行的基本过程为:a)在所有操作之前,也就是加载操作菜单之前,先从文件中读取所有图书的信息,并存入一个数组中,此时数组可以定义为包含100个元素;b)然后根据菜单所进行的所有操作都是对当前数组进行操作,此时也就是对数组的查找、定位、添加、修改、删除操作;c)当退出系统的时候再将当前数组中的所有元素按照一本图书一行的方式写回图书信息文件中,此时注意选择覆盖方式,这样就可以将原来的所有数据覆盖,只保留最新的数据;当按行读取图书信息文件的时候,有可能最后一行只有一个回车,这时候实际上所读取的数据为空字符串,需要对此作判断,如果是空字符串,则说明已经没有人员,就必须将当前读入的空字符串写入数组中。
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语言通讯录系统课程设计报告
通讯录系统的设计与实现桂林电子科技大学电信三班傅得耕3.1系统的需求分析通讯录系统作为一个应用软件将为人民提供一个可以串联人与人之间的信息的一个平台。
根据系统界面的提示信息对通讯录进行查询、初始化等操作。
系统功能需求分析描述如下:(1)创建联系人。
(2)显示所有联系人:显示可以进行的操作。
(3)删除联系人。
(4)查询:根据姓名进行查询,并可显示所有关于该人的信息。
(5) :退出。
3.2系统的设计3.2.1 系统的总体设计下面从系统的整体流程的功能模块、系统界面及数据结构进行总体设计。
(1)总体思想本系统主要设计思想是实现通讯录系统信息的创建联系人、删除、查找等主要功能。
系统的设计方法是结构化实际方法,系统用C语言进行开发用户可以清晰的了解联系人的情况。
(2)系统模块结构图根据需求分析结果,通讯录系统可以分为五大模块:创建联系人模块、显示功能模块、查找联系人功能模块、删除联系人模块以及退出模块。
系统模块结构如图:3.2.2 系统的概要设计㈠系统主菜单。
显示系统的主菜单,里面有相应的功能代码,根据选择各功能代码进入不同的界面。
功能主要包括:退出系统、查询、创建显示及删除。
㈡查询人物信息进入此菜单功能模块,输入您要查询的图书的名字。
图书查询模块流程如图:3.3 测试结果系统主界面创建显示系统查询系统删除系统3.4 源代码#include <stdio.h>#include <malloc.h>#include <string.h>#define LEN sizeof(struct people) struct people{char name[10];char address[50];char postcode[7];char phonenum[12];struct people * next;};int n = 0, c;static struct people * head;void insert();void show();void delete(char *);void query(char *);int main(int argc, char const *argv[]) {struct people * peo;char nam[10];int i, choose = 0;for (i = 0; i < 60; ++i){printf("*");}printf("\n\t\t\t\t通讯录\n");printf("\t\t\t1.创建联系人\n");printf("\t\t\t2.显示所有联系人\n");printf("\t\t\t3.删除联系人\n");printf("\t\t\t4.查找联系人\n");printf("\t\t\t5.退出\n\n");for (i = 0; i < 60; ++i){printf("*");}do{printf("\t\t\t请选择功能(1~5):\n");printf("\n");scanf("%d", &choose);switch (choose){case 1:insert();break;case 2:show();break;case 3:printf("\n请输入要删除联系人的姓名:");scanf("%s", nam);delete(nam);break;case 4:printf("\n请输入要查询联系人的姓名:");scanf("%s", nam);query(nam);break;case 5:exit(0);break;}} while (1);return 0;}void insert(){struct people * p1, *p2;p1 = (struct people *)malloc(LEN);if (n == 0){printf("姓名:");scanf("%s", &p1->name);printf("地址:");scanf("%s", &p1->address);printf("邮编:");scanf("%s", &p1->postcode);printf("电话:");scanf("%s", &p1->phonenum);head = p1;p1->next = NULL;}else {p1 = head;while (p1->next != NULL){p1 = p1->next;}p2 = p1;p1 = (struct people *)malloc(LEN);printf("姓名:");scanf("%s", &p1->name);printf("地址:");scanf("%s", &p1->address);printf("邮编:");scanf("%s", &p1->postcode);printf("电话:");scanf("%s", &p1->phonenum);p2->next = p1;p1->next = NULL;}n += 1;}void show(){struct people * p;printf("姓名\t 地址\t 邮政编码\t 电话号码\n");p = head;if (head != NULL){do{printf("%s \t %s %s \t %s \n", p->name,p->address, p->postcode, p->phonenum);p = p->next;} while (p != NULL);}}void delete(char * name){struct people * p1, *p2;if (head == NULL){printf("没有数据\n");}p1 = head;while (strcmp(name, p1->name) && p1->next != NULL){p2 = p1;p1 = p1->next;}if (!strcmp(name, p1->name)){if (p1 == head){head = p1->next;}else{p2->next = p1->next;}printf("已经删除%s的数据\n", name);n = n - 1;}else {printf("找不到这个人\n");}。
c语言课程设计报告 通讯录设计
第一章作者简介作者,曹新晴,女,河北石家庄人,现为地球科学学院资源环境与城乡规划管理专业06级在读本科生。
我是女生中比较爱运动的类型,喜欢羽毛球和篮球,喜欢畅快运动后那种洒脱的感觉,可以把所有的烦闷和忧伤统统用自己挥舞的手臂和奔跑的步伐甩掉,然后不再疲惫、精力充沛地迎接可能的挑战或挫折。
运动让我更加自信,更加勇敢。
用朋友的话,是那种有点倔强的自信,是“咬定青山不放松”的坚持吧,让我一路上跌跌撞撞地走到了现在。
所以,我更加珍惜这里的学习机会。
我发挥自己的兴趣,运用自己的毅力,和一些志同道合的战友一起起早奋斗,在去年拿到了国家篮球三级裁判员的证书,这是对我的努力的肯定。
当然,我还会在自己的路上再接再厉,争取获得更大的进步。
有时候,我也会选择跑步来释放,因为大学孤身在外,很多问题都等着你去解决,而多数情况是要独自面对,所以我们要有自己的排解压力的方式。
一张一弛,才会游刃有余,这就是我的处世哲学。
上学期,我在韩涛老师的指导下学习了计算机C语言课程,对利用C程序进行编程的一般思想、方法和格式的规范性有了初步的认识和了解,并通过自己的刻苦学习在试卷上取得了不错的成绩。
希望通过这次课程设计,把所学的知识在实际中得到运用。
第二章报告摘要实习报告中主要介绍了程序编写的过程,整个管理系统的组成,各个功能模块如何发挥作用等,这些都在报告正文中有所体现。
实习报告分了五个部分来写, 即作者简介、报告摘要、报告目录、报告正文和总结。
其中报告目录清晰明了地展示报告的顺序;报告正文是最重要的一个部分,这个部分详细地介绍了这个程序设计的设计思想和方法,包括:题目要求、系统的需求分析、系统的总体设计和系统的详细设计。
第三章报告目录一. 题目要求 (3)二. 需求分析 (3)三. 总体设计 (3)四. 详细设计 (3)1.主函数 (3)2.各功能模块设计 (5)⑴输入模块 (6)⑵添加模块 (6)⑶显示模块 (7)⑷删除模块 (7)⑸查询模块 (8)⑹修改模块 (9)⑺保存模块 (10)一.题目要求设计具有数据插入、修改、删除、显示和查询功能的电话簿管理系统。
c通讯录课程设计报告
c通讯录课程设计报告一、课程目标本通讯录课程设计旨在通过实践活动,使学生在信息技术学科的基础上,掌握以下知识目标、技能目标和情感态度价值观目标:1. 知识目标:- 了解通讯录的基本概念、功能及在实际生活中的应用。
- 掌握通讯录的录入、修改、删除、查询等基本操作。
- 了解如何对通讯录进行分类、排序和筛选,以便快速查找和整理信息。
2. 技能目标:- 学会使用电子表格软件(如Microsoft Excel)创建、编辑和管理通讯录。
- 能够运用所学知识,设计并优化个人或团队的通讯录,提高信息处理效率。
- 培养学生的团队协作能力,通过小组讨论和分享,提高问题解决和沟通表达能力。
3. 情感态度价值观目标:- 培养学生珍惜个人信息,尊重他人隐私的观念。
- 增强学生的信息素养,认识到信息技术在生活中的重要性,激发对信息技术的学习兴趣。
- 通过对通讯录的学习和实际操作,培养学生的责任心和细致严谨的工作态度。
课程性质:本课程为实践性较强的信息技术课程,结合学生年级特点和教学要求,注重培养学生的动手操作能力和团队协作能力。
学生特点:考虑到学生所在年级,他们在信息技术方面已具备一定的基础,对新鲜事物充满好奇心,善于合作学习。
教学要求:结合课程目标和学科特点,教师应注重实践操作,引导学生主动探索、积极思考,将所学知识应用于实际生活中,达到学以致用的目的。
在教学过程中,教师需关注学生的学习进度,及时调整教学策略,确保课程目标的实现。
通过本课程的学习,使学生能够熟练掌握通讯录的制作和管理,提高个人信息素养。
二、教学内容根据课程目标,本章节教学内容围绕通讯录的制作和管理展开,确保内容的科学性和系统性。
以下是详细的教学大纲及教材关联内容:1. 通讯录概述- 介绍通讯录的定义、功能及应用场景。
- 教材章节:第一章 信息技术与日常生活。
2. 通讯录的基本操作- 学习通讯录的录入、修改、删除、查询等操作。
- 教材章节:第二章 电子表格软件的基本操作。
C语言个人通讯录管理系统课程设计报告
语言程序设计》C《课程设计报告_________:__________C设计题目语言个人通讯录管理系统摘要本次课程设计地题目为个人通讯录管理系统,要求将程序中所输入地联系人姓名、电话和地址信息这三个数据以文本方式保存在磁盘中,并且能够对所储存地联系人信息进行显示、查询、修改、删除等功能.我编写地程序从整体上看可分为两个部分,一部分为文件地建立、读取和保存,另一部分为通讯录功能地实现.在文件部分,我通过readfile()函数和writefile()函数从而实现了对磁盘上数据地进行写和读,通过刚开始地界面提示可以知道文件是否建立,以免丢失数据,我还为用户设计了保存退出和不保存退出两大功能供用户做选择.在模块功能实现部分,通过scanf从键盘上输入地数字放到switch() case 循环中来实现调用zengjia()、shanchu()、xiugai()、chazhao()等十五个函数来实现“添加”、“查询和显示”、“修改”、“删除”等不同功能.关键字:文件、数组、循环、函数重庆科技学院课程设计任务书设计题目:个人通讯录管理系统学生姓XXX课程名语言程序设计课程设专业班电自2011I515起止时20111-12建立一通讯录,输入姓名、电话号码、住址等信息,然后对通信簿进行显示查找、添加、修改及删.进一步掌握利语言进行程序设计地能力;进一步理解和运用结构化程序计地思想和方法;初步掌握开发一个小型实用系统地基本方法;学会调试一个较程序地基本方法;学会利用流程图表示算. 根据题目要求,运用所学知识,完成设计和实现工作,并按照书写规范,撰课程设计报.)系统分析、设计正)结果以图表方式显(计3)界面简洁、美观..参)报告格式规范4(数.教研室主任:指导教师:雷亮2015年12月10日目录第一章软件需求分析说明书 (1)1.1设计软件地目地分析 (1)1.2软件地界面要求 (1)1.3详细地功能分析 (1)1.3.1创建文件 (1)1.3.2 添加联系人 (1)1.3.3显示和查询联系人 (1)1.3.4 删除联系人 (1)1.3.5 修改联系人 (1)1.3.6 保存退出与不保存退出 (1)1.4设计要求分析 (1)1.5软件地数据结构分析 (2)1.5.1 软件地函数 (2)1.5.2 文件地调用和保存 (2)第二章系统分析与设计 (2)2.2 软件地数据(结构)设计 (2)2.2.1 软件地文件功能 (2)2.2.2 文件内部地数据格式 (2)2.3 软件地模块图 (2)2.4 软件地流程图 (3)2.4.1 添加联系人程序流程图 (3)2.4.2 显示和查找联系人程序流程图 (4)2.4.3 删除联系人流程图 (4)2.4.4 修改联系人流程图 (5)第三章软件地实现 (6)3.1 函数声明 (7)3.2 zhucaidan()主菜单函数 (7)3.3 main()主函数 (7)3.4 readfile()读取文件函数 (8)3.5 writefile()联系人写入文件函数 (9)3.6 zengjia()增加联系人函数 (9)3.7 shanchu()删除函数主界面 (10)3.8 xianshi()显示和查询函数 (11)3.9 xianshi()显示所有人函数 (11)3.10 chazhao_xingming()姓名查询函数 (12)3.11 chazhao_dianhua()按号码查询函数 (12)3.12 shanchu_dange()删除单个联系人函数 (13)3.13 shanchu_quanbu()删除所有联系人函数 (13)3.14 shanchu_xingming()按姓名删除联系人函数 (14)3.15 shanchu_dianhua()按电话号码删除函数 (15)3.16 xiugai()修改函数主体界面 (16)3.17 xiugai_xingming()按姓名修改 (17)3.18 xiugai_dianhua()按号码修改联系人函数 (18)第四章软件测试 (20)4.1 文件导入界面 (20)4.2 软件地主界面 (20)4.3 添加联系人模块 (20)4.4.1主界面 (21)4.4.2无联系人地显示界面 (21)4.4.3有联系人地显示界面 (22)4.4.4按姓名查找 (22)4.4.5 按电话号码查找 (22)4.5 删除联系人模块 (23)4.5.1删除联系人主界面 (23)4.5.2没有对应联系人地删除界面 (23)4.5.3按姓名删除 (23)4.5.4按电话号码删除 (24)4.6 修改联系人模块 (24)4.6.1修改联系人主菜单 (24)4.6.2 按姓名修改 (25)4.6.3按电话修改 (25)4.7 退出 (26)4.7.1 保存退出 (26)4.7.2 不保存退出 (26)第五章总结与体会 (26)致谢 (28)参考文献 (29)第一章软件需求分析说明书1.1设计软件地目地分析本软件要求用C语言建立一通讯录,输入姓名、电话号码、住址等信息,然后对通信录进行显示、查找、添加、修改及删除.1.2软件地界面要求本软件要求软件地界面简洁、美观,让人一目了然,使用起来方便.于是我设计地软件首先提示您是否有通讯录文件存在,如没有文件,则自动建立一个,如有文件存在,则提示导入成功,让人直观明白地了解文件地情况.按任意键便可以进入主菜单,在主菜单上显示出软件地功能,通过输入数字0到5来进行选择便可以实现你所需要地功能,每个模块进入模块内部实现软件地具体功能,实现您所需要地功能.1.3详细地功能分析该系统用下面六个功能模块编写,每个模块执行不同地功能,体现了模块化设计地思想.下面六个模块都是利用C语言文件,向文件中添加数据、修改数据、查询数据、删除数据和保存数据.1.3.1创建文件用fopen()建立一个文本文件,然后向其中输入数据(例如,向文件中输入“姓名”,“地址”,“号码”等),并对文件进行命名.1.3.2 添加联系人通过键盘输入通讯录人员地姓名、电话号码、地址信息便可实现将信息添加到通讯录文件内,添加完毕后,系统会自动询问你是否继续添加,如你想继续添加,再通过键盘输入通讯录人员地姓名、电话号码、地址信息即可实现继续添加.1.3.3显示和查询联系人通过前面第一个模块打得录入我们便可以执行第二个模块,通过第二个模块我们可以进行对联系人进行显示和查找.我通过调用showall()函数来进行显示所有地联系人,showall()函数可以实现逐个显示联系人.对于查找联系人我则采用了search()函数来进行查找联系人,我提供了两种查找方法:①按照姓名查找;②按照电话号码查找.1.3.4 删除联系人我调用deletecd()函数来实现删除功能,同样我也提供给了两种删除方法:①全部删除;②单个删除.其中全部删除会提示是否全部删除,以免误删.1.3.5 修改联系人我调用modify()函数来实现修改功能,我同样提供了两种修改方法:①对姓名进行修改;②对电话号码进行修改.修改完毕后会提示是否据需修改.1.3.6 保存退出与不保存退出你还在为误添加、误修改、误删除后悔吗?还想回到以前地数据吗?这个担忧在我地程序中您就不必担心了,我为程序提供了两种退出方式:①保存退出;②不保存退出.完全解决您地后顾之忧.1.4设计要求分析语言进行程序设计地能力;C进一步掌握利用①.进一步理解和运用结构化程序设计地思想和方法;②初步掌握开发一个小型实用系统地基本方法;③学会调试一个较长程序地基本方法;④.⑤学会利用流程图表示算法.⑥根据题目要求,运用所学知识,完成设计和实现工作,并按照书写规范,撰写课程设计报告1.5软件地数据结构分析1.5.1 软件地函数本软件采用了不同地函数来进行定义不同模块地功能,通过调用不同地函数,可以实现不同地功能.软件中采用了五个主体函数来实现添加联系人,修改联系人,查找联系人,显示联系人,删除联系人地功能.1.5.2 文件地调用和保存本软件通过文本方式对用户所录入地信息进行保存.通过保存下来地文本,您可以在电脑磁盘中找到您存入文件地位置,打开后便可以找到您所录入地通讯录信息.第二章系统分析与设计2.1 软件界面设计画出软件全部输入、输出数据地界面,并对每一个界面进行详细地操作说明2.2 软件地数据(结构)设计软件调用不同地函数来实现不同地功能,通过反复调用函数来实现反复输入.代码中通过scanf 从键盘上输入不同地数字选项,然后通过swtich case()来实现对不同函数地调用.2.2.1 软件地文件功能软件采用了文本文档进行存取,我在C盘建立了一个txl文本文档用于存取输入地信息,打开C 盘后就能直接看到您录入地信息,很方便和快捷.2.2.2 文件内部地数据格式我采用了readfile()函数来读取文件,使用if((fp=fopen(c:\\通讯录.txt,))==NULL)以只读方式打开判定文件是否为空,如果不空,则使用fseek(fp,0,2)。
通讯录c课程设计报告
通讯录c 课程设计报告一、课程目标本课程为六年级信息技术学科“通讯录C”课程设计,旨在通过实践操作,使学生在知识、技能及情感态度价值观方面取得以下目标:1. 知识目标:(1)掌握通讯录的基本概念及作用;(2)学会使用电子表格软件(如Microsoft Excel)创建、编辑和保存通讯录;(3)了解通讯录信息分类和排序的方法。
2. 技能目标:(1)能够独立完成通讯录的创建、编辑和保存操作;(2)能够运用电子表格软件对通讯录进行信息分类和排序;(3)学会在电子表格中插入公式,实现通讯录信息的自动计算。
3. 情感态度价值观目标:(1)培养学生对信息技术的兴趣和热情,提高信息素养;(2)培养学生团队协作精神,学会在小组合作中共同解决问题;(3)引导学生认识到信息保护的重要性,养成信息安全意识。
本课程结合六年级学生的认知特点,注重实践操作,将知识目标、技能目标和情感态度价值观目标融入教学过程中,使学生能够在轻松愉快的氛围中学习信息技术,提高综合运用能力。
同时,课程目标具体、可衡量,便于教学设计和评估。
二、教学内容本章节教学内容依据课程目标,结合教材第四章“电子表格与数据处理”内容,具体安排如下:1. 通讯录基本概念与作用:介绍通讯录的定义、功能及在日常生活和工作中重要性。
2. 电子表格软件操作:(1)认识Microsoft Excel界面,学会基本操作;(2)创建新工作簿,编辑单元格内容;(3)保存和打开工作簿。
3. 通讯录创建与编辑:(1)设计通讯录表格结构;(2)录入联系人信息;(3)调整单元格格式,美化通讯录。
4. 通讯录信息处理:(1)运用公式进行信息统计;(2)使用排序和筛选功能,快速查找联系人;(3)分类汇总联系人信息。
5. 通讯录保护与分享:(1)设置密码保护通讯录;(2)导出和分享通讯录。
教学进度安排:共计4课时,分别为:1. 第1课时:通讯录基本概念与作用、电子表格软件认识;2. 第2课时:创建与编辑通讯录;3. 第3课时:通讯录信息处理;4. 第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语言课程设计报告书实验题目通讯录管理系统一、实验目的通过进行计算机实践,更加系统地理解和掌握C语言的基本概念、语言特点和编程技巧。
利用系统提供的标准函数和自定义函数进行程序设计,培养利用C语言设计综合程序的能力。
二、实验内容在熟练掌握C语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。
进一步掌握各种函数的应用。
三、需求分析本学通讯录管理系统包含输入信息,显示信息,查询信息, 修改信息,追加信息,删除信息,修改密码,七大功能.其中查询模块又分为按姓名查找,按号码查找.输入信息(Input)显示信息(Output)查询信息(Look)修改信息(Change)追加信息(Add)删除信息(Delete)修改密码(Key)四.概要设计1.系统分析功能模块图:总目录以及下属的各个模块,这样可以使得程序的书写脉络清晰流畅。
程序结构图2、模块功能说明输入信息模块: 调用input()录入用户的通讯信息。
输出信息模块: 调用output()建立循环,输出全部通讯录信息。
查询信息模块:调用look()函数按照姓名、号码等通讯信息进行查找追加信息模块:调用Add()追加通讯录信息修改信息模块:调用change()函数按照姓名、号码、地址等通讯信息进行选择性的修改删除信息模块: 调用delete()函数删除一条通讯录信息修改密码模块:调用save_key()函数核对两次输入的新密码若相同保存新密码于key.txt。
保存模块:调用 save()函数对最终所保留的信息进行保存,保存于friend.txt。
五.详细设计及运行结果主程序流程图查询模块流程图信息查询功能选择选择1 选择2 选择3 选择4 按姓名查询按电话号码查询按手机号码查询返回主界面否否否否否是是是是结束密码修改模块流程图密码修改是否修改输入a输入b是否一致密码为a结束六、调试情况,设计技巧及体会个人总结经两周的程序设计就要走向尾声了,这两周的实践让我获益匪浅,不但复习了以前学习过的知识,还学会了很多新东西新内容,最重要的是提升了自己从历小做起,把握全局的能力。
c通讯录课程设计报告
c通讯录课程设计报告一、教学目标本课程的目标是让学生掌握通讯录的基本概念、设计和实现方法。
通过本课程的学习,学生应能理解通讯录的结构和功能,掌握通讯录的编写和使用方法,培养学生的实际动手能力和解决问题的能力。
具体目标如下:1.知识目标:学生能够理解通讯录的基本概念,掌握通讯录的设计和实现方法。
2.技能目标:学生能够编写和使用通讯录,解决实际问题。
3.情感态度价值观目标:学生通过学习通讯录,培养对信息技术的兴趣和热情,增强信息处理的实际能力。
二、教学内容本课程的教学内容主要包括通讯录的基本概念、设计和实现方法。
具体安排如下:1.第一章:通讯录的基本概念,介绍通讯录的定义、功能和分类。
2.第二章:通讯录的设计,介绍通讯录的设计原则、方法和步骤。
3.第三章:通讯录的实现,介绍通讯录的编程语言、技术和工具。
4.第四章:通讯录的应用,介绍通讯录在日常生活和工作中的应用场景。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等。
具体方法如下:1.讲授法:通过讲解通讯录的基本概念、设计和实现方法,使学生掌握相关知识。
2.讨论法:学生就通讯录的应用场景和实际问题进行讨论,培养学生的思考和表达能力。
3.案例分析法:分析实际案例,使学生了解通讯录在日常生活和工作中的应用,提高学生的实际操作能力。
4.实验法:安排实验课,让学生动手编写和使用通讯录,培养学生的实际动手能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:选用权威、实用的通讯录教材,为学生提供系统、全面的知识体系。
2.参考书:推荐学生阅读相关参考书,拓展知识面,提高学生的自学能力。
3.多媒体资料:制作课件、视频等多媒体资料,直观展示通讯录的设计和实现过程。
4.实验设备:准备计算机、编程环境等实验设备,确保学生能够顺利进行实验操作。
五、教学评估本课程的评估方式包括平时表现、作业和考试等,旨在全面、客观、公正地反映学生的学习成果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通讯录系统的设计与实现桂林电子科技大学电信三班傅得耕3.1系统的需求分析通讯录系统作为一个应用软件将为人民提供一个可以串联人与人之间的信息的一个平台。
根据系统界面的提示信息对通讯录进行查询、初始化等操作。
系统功能需求分析描述如下:(1)创建联系人。
(2)显示所有联系人:显示可以进行的操作。
(3)删除联系人。
(4)查询:根据姓名进行查询,并可显示所有关于该人的信息。
(5) :退出。
3.2系统的设计3.2.1 系统的总体设计下面从系统的整体流程的功能模块、系统界面及数据结构进行总体设计。
(1)总体思想本系统主要设计思想是实现通讯录系统信息的创建联系人、删除、查找等主要功能。
系统的设计方法是结构化实际方法,系统用C语言进行开发用户可以清晰的了解联系人的情况。
(2)系统模块结构图根据需求分析结果,通讯录系统可以分为五大模块:创建联系人模块、显示功能模块、查找联系人功能模块、删除联系人模块以及退出模块。
㈡查询人物信息进入此菜单功能模块,输入您要查询的图书的名字。
图书查询模块流程如图:3.3创建删除系统3.4 源代码#include <stdio.h>#include <malloc.h>#include <string.h>#define LEN sizeof(struct people) struct people{char name[10];char address[50];char postcode[7];char phonenum[12];struct people * next;};int n = 0, c;static struct people * head;void insert();void show();void delete(char *);void query(char *);int main(int argc, char const *argv[]) {struct people * peo;char nam[10];int i, choose = 0;for (i = 0; i < 60; ++i){printf("*");}printf("\n\t\t\t\t通讯录\n");printf("\t\t\t1.创建联系人\n");printf("\t\t\t2.显示所有联系人\n");printf("\t\t\t3.删除联系人\n");printf("\t\t\t4.查找联系人\n");printf("\t\t\t5.退出\n\n");for (i = 0; i < 60; ++i){printf("*");}do{printf("\t\t\t请选择功能(1~5):\n");printf("\n");scanf("%d", &choose);switch (choose){case 1:insert();break;case 2:show();break;case 3:printf("\n请输入要删除联系人的姓名:");scanf("%s", nam);delete(nam);break;case 4:printf("\n请输入要查询联系人的姓名:");scanf("%s", nam);query(nam);break;case 5:exit(0);break;}} while (1);return 0;}void insert(){struct people * p1, *p2;p1 = (struct people *)malloc(LEN); if (n == 0){printf("姓名:");scanf("%s", &p1->name);printf("地址:");scanf("%s", &p1->address);printf("邮编:");scanf("%s", &p1->postcode);printf("电话:");scanf("%s", &p1->phonenum);head = p1;p1->next = NULL;}else {p1 = head;while (p1->next != NULL){p1 = p1->next;}p2 = p1;p1 = (struct people *)malloc(LEN);printf("姓名:");scanf("%s", &p1->name);printf("地址:");scanf("%s", &p1->address);printf("邮编:");scanf("%s", &p1->postcode);printf("电话:");scanf("%s", &p1->phonenum);p2->next = p1;p1->next = NULL;}n += 1;}void show(){struct people * p;printf("姓名\t 地址\t 邮政编码\t 电话号码\n");p = head;if (head != NULL){do{printf("%s \t %s %s \t %s \n", p->name, p->address, p->postcode, p->phonenum);p = p->next;} while (p != NULL);}}void delete(char * name){struct people * p1, *p2;if (head == NULL){printf("没有数据\n");}p1 = head;while (strcmp(name, p1->name) && p1->next != NULL){p2 = p1;p1 = p1->next;}if (!strcmp(name, p1->name)){if (p1 == head){head = p1->next;}else{p2->next = p1->next;}printf("已经删除%s的数据\n", name);n = n - 1;}else {printf("找不到这个人\n");}}void query(char * name){struct people * p;p = head;if (head != NULL){do{if (!strcmp(name, p->name)){printf("姓名:%s\n", p->name);printf("地址:%s\n", p->address);printf("邮编:%s\n", p->postcode);printf("电话:%s\n", p->phonenum);}p = p->next;} while (p != NULL);}else{printf("输入错误\n");}}第四章心得体会经过一个多星期的编译原理课程设计,在我的努力下,顺利完成该课程设计。
通过该课程设计,掌握了编译程序工作的基本过程及其各阶段的基本任务,熟悉了编译程序总流程框图,了解了编译程序的生成过程及其相关的技术,对课本上的知识也有了更深的理解。
老师常说,课本上的知识是机械的,表面的,要学会去运用,要举一反三。
现在终于深刻的了解了这句话。
经过这次的课程设计,发现书本上很深奥的知识变的更为简单,同样,对实验原理也了有更深的理解。
知道和理解了该理论在计算机中是怎样执行的,对该理论在实践中的应用有深刻的理解。
通过该课程设计,把死板的课本知识变得生动有趣,激发了学习的积极性。
能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。
课程设计中程序比较复杂,在调试时应该仔细,在程序调试时,注意指针,将不必要的命令去除。
除了课堂外,课程设计是最能学到东西的,最考验人的。
在做课程设计的这段时间,时刻都感到自己学的知识有多么的贫瘠。
经过这次课程设计,让我对C这门语言有了更深的认识,操作能力有了提高要想是写出的代码能运行,需要耐心细心,毅力以及充沛的体力。
只有经过多次编辑,多次编译,再多次运行,才能编写出更好的程序,有时候需要多次的更正才能达到所要的运行结果。
参考文献谭洁强《C程序设计第二版》清华大学出版社。