C语言设计报告(电子通讯录)
通讯录管理系统c语言课程设计报告(一)
![通讯录管理系统c语言课程设计报告(一)](https://img.taocdn.com/s3/m/40fc724af342336c1eb91a37f111f18582d00c5c.png)
通讯录管理系统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语言通讯录实验报告](https://img.taocdn.com/s3/m/ff874a6bbc64783e0912a21614791711cc797936.png)
c语言通讯录实验报告C语言通讯录实验报告一、实验目的通讯录是我们日常生活中常用的工具,可以帮助我们管理联系人信息。
本次实验旨在通过使用C语言编写一个简单的通讯录程序,加深对C语言的理解和运用。
二、实验环境本次实验使用的开发环境是Visual Studio Code,编程语言为C语言。
三、实验过程1. 通讯录数据结构设计在开始编写程序之前,我们需要先设计好通讯录的数据结构。
通讯录的基本信息包括姓名、电话号码和电子邮件地址。
我们可以使用结构体来表示一个联系人的信息,然后使用数组来存储多个联系人的信息。
2. 程序主体框架设计接下来,我们需要设计程序的主体框架。
首先,我们可以定义一个数组来存储通讯录中的联系人信息。
然后,我们可以使用一个循环来提供用户操作的选项,比如添加联系人、查找联系人、删除联系人等。
用户可以通过输入相应的数字来选择不同的操作。
3. 添加联系人功能在程序中添加联系人的功能可以通过用户输入联系人的姓名、电话号码和电子邮件地址来实现。
我们可以通过循环遍历通讯录数组,找到第一个空闲的位置,将新的联系人信息存储到该位置。
4. 查找联系人功能查找联系人的功能可以通过用户输入联系人的姓名来实现。
我们可以通过遍历通讯录数组,逐个比较联系人的姓名,找到匹配的联系人并输出其详细信息。
5. 删除联系人功能删除联系人的功能可以通过用户输入联系人的姓名来实现。
我们可以通过遍历通讯录数组,找到匹配的联系人并将其从数组中删除。
6. 修改联系人功能修改联系人的功能可以通过用户输入联系人的姓名来实现。
我们可以通过遍历通讯录数组,找到匹配的联系人,并允许用户修改其电话号码和电子邮件地址。
7. 显示通讯录功能显示通讯录的功能可以通过遍历通讯录数组,逐个输出联系人的详细信息来实现。
四、实验结果经过编写和调试,我们成功实现了一个简单的C语言通讯录程序。
用户可以通过输入相应的数字来选择不同的操作,包括添加联系人、查找联系人、删除联系人、修改联系人和显示通讯录。
C语言课程设计报告 通讯录
![C语言课程设计报告 通讯录](https://img.taocdn.com/s3/m/1d790465f5335a8102d2205c.png)
课程设计2009 ~ 2010学年第二学期设计题目通讯录院(系)数理学院专业数学与应用数学班级:学号:学生姓名:设计时间2010年 7 月 5 日——2010 年 7 月 15 日指导教师提交日期 2010年7月15日上海交通大学课程设计任务书指导教师(签名):黄飞鸿教研室主任(签名):黄飞鸿2010年7 月5日2010年7 月5 日目录摘要1概述 (5)1.1课程设计目的 (5)1.2课程设计要求 (6)1.3设计要求具体说明 (6)2详细设计说明 (7)2.1总体设计方案 (7)2.2程序描述 (7)2.3功能结构 (7)2.4主要模块描述 (8)2.5采用的算法 (17)3程序测试 (18)4课程设计总结 (21)5软件使用说明 (21)6附录(参考文献,原代码:) (22)摘要:一个良好的通讯录能够方便用户增/删/查/改信息.获取用户。
要的信息.汇编语言也是计算机应用中重要的语言之一. 用汇编语言程序代码编写通讯录, 理解和掌握复杂的汇编语言应用程序的编程.本程序将主要完成的功能为姓名查询模块: 查询,输入姓名可以查询该人其他信息;在屏上提示:选择“1”:输入姓名,按姓名查询,显示查询结果;选择“0”:结束.通过此次设计巩固和加深子程序调用、参数传送、BIOS功能调用INT 10H和宏定义;将课本上的子程序调用和宏定义等有关知识和实际应用有机的结合起来,提高分析和解决实际问题的能力;通过对通讯录汇编语言程序代码的阅读、修改、设计,理解和掌握复杂的汇编语言应用程序的编程,从而提高自身实践编程能力。
关键词汇编语言程序BIOS功能调用INT 10H 宏定义Abstract:A good address book can be user-friendly by / delete / search / to information. User access. To the information. Compilation of computer language is the language of one of the most important. Assembly language code with the preparation of contacts, understanding and mastering complex assembly language application programming. This procedure will be mainly complete by the name of enquiry modules: For enquiries, enter the name of the person can find other information; choose "1": Enter the name, by name enquiries, search results; search results; option" 0 ": the end. Through this design to consolidate and deepen the subroutine calls, send parameters, BIOS function calls INT 10H and Acer definitionof textbooks on the subroutine calls and Acer Definition of the relevant knowledge and practical application of combining organic and improve analysis and the ability tosolve practical problems through the contacts of the assembly language code to read, edit, design, understand and master the complex assembly language application programming, Improve their own practice of programming capacity.Key words assembly language program BIOS function calls INT 10H Acer definition1概述1.1 课程设计目的本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计语言》课程后进行的一次全面的综合练习。
c语言通讯录管理系统课程设计报告
![c语言通讯录管理系统课程设计报告](https://img.taocdn.com/s3/m/5fb39128f08583d049649b6648d7c1c708a10bec.png)
c语言通讯录管理系统课程设计报告报告标题:C语言通讯录管理系统课程设计报告1. 引言本报告旨在介绍并分析本次课程设计所涉及到的C语言通讯录管理系统的设计与实现过程。
2. 设计目标•开发一个功能完善的通讯录管理系统•实现基本的通讯录管理功能,包括添加、删除、查询、修改联系人信息等•提供良好的用户交互界面,方便用户使用该系统•提高系统的效率和稳定性,确保数据的安全性3. 系统设计概述本通讯录管理系统基于C语言开发,主要包括以下几个模块: - 用户管理模块:实现用户注册、登录、退出等功能 - 联系人管理模块:实现联系人的增删改查等功能 - 数据存储模块:使用文件系统进行数据的读写操作数据结构设计本系统使用了以下数据结构: - 用户结构体:包含用户名、密码等信息 - 联系人结构体:包含姓名、电话号码、地址等信息功能模块设计•用户管理模块:提供用户注册、登录、退出等功能•联系人管理模块:提供联系人的添加、删除、查询、修改等功能•数据存储模块:实现数据的读取与保存功能4. 实现细节用户管理模块•注册功能:获取用户输入的用户名和密码,存储到用户数据文件中•登录功能:根据用户输入的用户名和密码,从用户数据文件中验证登录信息•退出功能:退出当前用户,返回系统主界面联系人管理模块•添加联系人功能:获取用户输入的联系人信息,存储到联系人数据文件中•删除联系人功能:根据用户输入的联系人姓名,从联系人数据文件中删除对应的联系人信息•查询联系人功能:根据用户输入的关键词,从联系人数据文件中查找匹配的联系人信息•修改联系人功能:根据用户输入的联系人姓名,从联系人数据文件中修改对应的联系人信息数据存储模块•读取数据功能:从文件中读取用户和联系人的数据•保存数据功能:将用户和联系人的数据保存到文件中5. 测试与优化本系统在开发过程中进行了多次测试和优化,确保系统的稳定性和功能完善性。
通过模拟用户的操作,检测系统的响应速度、功能是否正常等,并对系统进行了性能调优和bug修复。
c语言课程设计通讯录
![c语言课程设计通讯录](https://img.taocdn.com/s3/m/d8c6c7abf80f76c66137ee06eff9aef8941e483a.png)
c语言课程设计 通讯录一、课程目标知识目标:1. 理解并掌握C语言结构体和数组的使用,能够运用其创建和操作通讯录。
2. 学习并掌握C语言中的文件操作,实现通讯录数据的保存和读取功能。
3. 掌握C语言中的函数定义和应用,实现通讯录各项功能模块的划分和调用。
技能目标:1. 能够编写C程序,实现通讯录的增加、删除、修改和查询功能。
2. 能够运用所学知识,设计出界面友好、操作简便的通讯录管理系统。
3. 能够对程序进行调试和优化,提高代码的可读性和执行效率。
情感态度价值观目标:1. 培养学生主动探索、积极实践的学习态度,增强其解决实际问题的能力。
2. 培养学生的团队协作精神,学会与他人共同分析问题、解决问题。
3. 通过本课程的学习,使学生认识到编程在生活中的应用价值,激发其对计算机科学的兴趣。
分析课程性质、学生特点和教学要求:本课程为C语言课程设计,旨在巩固和拓展学生所学知识,提高其编程能力。
学生已具备一定的C语言基础,能够独立完成简单的程序编写。
课程要求学生通过动手实践,掌握结构体、数组、文件操作等知识,并能够将其应用于实际项目中。
课程目标明确,分解为具体学习成果,便于教学设计和评估。
在教学过程中,注重培养学生的实际操作能力和团队协作能力,提高其综合素质。
二、教学内容根据课程目标,教学内容主要包括以下几部分:1. C语言基础知识回顾:结构体、数组、函数、文件操作等。
- 结构体:定义、声明、初始化、结构体数组。
- 数组:一维数组、二维数组、字符串与字符数组。
- 函数:函数定义、声明、调用、参数传递。
- 文件操作:文件打开、关闭、读写、定位。
2. 通讯录管理系统功能模块设计:- 系统架构设计:功能模块划分、模块间关系。
- 功能实现:增加、删除、修改、查询、排序等。
3. 编程实践与调试:- 编写代码实现通讯录管理系统各项功能。
- 调试程序,优化代码,提高执行效率。
4. 团队协作与项目展示:- 分组进行项目开发,培养学生团队协作能力。
C语言课程设计通讯录实验报告
![C语言课程设计通讯录实验报告](https://img.taocdn.com/s3/m/7787589cf424ccbff121dd36a32d7375a417c688.png)
C语言课程设计通讯录实验报告实验目的:本实验旨在通过设计一个通讯录程序,加深理解和掌握结构体、函数和文件操作等C语言知识,并培养学生的实践能力和解决问题的能力。
实验要求:设计一个通讯录程序,能够实现添加联系人、删除联系人、查找联系人、修改联系人信息等基本功能,并能够将联系人信息保存到文件中,实现数据的持久化存储。
实验原理:通讯录程序的数据结构可以设计为一个结构体数组,每个元素表示一个联系人,结构体包含姓名、电话号码、地址等信息。
通过使用不同的函数实现不同的功能,如添加联系人函数addContact()、删除联系人函数deleteContact()、查找联系人函数searchContact()等。
实验步骤:1. 定义一个结构体类型,包含姓名、电话号码和地址等信息。
2. 声明并实现各个功能函数,如添加联系人函数addContact()、删除联系人函数deleteContact()、查找联系人函数searchContact()等。
3. 在主函数中使用循环菜单来实现用户的各种操作选择。
4. 将联系人信息保存到文件中,实现数据的持久化存储。
5. 编译并运行程序,验证程序的正确性和功能完整性。
实验结果:通过实验,成功设计并实现了一个通讯录程序,能够实现添加联系人、删除联系人、查找联系人、修改联系人信息等基本功能,并能够将联系人信息保存到文件中,实现数据的持久化存储。
实验总结:本实验通过设计一个通讯录程序,加深了对结构体、函数和文件操作等C语言知识的理解和掌握,同时也培养了解决问题的能力和实践能力。
通过实验,我进一步理解了结构体的定义和使用、函数的声明和调用、文件的打开和关闭等操作。
在实验过程中,我也遇到了一些问题,如如何优化查找联系人的算法、如何处理文件打开失败的情况等,通过思考和调试逐步解决了这些问题。
实验过程中的问题和解决方法不仅加深了对C 语言的理解,也提高了解决问题的能力。
c语言通讯录管理系统课程设计报告
![c语言通讯录管理系统课程设计报告](https://img.taocdn.com/s3/m/7291c0dddc88d0d233d4b14e852458fb770b3895.png)
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语言课程设计报告---通讯录管理系统](https://img.taocdn.com/s3/m/bbb21d0ebdd126fff705cc1755270722192e5938.png)
一、实习题目通讯录管理系统二、需求分析问题描述:本程序属于非数值计算型算法设计,学生需要设计出图书馆模拟系统所需要的基本功能,并设计简单的界面(无需图形化)。
实现功能: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语言课程设计通讯录管理系统课程设计报告](https://img.taocdn.com/s3/m/0187348b48649b6648d7c1c708a1284ac850050f.png)
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语言课程设计报告](https://img.taocdn.com/s3/m/d93c66c2760bf78a6529647d27284b73f2423600.png)
通讯录管理系统c语言课程设计报告通讯录管理系统C语言课程设计报告1. 项目概述•本项目是一个通讯录管理系统,旨在提供用户管理通讯录的功能。
•使用C语言开发,具有良好的跨平台兼容性。
•主要功能包括添加联系人、查找联系人、编辑联系人、删除联系人等。
2. 项目背景•通讯录是现代社会必不可少的工具,用于管理个人和组织的联系人信息。
•传统的纸质通讯录已不能满足日益增长的信息管理需求。
•本项目旨在开发一款方便、高效的电子通讯录管理系统,满足人们对联系人信息管理的需求。
3. 技术实现•采用C语言作为开发语言,具有良好的跨平台兼容性和高效的执行速度。
•主要采用文件存储方式,将联系人信息保存在本地文件中。
•使用结构体来表示联系人信息,方便管理和操作。
4. 功能模块添加联系人•用户可以通过输入姓名、电话号码、电子邮件等信息,添加新的联系人。
•程序将自动生成一个唯一的联系人ID,并将联系人信息保存到文件中。
查找联系人•用户可以通过姓名、电话号码等条件进行查找联系人。
•程序将根据用户输入的条件,在通讯录中查找符合条件的联系人,并将结果返回给用户。
编辑联系人•用户可以选择要编辑的联系人,并进行修改联系人信息的操作。
•程序将根据用户输入的联系人ID,找到对应的联系人并允许用户修改其信息。
删除联系人•用户可以选择要删除的联系人,并进行删除操作。
•程序将根据用户输入的联系人ID,找到对应的联系人并从通讯录中删除。
5. 实施计划需求分析•确定系统所需的功能模块和用户需求,并进行详细的功能需求分析。
概要设计•设计系统的整体结构,包括模块划分、数据结构设计等。
详细设计•对每个模块进行具体的设计,包括函数接口定义、算法流程图等。
编码实现•根据详细设计的结果,使用C语言进行编码实现。
调试测试•对编码实现的程序进行测试和调试,修复可能出现的问题。
文档撰写•撰写项目的相关文档,包括使用说明、技术文档等。
6. 总结与展望•本项目成功开发了一个通讯录管理系统,具有简洁、高效的特点。
C语言课程设计报告通讯录
![C语言课程设计报告通讯录](https://img.taocdn.com/s3/m/ed10892731126edb6f1a102b.png)
河南城建学院C语言课程设计报告设计主题:(通讯录)学院(系):计算机科学与工程学院班级:0834131\信管指导教师:张俊峰学号:083413129 姓名:李傲实习时间:2014年6月9日至2014年6月20日二〇一四年六月一、课程设计的内容编写学生通讯录程序,包括以下功能模块:1、通讯录的每一条信息包括学号、姓名、电话(字符数组)。
2、输入功能:可以一次完成若干条信息的输入。
3、显示功能:完成全部通讯录信息的显示。
4、查找功能:完成按姓名查找通讯信息,并显示。
5、增加功能:增加通讯信息。
6、删除功能:完成按姓名删除通讯信息。
7、将通讯录信息存在文件addrbook中。
8、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!二、课程设计的要求与数据1、用C语言实现系统;2、利用结构体数组或动态链表实现学生通讯录的数据结构设计;3、系统具有增加,查询,删除等基本功能;4、系统的各个功能模块要求用函数的形式实现;5、将通讯录信息存在文件中;6、完成设计任务并编写课程设计说明书。
三、课程设计应完成的工作1.完成程序的编制、调试,并能正确运行。
2.完成课程设计说明书的编写,其内容包括(1)封面(2)任务书(3)目录(4)正文(1)总体设计(包含几大功能模块)。
(2)详细设计(各功能模块的具体实现算法——流程图)(3)数据结构设计描述,各模块(函数)的功能介绍,参数说明等。
(4)调试分析(包含各模块的测试用例,及测试结果。
)(5)总结(课程设计完成了哪些功能,还有哪些地方需要改进,及通过一周的课程设计有何收获,调试程序的体会等)(5)参考文献四、应收集的资料及主要参考文献[1] 谭浩强著. C程序设计(第三版). 北京:清华大学出版社,2005[2] 谭浩强著. C程序设计题解与上机指导. 北京:清华大学出版社,2005目录一、总体设计(包含几大功能模块) (4)二、详细设计(各功能模块的具体实现算法——流程图) (4)第一个函数为输入函数: (4)第二函数为显示函数: (4)第三个函数为查找函数: (5)第四为排序函数 (5)第五为插入函数: (6)第六删除函数. (6)三、数据结构设计描述,各模块(函数)的功能介绍,参数说明等 (7)(一):结构设计描述 (7)(二)功能介绍 (7)四、调试分析(包含各模块的测试用例,及测试结果)。
c语言课程设计报告 通讯录设计
![c语言课程设计报告 通讯录设计](https://img.taocdn.com/s3/m/bca8c50303d8ce2f00662327.png)
第一章作者简介作者,曹新晴,女,河北石家庄人,现为地球科学学院资源环境与城乡规划管理专业06级在读本科生。
我是女生中比较爱运动的类型,喜欢羽毛球和篮球,喜欢畅快运动后那种洒脱的感觉,可以把所有的烦闷和忧伤统统用自己挥舞的手臂和奔跑的步伐甩掉,然后不再疲惫、精力充沛地迎接可能的挑战或挫折。
运动让我更加自信,更加勇敢。
用朋友的话,是那种有点倔强的自信,是“咬定青山不放松”的坚持吧,让我一路上跌跌撞撞地走到了现在。
所以,我更加珍惜这里的学习机会。
我发挥自己的兴趣,运用自己的毅力,和一些志同道合的战友一起起早奋斗,在去年拿到了国家篮球三级裁判员的证书,这是对我的努力的肯定。
当然,我还会在自己的路上再接再厉,争取获得更大的进步。
有时候,我也会选择跑步来释放,因为大学孤身在外,很多问题都等着你去解决,而多数情况是要独自面对,所以我们要有自己的排解压力的方式。
一张一弛,才会游刃有余,这就是我的处世哲学。
上学期,我在韩涛老师的指导下学习了计算机C语言课程,对利用C程序进行编程的一般思想、方法和格式的规范性有了初步的认识和了解,并通过自己的刻苦学习在试卷上取得了不错的成绩。
希望通过这次课程设计,把所学的知识在实际中得到运用。
第二章报告摘要实习报告中主要介绍了程序编写的过程,整个管理系统的组成,各个功能模块如何发挥作用等,这些都在报告正文中有所体现。
实习报告分了五个部分来写, 即作者简介、报告摘要、报告目录、报告正文和总结。
其中报告目录清晰明了地展示报告的顺序;报告正文是最重要的一个部分,这个部分详细地介绍了这个程序设计的设计思想和方法,包括:题目要求、系统的需求分析、系统的总体设计和系统的详细设计。
第三章报告目录一. 题目要求 (3)二. 需求分析 (3)三. 总体设计 (3)四. 详细设计 (3)1.主函数 (3)2.各功能模块设计 (5)⑴输入模块 (6)⑵添加模块 (6)⑶显示模块 (7)⑷删除模块 (7)⑸查询模块 (8)⑹修改模块 (9)⑺保存模块 (10)一.题目要求设计具有数据插入、修改、删除、显示和查询功能的电话簿管理系统。
C语言课程设计报告(通讯录)
![C语言课程设计报告(通讯录)](https://img.taocdn.com/s3/m/8f98a5c3195f312b3169a59f.png)
面向过程程序设计(C语言)课程设计设计说明书通讯录系统起止日期:2011年01 月03 日至2011年01 月08 日学生姓名XXX班级学号成绩指导教师(签字)计算机与通信学院2011 年01 月08 日一、课题任务设计一个通讯录管理系统。
课题的主要任务是:1.对通讯录信息有添加、查找、显示、保存、删除、修改等操作功能。
2.可以将输入的数据保存在文本文件中,并可以将其调出使用。
我的主要任务是编写主函数,查找模块和修改模块。
二、设计要求建立通讯录信息,信息至少包含姓名、住址、单位、固定电话、移动手机、分类(如同事、朋友、同学、家人等)、E-mail、QQ等。
该系统提供添加、删除、修改和查找功能,其中按姓名方式删除、修改,按姓名、单位、分类方式查找。
将通讯录保存在文件中。
能够输出通讯录中的信息。
二、程序的功能设计创建:创建通讯录文件并对其命名添加:添加通讯录记录输出:显示通讯录记录删除:删除通讯录记录查找:查询通讯录记录修改:修改通讯录记录保存:将信息保存到文件中四、程序的数据设计该系统用下面六个功能模块编写,每个模块执行不同的功能,体现了模块化设计的思想。
下面六个模块都是利用C语言文件,向文件中追加数据、修改数据、查询数据和删除数据。
创建:用fopen()建立一个文本文件,然后用fprintf()向其中输入数据(例如,向文件中输入“姓名”,“地址”等),并对文件进行命名。
添加:可以添加通讯录记录,利用C语言文件,向文件中按顺序输入姓名、住址、单位、固定电话、手机号码、分类(如同事、朋友、同学、家人等)、E-mail、QQ,再用fclose()函数关闭并保存文件。
输出:也是用通过循环依次输出文件中的数据,即输出所有通讯录里的记录。
删除:输入你要删除的人的姓名后,系统会自动删除他(她)的记录,在删除通过switch语句满足提示你确认删除的功能,只有等你确认删除后才会删除。
查找:为了满足用户的实际需求,设计了三种查询方式,可以用姓名、单位、分类三种方式查找通讯录记录。
c通讯录课程设计报告
![c通讯录课程设计报告](https://img.taocdn.com/s3/m/5f521570905f804d2b160b4e767f5acfa1c783b8.png)
c通讯录课程设计报告一、课程目标本通讯录课程设计旨在通过实践活动,使学生在信息技术学科的基础上,掌握以下知识目标、技能目标和情感态度价值观目标:1. 知识目标:- 了解通讯录的基本概念、功能及在实际生活中的应用。
- 掌握通讯录的录入、修改、删除、查询等基本操作。
- 了解如何对通讯录进行分类、排序和筛选,以便快速查找和整理信息。
2. 技能目标:- 学会使用电子表格软件(如Microsoft Excel)创建、编辑和管理通讯录。
- 能够运用所学知识,设计并优化个人或团队的通讯录,提高信息处理效率。
- 培养学生的团队协作能力,通过小组讨论和分享,提高问题解决和沟通表达能力。
3. 情感态度价值观目标:- 培养学生珍惜个人信息,尊重他人隐私的观念。
- 增强学生的信息素养,认识到信息技术在生活中的重要性,激发对信息技术的学习兴趣。
- 通过对通讯录的学习和实际操作,培养学生的责任心和细致严谨的工作态度。
课程性质:本课程为实践性较强的信息技术课程,结合学生年级特点和教学要求,注重培养学生的动手操作能力和团队协作能力。
学生特点:考虑到学生所在年级,他们在信息技术方面已具备一定的基础,对新鲜事物充满好奇心,善于合作学习。
教学要求:结合课程目标和学科特点,教师应注重实践操作,引导学生主动探索、积极思考,将所学知识应用于实际生活中,达到学以致用的目的。
在教学过程中,教师需关注学生的学习进度,及时调整教学策略,确保课程目标的实现。
通过本课程的学习,使学生能够熟练掌握通讯录的制作和管理,提高个人信息素养。
二、教学内容根据课程目标,本章节教学内容围绕通讯录的制作和管理展开,确保内容的科学性和系统性。
以下是详细的教学大纲及教材关联内容:1. 通讯录概述- 介绍通讯录的定义、功能及应用场景。
- 教材章节:第一章 信息技术与日常生活。
2. 通讯录的基本操作- 学习通讯录的录入、修改、删除、查询等操作。
- 教材章节:第二章 电子表格软件的基本操作。
c语言课程设计通讯录管理系统课程设计报告
![c语言课程设计通讯录管理系统课程设计报告](https://img.taocdn.com/s3/m/47bc468aafaad1f34693daef5ef7ba0d4a736d82.png)
c语言课程设计通讯录管理系统课程设计报告一、教学目标本课程旨在通过学习C语言,使学生掌握通讯录管理系统的开发过程,培养学生的编程能力和逻辑思维能力。
具体目标如下:1.知识目标:学生能够理解C语言的基本语法和数据结构,掌握函数的定义和调用,了解面向过程的编程思想。
2.技能目标:学生能够使用C语言编写简单的程序,具备解决实际问题的能力,能够独立完成一个通讯录管理系统的开发。
3.情感态度价值观目标:学生通过课程学习,能够培养对编程的兴趣和热情,增强自我学习的动力,提高团队协作的能力。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、函数的定义和调用,以及面向过程的编程思想。
具体安排如下:1.C语言的基本语法:介绍变量、常量、运算符、表达式等基本概念。
2.数据结构:介绍整数、浮点数、字符等数据类型的使用,以及数组、指针等数据结构。
3.函数的定义和调用:介绍函数的声明、定义和调用,以及函数的参数传递和返回值。
4.面向过程的编程思想:介绍程序的执行流程、循环结构、条件判断等编程控制语句。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法,以激发学生的学习兴趣和主动性。
具体方法如下:1.讲授法:通过讲解C语言的基本语法、数据结构、函数的定义和调用等知识,使学生掌握课程的基本概念。
2.案例分析法:通过分析实际案例,让学生了解编程思想,培养学生的实际操作能力。
3.实验法:安排实验室实践环节,让学生动手编写程序,提高学生的实际编程能力。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。
具体资源如下:1.教材:选用权威、实用的C语言教材,为学生提供系统的学习资料。
2.参考书:推荐学生阅读一些优秀的编程书籍,丰富学生的知识储备。
3.多媒体资料:制作课件、视频等多媒体资料,提高课堂的教学效果。
4.实验设备:提供充足的计算机设备,确保学生能够进行实验和实践。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分,以全面客观地评价学生的学习成果。
C语言课程设计报告 通讯录
![C语言课程设计报告 通讯录](https://img.taocdn.com/s3/m/d96a42e0c67da26925c52cc58bd63186bdeb925d.png)
《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通讯录课程设计报告](https://img.taocdn.com/s3/m/2212bf412e60ddccda38376baf1ffc4ffe47e2f7.png)
c通讯录课程设计报告一、教学目标本课程的目标是让学生掌握通讯录的基本概念、设计和实现方法。
通过本课程的学习,学生应能理解通讯录的结构和功能,掌握通讯录的编写和使用方法,培养学生的实际动手能力和解决问题的能力。
具体目标如下:1.知识目标:学生能够理解通讯录的基本概念,掌握通讯录的设计和实现方法。
2.技能目标:学生能够编写和使用通讯录,解决实际问题。
3.情感态度价值观目标:学生通过学习通讯录,培养对信息技术的兴趣和热情,增强信息处理的实际能力。
二、教学内容本课程的教学内容主要包括通讯录的基本概念、设计和实现方法。
具体安排如下:1.第一章:通讯录的基本概念,介绍通讯录的定义、功能和分类。
2.第二章:通讯录的设计,介绍通讯录的设计原则、方法和步骤。
3.第三章:通讯录的实现,介绍通讯录的编程语言、技术和工具。
4.第四章:通讯录的应用,介绍通讯录在日常生活和工作中的应用场景。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等。
具体方法如下:1.讲授法:通过讲解通讯录的基本概念、设计和实现方法,使学生掌握相关知识。
2.讨论法:学生就通讯录的应用场景和实际问题进行讨论,培养学生的思考和表达能力。
3.案例分析法:分析实际案例,使学生了解通讯录在日常生活和工作中的应用,提高学生的实际操作能力。
4.实验法:安排实验课,让学生动手编写和使用通讯录,培养学生的实际动手能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:选用权威、实用的通讯录教材,为学生提供系统、全面的知识体系。
2.参考书:推荐学生阅读相关参考书,拓展知识面,提高学生的自学能力。
3.多媒体资料:制作课件、视频等多媒体资料,直观展示通讯录的设计和实现过程。
4.实验设备:准备计算机、编程环境等实验设备,确保学生能够顺利进行实验操作。
五、教学评估本课程的评估方式包括平时表现、作业和考试等,旨在全面、客观、公正地反映学生的学习成果。
C语言课程设计报告通讯录
![C语言课程设计报告通讯录](https://img.taocdn.com/s3/m/3ad54fd5d4bbfd0a79563c1ec5da50e2524dd17b.png)
课程设计2009 ~ 2010学年第二学期设计题目通讯录院(系)数理学院专业数学与应用数学班级:学号:学生姓名:设计时间2010年 7 月 5 ——2010 年 7 月 15 日日——2010指导教师提交日期 2010年7月15日上海交通大学课程设计任务书课程名称 程序设计语言课程设计 课程代码 B704010设计题目 1. 算术练习2. 个人收支管理 3. 通讯录 4. 成绩记录簿 5. 图书借阅管理6.日程表管理题目序号 3设计时间 2010年 7 月5 ——日——2010 2010 年 7 月 15 日系(院)理学院专业数学与应用数学班级 09***111一、课程设计任务(条件)、具体技术参数(指标)1.在指导书提供的课程设计题目中选择一题或自选(但需经过指导教师认可)在指导书提供的课程设计题目中选择一题或自选(但需经过指导教师认可) 2. 每个题目限一人完成,题目选定后不可更换。
每个题目限一人完成,题目选定后不可更换。
3. 用户提供的主操作界面应该方便用户的操作。
用户提供的主操作界面应该方便用户的操作。
4.最后提交的课程设计成果包括:最后提交的课程设计成果包括: a) 课程设计报告电子稿。
课程设计报告电子稿。
c) 源程序文件。
源程序文件。
d) 可执行程序文件。
二、对课程设计成果的要求(包括课程设计说明书、图纸、图表、实物等软硬件要求)1. 分析课程设计题目的要求;分析课程设计题目的要求;2. 写出详细设计说明;写出详细设计说明;3. 编写程序代码,调试程序使其能正确运行;编写程序代码,调试程序使其能正确运行;4.设计完成的软件要便于操作和使用,有整齐、美观的使用界面;设计完成的软件要便于操作和使用,有整齐、美观的使用界面; 5. 设计完成后提交课程设计报告和源代码文件的电子文档。
三、课程设计工作进度计划:第一天第一天 选择课程设计题目,分析课题的要求,确定设计方案;计方案;第二天第二天 按功能模块编写详细设计说明和程序流程图;按功能模块编写详细设计说明和程序流程图;第三第三~~六天六天 编写与调试程序;编写与调试程序;第七天第七天 写课程设计报告;写课程设计报告; 第八天第八天 提交课程设计报告并答辩;提交课程设计报告并答辩;四、主要参考资料[1] [1]谭浩强.谭浩强.谭浩强.C C 程序设计程序设计((第三版第三版)).北京:清华大学出版社,.北京:清华大学出版社,2005 2005[2][2]谭浩强.谭浩强.谭浩强.C C 程序设计题解与上机指导程序设计题解与上机指导((第三版第三版)).北京:清华大学出版社,.北京:清华大学出版社,2005 2005 [3] Herbert Schildt [3] Herbert Schildt..C 语言大全(第四版).北京:电子工业出版社.北京:电子工业出版社, 2004 , 2004 [4][4]程序设计语言课程设计指导书.程序设计语言课程设计指导书.程序设计语言课程设计指导书.指导教师(签名):黄飞鸿 教研室主任(签名):黄飞鸿1概1.2课程设计要求1.1.分析课程设计题目的要求;分析课程设计题目的要求;2.2. 写出详细设计说明;写出详细设计说明;3.3. 编写程序代码,调试程序使其能正确运行;编写程序代码,调试程序使其能正确运行;4.4. 设计完成的软件要便于操作和使用,有整齐、美观的使用界面;设计完成的软件要便于操作和使用,有整齐、美观的使用界面;5.5.设计完成后提交课程设计报告和源代码文件的电子文档。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
辽宁工程技术大学高级语言程序设计(C)课程设计报告书设计题目:电子通讯录2013年01月目录一、引言……………………………………二、系统功能和原始数据………………………………………三、程序总体设计………………………………………………四、功能模块函数设计和调试………………………………五、程序清单……………………………………………………六、课程设计总结……………………………………………一、引言通过使用C语言编程实现通讯录管理系统的基本功能,并设计了简单的界面。
该程序主要使用的是数组的相关操作,包括结构体数组的输入、输出、查找、删除等。
用到的知识点是结构体类型定义结构提数组的的定义及应用。
另外还用到了大量的自定义函数。
本人设计的这个通讯录系统也初步实现了人员信息的显示、删除、查找、添加等必要的功能。
二、系统功能和原始数据2.1 原始数据录入内容包括ID号,姓名,性别,出生日期,固定电话号码,移动电话号码,QQ号码,电子邮箱,通讯地址和邮编等。
其中出生日期又包括年份,月份和日期三项。
2.2 系统功能●查找功能:能够提供检索除功能,他可以随心所欲的查找通讯录中任意一位朋友的详细信息。
通讯录结构中的许多项,都可以作为查找的线索,例如出生日期,邮编和姓名。
●自动排序功能:它能提供按姓名等排序的功能●纪录和读盘功能:在用户结束程序时,如果做了改动操作,程序会提示用户是否存盘。
三、程序总体设计和调试3.1 总体设计:包括系统总体设计框架和系统功能模块图;按出生日期查询:输入出生日期显示对应朋友资料按邮编查询:输入邮编显示对应的朋友资料3.2 详细设计:1、主函数:main()显示系统工作菜单,罗列该系统所有功能。
先声明所有将会调用到的函数名。
再运用选择函数switch即可根据使用者所输入的功能代号进入对应的功能程序。
亮点:定义一个全局指针变量*p和全局变量a。
其中a表示当前系统中职工人数,p指向a的地址,追踪人数变化,这样在添加或者删除导致人数变化后,浏览函数display()能够正确显示出当前人数的职工信息。
宏定义define N指定首次输入的职工人数,可根据不同需要随时更改。
2、输入函数:void input()定义一个结构struct employee和数组em[N]用来储存N个朋友的所有信息(ID号em[i].number,姓名em[i].name,性别em[i].sex,生日em[i].birthday,电话em[i].phone,手机em[i].mobile,QQem[i].qq,邮编em[i].zip)。
通过for循环输入所有职工信息。
用orintf语句提示需要输入的内容,接着用scanf 语句输入相应内容。
输入完毕后套用保存函数save(N)将所有输入信息写入指定文件。
3、保存函数:void save(int m)定义文件指针fp,用fopen"只写"打开指定在D盘的“d://bbb.txt”文本文件。
首先用if语句判断文件是否打开成功,若fopen返回值不为0,则可继续下面操作。
用for循环通过fprintf语句将结构数组em中的内容写入保存在D盘的文本文件里面。
形参m指需要写入文件的职工人数。
最后关闭文件。
4、导出函数:void load(int b)首先判断fopen"只读"打开“d://bbb.txt”是否成功,若其返回值不为零,继续下面操作。
用for循环通过fscanf语句将文件中的朋友资料取出放到em 结构数组里面。
形参b指需要导出的朋友。
最后关闭文件。
5、浏览函数void display(int a)声明整形变量i和b,其中i记录输出的朋友序数,b用来接收调用浏览函数时所传递过来的实参,接着将其值传递给导出函数load(b),使得导出的朋友人数与浏览的朋友人数保持一致。
通过调用load函数后(即给em数组附值),用for循环输出每个朋友的各种信息。
6、查询函数void search()声明整形变量t,先用printf语句显示查询菜单,用scanf输入选择的查询方式代号,用switch(t)进入所选择的具体查询函数,包括按出生日期查询、按姓名查询、邮编查询三种方式。
7、,删除函数void del(int *b)声明整形变量i,j,t,m,a和char形数组name[20]。
其中给a附初始值a=*b,表示当前朋友人数。
首先调用浏览函数display(a),显示所有朋友信息,便于使用者审阅需删除的对象。
用printf语句提示“输入要删除的朋友名字”,接着用scanf语句输入删除对象名字。
用for循环,循环主体是先判断中是否存在所输入的名字(调用字符串比较函数stecmp)。
若存在,printf语句提示是否确认删除,用scanf语句输入确认指令,再用for循环从要删除的这个朋友开始,依次用后一个朋友的信息覆盖前一个的。
循环结束后当前朋友人数a自减1,并保存,跳出大循环;若不存在,输出“输入错误,无此人”。
再将a的新值附给*b,实参p所指的人数地址中的人数也随即改变删除后的人数。
printf提示下一步操作“继续删除请按1\n浏览信息请按2\n返回主菜单请按3”。
switch 根据键盘输入的指令代号选择下一步连接的函数。
3.3 调试与测试:遇到最大的问题是所有程序代码编完放在一起后,虽然能够成功运行,但使用时如果朋友人数发生变化,会导致文件后部出现乱码。
若要使每次运行都正常,必须在人数改变后退出程序,修改宏定义N的值。
这样很不方便,不能够连续运行。
为解决这一大问题,最后我想到了定义一个全局指针变量,用来追踪最新的人数。
特别是删除和添加这两个会导致人数变化的函数中,全局指针变量p起了很大作用。
经过一边修改一边调试,最终可以成功的用p串联整个函数,在连续运行时,总能根据最新的人数调用各个函数。
另外在串联所有函数时,调试提示出错:有几个函数“redefinition; different basic types”解决:在函数名前加void指明类型。
整个程序代码是分块书写的,每个函数都可以独立运行。
只有输入函数查询菜单函数写得很顺利,一次性就能够成功运行,其他函数在调试过程中或多或少都出现了问题。
(1)、数save()在调试和链接的时候都没有出现错误提示,但在运行的时候出现了问题。
写入指定位置的文件,打开后总会有乱码。
与c语言课本上的例题对照后发现,我写的fopen("d://bbb","w")没有指定文件的存储类型。
解决方法:在文件名bbb后面加上.txt后即可。
(2)、load()遇到两个问题。
1是为图方便直接将保存函数复制过来进行修改时,忘了修改文件的打开方式,不能运行。
经多次检查后终于发现了,解决:将只写"w"改为只读"r"。
2是用fscanf语句时,漏写地址符。
调试和链接都没问题,但点击运行后,总出现一个提示出错的蓝色小窗口。
经老师提时候发现了错误所在。
解决:在em[i].name等之前加上地址符。
(3)、函数display()遇到的问题虽然不大,但解决起来很麻烦。
理想的运行结果是美观整齐。
即下面的朋友信息分别与第一个printf输出的中文项目提示对齐。
解决方法:不断修改空格个数,不断运行察看效果。
(4)、历查询函数search_xueli(),要考虑输入一种学历,可能对应出很多朋友,这就不能延用按姓名和朋友号查询中判断是否输入错误的方法了。
为了显示出所有具有该学历的朋友,就需要让for循环一直运行到最后一个为止。
这时计量数i始终会等于朋友人数,不能再用i来判断是否不存在此人。
这就需要再定一个整形变量k,用来计量单独的一个循环次数。
(5)除函数del()的难点在于多次删除。
即在删除掉第一个人以后,现有朋友人数发生改变,而宏定义中的N却是不变的。
最开始我想到了用static定义一个整形变量a来计量当前人数。
这在单独运行删除函数时,可以成功的连续删除。
最后所有函数串在一起时,有了更好的解决方法,全局指针。
四、功能模块函数设计和调试(一)系统调试在完成了通讯录管理系统的流程图设计和程序设计以后,便进入系统的调试阶段。
系统的调试步骤和方法基本上是相同的,但具体细节和所采用的开发系统以及用户系统,如本设计选用VC++6.0软件进行程序调试。
1、VC++6.0调试方法1.启动VC,单击File菜单,并单击其子菜单New ,在弹出的窗口中选择Win32 Console Application,在右边Project name下方的文本框中输入项目名称,在Location中选择项目存放的位置,可以选择默认目录,也可自己更改。
单击OK。
点击Finish按钮新建一个工程。
2.单击File菜单,并单击其子菜单New选择C++Source File 选择Add to Project前的复选框,在File下的文本框中输入文件名。
3.编写好程序后,对程序进行编译,单击Build菜单,选择Compile **.并单击改选项就可以进行编译。
若在屏幕下方的小窗口中显示**.obj-0error(s),0 warning(s),则表明编译成功。
若error不为0,则程序有错误,应先找到错误并改正直到没有错误为止。
4.程序经过编译生成.obj的目标文件后还要对程序进行链接生成.exe文件,该文件生成后即可运行,运行程序之后,屏幕会出现一个合黑色窗口,运行结果显示其中。
本程序的运行结果如图所示。
图四程序调试软件窗口图五程序调试窗口2、调试结果分析程序调试的任务是发现和改正程序中的错误,使程序能正常运行。
编译系统能检查出程序中的语法错误。
语法错误分为两类:一类是致命错误,以error 表示,如果程序中有这类错误,就通不过编译,无法形成目标程序,更谈不上运行了。
另一类是轻微错误,以warning(警告)表示,这类错误不影响生成目标程序,但有可能影响运行的结果,因此也应当改正,使程序既无error,又无warning.(二)调试过程存在问题与解决办法1、调试存在的问题从调试信息窗口所示的信息中可以看到:第51行有一个警告,意思是函数应该有一个返回值,void 返回类型得忽略。
第253行有一个错误,意思是句法错误:在“}”前丢了“;”。
2、解决问题的办法双击调试信息窗口中的第1个报错行,这时在程序窗口中出现一粗箭头指向被报错的程序行(第51行),提示改错位置,在main前加void。
再用同样的方法找到第二个出错位置,在第253行的末尾加上分号。
再仔细阅读程序,认为应该没有问题了在再进行重新编译,此时编译信息告诉我:0 error(s),0 warning(s),既没有致命错误(error)也没有警告性错误(warning)。