C语言课程设计报告(学生通讯录管理系统设计)资料
c语言学生通讯录管理系统设计

C语言学生通讯录管理系统设计1. 系统概述本文档描述了一个基于C语言的学生通讯录管理系统的设计。
该系统旨在提供一个简单而有效的方式来管理学校中学生的联系信息。
2. 功能需求学生通讯录管理系统需要满足以下功能需求:•添加学生信息:包括学生姓名、学号、年级、班级、电话号码等。
•删除学生信息:根据学号或姓名删除指定学生的信息。
•修改学生信息:根据学号或姓名修改指定学生的信息。
•查询学生信息:根据学号或姓名查询指定学生的信息。
•显示所有学生信息:展示学生通讯录中所有学生的信息。
3. 系统设计3.1 数据结构系统使用以下数据结构来表示学生通讯录:struct Student {char name[50];int studentID;int grade;int class;char phoneNumber[20];};struct StudentDirectory {struct Student students[100];int count;};学生通讯录使用一个结构体数组来存储学生信息,每个学生信息包含姓名、学号、年级、班级和电话号码。
StudentDirectory结构体用于存储整个学生通讯录,count表示当前学生通讯录中的学生数量。
3.2 模块设计系统的实现可以分为以下几个模块:•输入输出模块:负责从用户获取输入以及将结果输出给用户。
•添加学生信息模块:负责向学生通讯录中添加新的学生信息。
•删除学生信息模块:负责从学生通讯录中删除指定学生的信息。
•修改学生信息模块:负责修改学生通讯录中指定学生的信息。
•查询学生信息模块:负责查询学生通讯录中指定学生的信息。
•显示学生信息模块:负责展示学生通讯录中所有学生的信息。
3.3 系统流程下图展示了学生通讯录管理系统的基本流程:flowchart LRA[开始]B[用户输入选项]C{选项是添加学生信息?}D[执行添加学生信息模块]E{选项是删除学生信息?}F[执行删除学生信息模块]G{选项是修改学生信息?}H[执行修改学生信息模块]I{选项是查询学生信息?}J[执行查询学生信息模块]K{选项是显示所有学生信息?}L[执行显示学生信息模块]M[结束]A --> BB -- Yes --> CB -- No --> EC -- Yes --> DC -- No --> ED --> ME -- Yes --> FE -- No --> GF --> MG -- Yes --> HG -- No --> IH --> MI -- Yes --> JI -- No --> KJ --> MK -- Yes --> LK -- No --> ML --> M4. 系统实现系统的具体实现可以参考下面的示例代码:```c #include <stdio.h>struct Student { char name[50]; int studentID; int grade; int class; char phoneNumber[20]; };struct StudentDirectory { struct Student students[100]; int count; };void addStudent(struct StudentDirectory* directory) { // 从用户获取学生信息并添加到学生通讯录中 }void deleteStudent(struct StudentDirectory* directory) { // 从用户获取学生信息并从学生通讯录中删除 }void modifyStudent(struct StudentDirectory* directory) { // 从用户获取学生信息并修改学生通讯录中指定学生的信息 }void queryStudent(struct StudentDirectory* directory) { // 从用户获取学生信息并查询学生通讯录中指定学生的信息 }void showAllStudents(struct StudentDirectory* directory) { // 显示学生通讯录中所有学生的信息 }int main() { struct StudentDirectory directory; directory.count = 0;int option;while (1) {printf(\。
通讯录管理系统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语言通讯录管理系统课程设计报告报告标题:C语言通讯录管理系统课程设计报告1. 引言本报告旨在介绍并分析本次课程设计所涉及到的C语言通讯录管理系统的设计与实现过程。
2. 设计目标•开发一个功能完善的通讯录管理系统•实现基本的通讯录管理功能,包括添加、删除、查询、修改联系人信息等•提供良好的用户交互界面,方便用户使用该系统•提高系统的效率和稳定性,确保数据的安全性3. 系统设计概述本通讯录管理系统基于C语言开发,主要包括以下几个模块: - 用户管理模块:实现用户注册、登录、退出等功能 - 联系人管理模块:实现联系人的增删改查等功能 - 数据存储模块:使用文件系统进行数据的读写操作数据结构设计本系统使用了以下数据结构: - 用户结构体:包含用户名、密码等信息 - 联系人结构体:包含姓名、电话号码、地址等信息功能模块设计•用户管理模块:提供用户注册、登录、退出等功能•联系人管理模块:提供联系人的添加、删除、查询、修改等功能•数据存储模块:实现数据的读取与保存功能4. 实现细节用户管理模块•注册功能:获取用户输入的用户名和密码,存储到用户数据文件中•登录功能:根据用户输入的用户名和密码,从用户数据文件中验证登录信息•退出功能:退出当前用户,返回系统主界面联系人管理模块•添加联系人功能:获取用户输入的联系人信息,存储到联系人数据文件中•删除联系人功能:根据用户输入的联系人姓名,从联系人数据文件中删除对应的联系人信息•查询联系人功能:根据用户输入的关键词,从联系人数据文件中查找匹配的联系人信息•修改联系人功能:根据用户输入的联系人姓名,从联系人数据文件中修改对应的联系人信息数据存储模块•读取数据功能:从文件中读取用户和联系人的数据•保存数据功能:将用户和联系人的数据保存到文件中5. 测试与优化本系统在开发过程中进行了多次测试和优化,确保系统的稳定性和功能完善性。
通过模拟用户的操作,检测系统的响应速度、功能是否正常等,并对系统进行了性能调优和bug修复。
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语言课程设计--学生通讯录管理系统设计

一、题目内容的描述学生通讯录管理系统设计设计一个学生通信录,学生通迅录数据信息构成内容可自行设计(如:姓名、家庭地址、邮政编码、电话号码等等),通信录数据类型定义为结构体类型。
由键盘输入数据(最好要考虑输入数据输入的格式及输入数据的有效性),然后进行以下的功能实现。
程序要求主函数是一个功能选择菜单,其它各功能都用各自的函数实现。
功能要求如下:1、能建立、修改和增删学生通讯录2、能够按多种方式进行查询,例如按姓名、按电话号码等。
3、通讯录的数据保存在文件中,运行程序时将通讯录数据从文件读取到内存中。
对通讯录进行增加、删除、修改学生数据后,提供功能菜单,可以将内存中修改过的通讯录重新保存至文件。
二、应用程序功能的详细说明1、应用程序实现了可视化的系统操作界面。
2、对学生通讯录形成了系统化的管理,操作简便明了。
3、程序具有系统帮助,添加、显示、查询、刷新、删除、排序、保存、修改、读取学生通讯录的功能。
各项功能均可按照文字提示操作,浅显易懂。
4、系统的各个功能模块都用函数的形式来实现(readfile()、seek()、modify()、sort()、insert()、del()、save()、menu())方便查看。
5.可以将信息保存在文件("student.txt")中,亦可将信息从文件中读取出来,灵活方便。
三、主要模块的算法描述模块一:头文件,变量定义,函数的声明对系统所使用的变量进行定义,对函数进行声明。
模块二:录入学生信息声明函数void readfile(),说明一个文件指针FILE *fp打开文件"student.txt"。
模块三:学生信息的查找声明void seek()为查找函数,通过switch(item)设定用学号查找,用姓名查找两个分支。
模块四:学生信息的修改声明void modify()为学生信息修改函数,通过switch(item)设定所要修改的项目。
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语言课程设计 - 学生通讯录管理系统1. 引言学生通讯录管理系统,简称STMS(Student Telephone Management System),是一款基于 C 语言开发的学生通讯信息管理系统。
该系统旨在帮助学校或其他机构方便地管理学生通讯录信息,包括学生的基本信息、联系方式等。
本文档将介绍该系统的设计要求、功能模块、数据结构、算法以及使用方法。
2. 设计要求学生通讯录管理系统应满足以下设计要求:•能够实现学生信息的添加、删除、修改和查询等基本操作;•提供用户友好的界面,方便用户进行操作;•数据存储应使用文件方式进行,确保数据可以持久保存;•提供合理的错误处理机制,提示用户操作引起的错误并给予相应的错误提示。
3. 功能模块学生通讯录管理系统包含以下功能模块:3.1 用户管理模块该模块用于管理系统注册的用户信息,包括用户的登录名、密码等。
•用户登录:用户输入用户名和密码,系统验证登录信息并提供相应权限;•用户注册:新用户可以通过该功能注册账号,并设置登录密码;•用户权限管理:系统根据用户不同的角色分配相应的权限。
3.2 学生信息管理模块该模块用于管理学生的基本信息和通讯录信息。
•添加学生信息:用户可以添加学生的基本信息和联系方式;•删除学生信息:用户可以根据学生的ID删除特定学生的信息;•修改学生信息:用户可以修改指定学生的信息;•查询学生信息:用户可以根据学生的姓名或其他关键词进行学生信息的查询。
3.3 通讯录管理模块该模块用于管理学生的通讯录信息,包括通讯录的名称、联系方式等。
•添加通讯录:用户可以添加新的通讯录,并指定通讯录的名称;•删除通讯录:用户可以根据通讯录的名称删除指定的通讯录;•修改通讯录:用户可以修改已存在的通讯录的名称;•查询通讯录:用户可以根据通讯录的名称查询对应的联系方式。
4. 数据结构学生通讯录管理系统采用以下数据结构:4.1 学生结构体typedef struct {int id; // 学生IDchar name[20]; // 学生姓名char gender; // 学生性别char phone[11]; // 学生电话号码char email[50]; // 学生电子邮箱} Student;4.2 通讯录结构体typedef struct {char name[50]; // 通讯录名称char phone[11]; // 通讯录联系方式} Directory;5. 算法学生通讯录管理系统采用以下算法实现部分功能:5.1 添加学生信息```c void addStudent() { Student student; // 用户输入学生信息 printf(。
C语言课程设计报告(学生通讯录管理系统设计)

课程设计报告(本科)课程:高级语言程序设计学号:姓名:秦钱军班级:2013级计算机科学与技术教师:冯凤时间:2014年1月计算机科学与技术系1结果与分析(可以加页):主界面:按1录入学生通讯录信息:2按2查看所有学生信息:3按3按姓名查找学生信息:按4按学号查找学生信息:4按5删除学生信息:删除后:5按6将通讯录信息排序:按0退出:6程序已实现对学生信息的录入、按姓名查询、按学号查询和删减,唯一的不足之处是没能实现对学生信息的修改。
设计体会与建议:课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机应用在是生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握计算机开发技术十分重要的。
具体的各个函数是参照课本上《链表》那一章的内容的,比如结构体的建立、78#include<stdio.h>#include<string.h>#include<malloc.h>#include<stdlib.h>#include<conio.h>#define NULL 0struct student{long num;char name[20];int banji;char tel[11];char Email[20];int sushe;struct student *next;};struct student *stu;int n;void menu(void){ /*主菜单函数*/system("cls");puts("************************************************************************** **");puts("** ^_^学生通讯录管理系统^_^ **");puts("************************************************************************** **");puts("************");puts("***** 1=录入学生通讯录信息*****");puts("**** 2=列出所有学生通讯录****");puts("*** 3=按姓名查询信息***");puts("** 4=按学号查询信息**");puts("* 5=删除学生信息*");puts("** 6=按学号将通讯录排序**");puts("***** 0=退出puts("**********");puts("************");puts("**************");puts("************************************************************************** **");}struct student *shuru(void) /*输入函数*/{system("cls");struct student *s1,*s2;n=1;int num;puts("请输入学生个数(提示:个数不能输入0!):");scanf("%d",&num);s1=s2=(struct student *)malloc(sizeof(struct student));puts("*************************************************");puts("请输入学号:");scanf("%ld",&s1->num);puts("请输入学生姓名:");scanf("%s",s1->name);puts("请输入班级:");scanf("%d",&s1->banji);puts("请输入电话号码:");scanf("%s",s1->tel);puts("请输入电子邮件:");scanf("%s",s1->Email);puts("请输入学生宿舍号:");scanf("%d",&s1->sushe);stu=s1;while(n<num){s2->next=s1;s2=s1;s1=(struct student *)malloc(sizeof(struct student));puts("*************************************************");puts("请输入学号:");scanf("%ld",&s1->num);puts("请输入学生姓名:");scanf("%s",s1->name);puts("请输入班级:");scanf("%d",&s1->banji);puts("请输入电话号码:");scanf("%s",s1->tel);puts("请输入电子邮件:");scanf("%s",s1->Email);puts("请输入学生宿舍号:");scanf("%d",&s1->sushe);n=n+1;}puts("*************************************************");s2->next=s1;s2=s1;s2->next=NULL;return(stu);//system("cls");}void shuchu(struct student *s){ /*输出单个学生信息*/printf("* %-8ld",s->num);printf("%-15s",s->name);printf("%-8d",s->banji);printf("%-15s",s->tel);printf("%-15s",s->Email);printf("%-5d *\n",s->sushe);}void findall() /*输出所有学生信息*/{system("cls");struct student *s;//if(n=2)//printf("\n现在有%d个学生信息,分别是:\n",n);//elseprintf("\n现在有%d个学生信息,分别是:\n",n);puts("________________________________________________________________________"); puts("* 学号姓名班级电话电子邮件宿舍*"); s=stu;while(s!=NULL){shuchu(s);s=s->next;}puts("________________________________________________________________________");puts("返回主菜单请按【9】");if(getche()=='9') menu();}void findname(){ /*按姓名查找函数*/system("cls");struct student *s;char name[20];printf("\n请输入你要查询的学生姓名:\n");scanf("%s",name);s=stu;while(strcmp(s->name,name)!=0){s=s->next;}if(s==NULL){puts("查无此学生姓名!");goto end;}else{puts("该学生的信息为:");puts("* 学号姓名班级电话电子邮件宿舍*");shuchu(s);}end:;puts("返回主菜单请按【9】");if(getche()=='9') menu();}void findnum() /*按学号查找函数*/{system("cls");struct student *s;puts("请输入你要查询的学生学号:");long i;scanf("%ld",&i);s=stu;while(s->num!=i){s=s->next;}if(s==NULL){puts("查无此学生学号!");goto end;}else{puts("该学生的信息为:");puts("* 学号姓名班级电话电子邮件宿舍*"); shuchu(s);}end:;puts("返回主菜单请按【9】");if(getche()=='9') menu();}struct student *shanchu(struct student*stu) /*删除函数*/{system("cls");long num;char s;struct student *s1,*s2;if(stu==NULL){puts("没有任何学生信息。
C语言程序课程设计报告———通讯录管理系统

海南大学C语言程序课程设计报告学号:***************名:***年级:2012级学院:经济与管理专业:信息管理与信息系统分数:通讯录管理系统一、需求分析设计题目及要求:◆建立通讯录信息,信息包含姓名、籍贯、电话号码、电子邮箱等;◆能够提供添加、删除和修改通讯录信息的功能;◆能够提供安不同方式查询的功能;如按姓名或籍贯、电话等查询;◆将通讯录保存在文件中;◆能够按表格方式输出通讯录信息。
系统功能需求分析:主要包含一下多种功能:1)添加:添加通讯录记录2)显示:显示通讯录记录3)删除:删除通讯录记录4)查询:查询通讯录记录5)修改:修改通讯录记录6)保存:将信息保存到文件二、概要设计系统功能模块图:添加:可以添加通讯录记录,依次输入姓名、电话号码、籍贯、电子邮箱后,会提示是否继续添加。
显示:可以以表格形式输出所有通讯录里的记录删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容查询:可以选择用姓名、、籍贯三种方式查询修改:输入欲修改的那个人的名字后,再依次输入姓名、电话号码、籍贯、电子邮箱即可完成修改保存:输入文件名(带后缀名)后,即可将通讯录信息保存到文件三、程序设计与分析1.1问题提出有个通讯录,要求该系统对通讯录的姓名,籍贯,电话号码,电子邮箱,进行输入,显示,查找,删除,添加,修改,保存等操作的管理。
1.2本系统涉及知识点本系统涉及到所学的知识点有:编译预处理、循环结构、选择结构、顺序结构、数组、函数等。
1.3 功能要求●制作一个通讯录,要求可以记录通讯人的详细联系方式,包括:,籍贯,电话号码,电子邮箱。
●能根据需要随时在通讯录中添加联系人●能根据联系人姓名,籍贯,电话号码中任一信息查找联系人●能根据需要修改某联系人的信息●能删除某联系人的所有详细信息1.4 各模块结构功能及程序说明◆各模块的功能➢Main 模块:根据选单内容实现调用函数➢Delete 模块:删除通讯录中某人信息➢List 模块:显示通讯录中所有人的信息◆程序说明Main 函数void main() /*主函数*/{int n=0;for(;;){switch(menu_select()){case 1:printf("\n\t添加记录到通讯录\n"); /*添加记录*/n=Input(pe,n);break;case 2:printf("\n\t\t\t 通讯录记录表\n"); /*显示记录*/Display(pe,n);break;case 3:printf("\n\t从通讯录中删除记录\n");n=Delete_a_record(pe,n); /*删除记录*/printf("\t");system("pause");break;case 4:printf("\n\t在通讯录中查找记录\n");Query_a_record(pe,n); /*查找记录*/printf("\t");system("pause");break;case 5:printf("\n\t修改通讯录中的记录\n");Change(pe,n); /*修改数据*/printf("\t");system("pause");break;case 6:printf("\n\t保存功能\n");WritetoText(pe,n); /*保存数据*/printf("\t");system("pause");break;case 0:printf("\n\t\t谢谢使用,再见!\n"); /*结束程序*/printf("\n\t\t");system("pause");exit(0);}}}四、通讯录工作流程图①添加:添加通讯录记录②显示:显示通讯录记录③删除:删除通讯录记录④查询:查询通讯录记录⑤修改:修改通讯录记录先选择查询方式,以姓名查询方式为例五、调试过程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语言课程设计姓名:刘显学号:09041131班级:090411专业:计算机科学与技术学院:信息工程学院设计题目:学生通讯录管理系统指导教师:宋文琳提交时间:2010年9月4日课程题目:学生通讯录管理系统要求:学生通讯录信息包括:学号、姓名、班机、联系电话、E-mail、宿舍等主要功能:1、通讯录信息录入功能2、通讯录信息删除功能3、通讯录信息浏览功能4、通讯录信息查询功能5、按学号排序功能一、总体设计首先,整个系统必须有一个主函数,为了尽量提高程序的易修改性,且不至于相互干扰,将每一个功能分成不同的模块,用不同的函数来实现,例如在我写的这个程序中,一共用了11个函数,分别是:主菜单函数menu()、关于函数gaunyu ()、帮助函数help()、输出单个学生信息函数shuchu()、输入函数shuru()、输出所有学生信息函数findall()、按姓名查找函数findname()、按学号查找函数findnum ()、删除函数shanchu()、排序函数paixu ()、主函数main(),这样在整个程序的设计过程中也就一目了然,写起来也相对轻松了不少。
这个程序我只是总体上参考了一下网上程序的架构,具体的各个函数是参照课本上《链表》那一章的内容的,比如结构体的建立、查找和排序等功能,这些书上都有类似的,其中排序功能虽没有原版的,但是在第六章中有一个用冒泡法排序的例题,我就是仿照这个模式来对结构体进行排序的,总之整个程序中蕴含了我很多的汗水。
二、具体设计关于这个程序的具体设计,也不是一两句话就能说完的,所以我也不想再在这里赘述了,因为程序里都可以看的到,几乎每个函数都倾注了我的大量汗水,我在这上面花了不少的时间,不过从中也收获了很多,因为不停地修改不停的调试,总之还是直接看源程序吧,因为也没必要在这里重复地说废话。
三、源代码以下是整个程序的源代码,其中我的主菜单函数是很美观的,但由于这里字体和板式的限制,不能很好的显现,可以看我下面程序运行的截图就知道了。
C语言课程设计---学生通讯录管理系统

C语言课程设计---学生通讯录管理系统。
一、系统背景学生通讯录管理系统是一个收集、管理完善学生信息的设计方案,用于关注学生个人详细信息,包括学生姓名,性别,年龄,家庭住址等,旨在为学校、家长提供全面、及时的信息管理服务,使用简单、实用性强,并可以根据实际需求,调整系统功能内容及操作流程的学生通讯录管理系统。
二、系统功能1、信息录入:管理员可以对学生信息进行录入,包括学生的学号、姓名、性别、年龄、家庭住址、父母电话号码等。
3、信息查询:管理员可以根据学生学号、姓名等搜索学生信息,可以快速找到所需的学生节点信息。
4、信息统计:系统可以依据信息的个性化特点,自动生成学生通讯录,便于管理人员查阅。
5、用户管理:管理员可以管理系统用户的用户名、密码、权限等,并可以根据需求增加、修改、删除用户账号信息。
三、系统流程1、系统开发:从需求分析、详细设计、界面设计到程序编码完成,包括系统功能模块开发,业务流程分析,数据库设计,数据交互,压力测试,过程控制,系统安全,系统维护与更新等,以确保系统可靠性。
2、部署与安装:系统部署完毕后,需要完成服务器端基本信息采集,如确定服务器IP地址,运行环境,程序配置,操作系统配置,备份配置,文件安全配置,权限设置等安装步骤,以确保系统安全性。
3、运行维护:根据系统实际应用情况,工程师应对系统及数据库进行定期检查,完善系统运行日志,以及故障分析,体系数据库定期备份,完善系统的安全及性能,以确保系统正常运行。
四、系统实施1、硬件及软件:学生通讯录管理系统的实施需要运行在较新的计算机硬件系统上,需要使用Windows操作系统,是采用C语言作为开发语言,开发工具可以采用Visual Studio C++、Embarcadero C++ 11或以上,数据库系统采用Oracle 9i或者MySQL。
2、系统测试:针对系统实际功能,专业测试工程师应当进行系统测试, 并对测试结果进行分析,能够及时发现和修正系统中可能存在的严重错误和不确定性缺陷, 从而获得系统良好的可靠性。
c语言课程设计报告通讯录管理系统

一:需求分析二:总体设计三:详细设计四:调试与测试五;测试结果六:本次课程设计的心得体会七:附录本程序设计亮点介绍(及)改进方面1.在修改函数中,可以实现单条记录修改(运用switch)2.查询函数中,能返回该函数继续查询(运用了递归)3.使用变量少,仅通过变量i的递加和表示成员数的变量n就实现了数据结构体之间的联系4.界面美观,使用方便5.允许编号输入为字符6.在显示函数上能够分屏显示(换页)缺点在输入数据时,未输完一个成员的所有信息不能退出输入一:需求分析A.需要实现的功能有:输入功能、输出功能、显示功能、查找功能、以及增加、删除、修改功能。
输入功能要求一次完成若干信息的输入;显示功能要能完成所有信息的显示,并且自动分页;查找可以通过多种方式进行。
按需求的功能,应该设计出输入函数、输出函数、显示函数、查找函数、修改函数。
另需要一个标准界面。
B.数据存储问题这个系统数据庞大复杂,需要需要适当应用数组,循环,结构体,文件操作等基本语句及稍有难度的语句。
因此要求我们熟练掌握结构化程序设计的基本思路和方法,在所掌握的基本知识和技能的基础上,进一步提高自学能力和查找资料的能力,解决一定程度的复杂的结构化程序设计问题,加深对所学知识的理解与掌握,利用自己所学知识解决实际问题的能力,为以后的程序开发打下基础。
二:总体设计主要结构图示本程序由主函数和多个子函数组成,可执行多种数据管理的功能。
具体通过c语言中结构体数组来实现。
主函数主体为定义的结构体,和一个switch函数,以提供多种程序操作功能。
主要需运用到结构体数组、文件、函数等内容知识。
子函数有六个,分别负责添加、显示、删除、查询、修改、保存的功能。
通过变量i使结构体数组之间达成数据链表的功能,利用该方法主要考虑到成员中对于结构体指针尚未熟练掌握,而这种方法更加便捷易懂。
子函数功能介绍1.添加:输入成员信息,依次输入编号、姓名、QQ、电话号码、单位、电子邮箱、身份。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
回顾起此次课程设计,至今我仍感慨颇多,的确,从从拿到题目到完成整个编程,从理论到实践,在整整半个学期的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体……通过这次课程设计之后,一定把以前所学过的知识重新温顾。
删除后:
按6将通讯录信息排序:
按0退出:
程序已实现对学生信息的录入、按姓名查询、按学号查询和删减,唯一的不足之处是没能实现对学生信息的修改。
设计体会与建议:
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机应用在是生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术十分重要的。
stu=shuru();
system("cls");
menu();
puts("\n学生信息录入完毕,请输入你的选择(0~6):\n");
break;
case '2':findall();puts("\n请输入你的选择(0~6):"); break;
case '3':findname();puts("\n请输入你的选择(0~6):"); break;
{
long num; //学号
char name[20]; //姓名
int banji; //班级
char tel[11]; //号码
char Email[20]; //邮箱
int sushe; //宿舍
struct student *next; // next是指针变量,指向结构体变量
};
整个系统必须有一个主函数,为了尽量提高程序的易修改性,且不至于相互干扰,将每一个功能分成不同的模块,用不同的函数来实现,例如在我写的这个程序中,一共用了9个函数,分别是:
目的与要求:
设计学生通讯录
1.主要功能:(1)能建立、修改和增减学生通讯录
(2)能够多种方式进行查询
2.要求:界面友好,易于操作,采用文件存储数据。
计划与进度安排:
12月20日至12月22日:研究题目的要求及所给条件,综合分析实验应该达到的目标,探讨实验需要使用的方法和解决此问题的实际情况,图书馆查阅相关资料,综合比较;
12月23日至12月25日:设计解题的方法和具体步骤,并进行分步思考,利用主菜单函数menu()将程序模块化,在进行各个模块的设计和制作方案,绘制实验的流程图,再将各个模块综合,将各个函数运用于主函数中,绘制主函数的流程图,综合运用所有的函数;
12月26日至12月31日:查阅书籍,仔细研究书本上的例题,再结合网络资料,结合各方面所得的资料,编写程序,仔细修改程序;
删除函数 struct student *stushanchu(struct student *stu);
排序函数 void paixu();
主函数 void main(),
这样在整个程序的设计过程中也就一目了然,写起来也相对轻松了不少。
下面是摘自源程序的主函数:
void main() /*主函数*/
{
char a;
menu();
puts("\n您为首次使用本系统,建议您按1开始录入学生信息,");
a=getche();
while(a){
puts("");
switch(a)
{
case'0':goto end;break;
case '1':
puts("\n好了,您可以开始向本系统录入学生通讯录信息了:");
课程设计报告
(本科)
课程:
高级语言程序设计
学号:
1310411031
姓名:
秦钱军
班级:
2013级计算机科学与技术
教师:
冯凤
时间:
2014年1月
计算机科学与技术系
设计名称:
学生通讯录管理系统设计
设计内容、目的与要求:
设计内容:设计一个学生通讯录,学生通讯录数据信息构成内容可自行设计(如:姓名、家庭地址、邮政编码、电话号码等等),通讯录数据类型定义为结构类型。
1月1日至1月2日:调试程序,运行程序,再次将程序修改;
1月3日至1月5日:完善程序,仔细填写课程设计报告,再次认真阅读程序并熟悉程序,为验收做最后的准备。
设计过程、步骤(可加页):
整个程序主要使用了结构体类型,结构体类型充当了整个程序的骨架,将各个程序段有机巧妙的结合在一起。例如:
struct student //声明一个结构体类型struct student
default:puts("输错了!按数字1键录入学生信息吧!"); break;
}
a=getche();
}
end:;
puts("谢谢您使用本系统,欢迎再次使用!");
}
结果与分析(可以加页):
主界有学生信息:
按3按姓名查找学生信息:
按4按学号查找学生信息:
按5删除学生信息:
case '4':findnum();puts("\n请输入你的选择(0~6):"); break;
case '5':stu=shanchu(stu);puts("\n请输入你的选择(0~6):"); break;
case '6':paixu();puts("\n请输入你的选择(0~6):"); break;
主菜单函数 void menu(void);
输入函数 struct student *shuru(void);
输出单个学生信息函数 void shuchu(struct student *s);
输出所有学生信息函数 void findall();
按姓名查找函数 void findname();
按学号查找函数 void findnum();