学生通讯录管理系统

合集下载

学生手机通信录管理系统

学生手机通信录管理系统

学生手机通信录管理系统学生手机通信录管理系统文档一、系统说明学生手机通信录管理系统是一款方便学生进行联系人信息管理的应用程序,主要针对学生的使用需求,能够方便地添加、修改、删除联系人信息,同时提供了快速查找和导出通讯录的功能。

二、主要功能1.添加联系人:学生可通过学生手机通信录管理系统添加新的联系人,并可以输入联系人的姓名、电话、邮箱、地址等相关信息。

2.编辑联系人:编辑联系人时,可以修改联系人的信息,例如修改电话号码等。

3.删除联系人:学生可以在学生手机通信录管理系统中删除联系人信息,以避免产生重复的联系人信息。

4.快速查找:学生在需要查找联系人时,可以直接输入姓名或电话号码进行查找,以快速定位到相应的联系人。

5.导出通讯录:学生可以将通讯录导出为CSV文件,以便后续使用。

三、使用说明1.启动系统:学生首先需要下载学生手机通信录管理系统并安装,在安装完成后,启动系统。

2.添加联系人:点击“添加联系人”按钮,填写你需要添加的联系人的姓名、电话、邮箱、地址等相关信息即可。

3.编辑联系人:在学生手机通信录管理系统中选中需要编辑的联系人,然后点击“编辑联系人”按钮进行联系人信息的修改。

4.删除联系人:在学生手机通信录管理系统中选中需要删除的联系人,然后点击“删除联系人”按钮即可删除该联系人。

5.快速查找:在学生手机通信录管理系统中输入“姓名”或“电话”进行快速查找相应的联系人信息。

6.导出通讯录:在学生手机通信录管理系统中点击“导出通讯录”按钮即可将通讯录导出为CSV文件。

四、系统优势学生手机通信录管理系统能够让学生方便地管理联系人信息,避免了联系人重复或管理混乱的情况,以及提供了快速查找和导出通讯录的功能,这些都可以帮助学生高效地管理自己的联系人,成为学生生活中的一项便捷工具。

五、总结学生手机通信录管理系统是一项非常实用的工具,经过使用,它可以帮助学生方便地管理自己的联系人信息,节省时间和精力,成为学生生活中重要的一部分。

学生通讯录管理系统数据结构课程设计代码

学生通讯录管理系统数据结构课程设计代码

一、概述在当今数字化信息时代,学生通讯录管理系统已成为学校教育管理和日常生活中不可或缺的一部分。

针对校园学生的通讯录管理系统,既能方便学生之间的交流通信,也能方便管理者对学生信息进行统一管理。

本次课程设计旨在设计一个学生通讯录管理系统的数据结构与代码,实现信息的存储、查询和管理的功能。

二、系统需求分析1.系统功能需求(1) 实现学生基本信息的录入和存储,包括尊称、学号、性别、通信方式等信息;(2) 实现学生信息的查询、修改和删除功能;(3) 实现学生信息的按关键字检索功能,如按尊称、学号、班级等进行检索;(4) 实现学生通讯录的导出和导入功能,方便数据备份和迁移;(5) 实现用户权限管理功能,包括管理员和普通用户权限的划分。

2.系统性能需求(1) 系统应具有良好的用户界面设计,操作简单、友好;(2) 系统应具有较高的数据安全性,保护学生个人信息不被泄露;(3) 系统应具有较高的稳定性和可靠性,能够长时间稳定运行;(4) 系统应具有较高的查询和数据处理效率,能够快速响应用户请求。

三、系统设计1. 数据结构设计(1) 学生信息采用结构体进行存储,包括尊称、学号、性别、通信方式等字段;(2) 学生通讯录采用链表结构进行存储,方便动态添加、删除和查询操作;(3) 用户权限采用权限控制字段进行划分,保证不同用户有不同的操作权限。

2. 系统架构设计(1) 采用C语言进行开发,具有较高的执行效率和跨评台性;(2) 采用面向对象编程思想进行系统的模块化设计,方便系统维护和扩展;(3) 采用简洁的用户界面设计,操作逻辑清晰,用户体验良好。

四、代码实现以下为部分代码示例,展示系统核心功能的实现:1. 学生信息的录入和存储typedef struct Student {char name[20];int id;char gender[10];char contact[20];} Student;// 使用链表存储学生信息typedef struct Node {Student data;struct Node *next;} Node;2. 学生信息的查询、修改和删除// 查询学生信息void searchStudent(Node *head, char *name) {Node *p = head->next;while (p != NULL) {if (strcmp(p->, name) == 0) {// 输出学生信息printf("Name: s, ID: d, Gender:s, Contact: s\n", p->, p->data.id, p->data.gender, p->data.contact); return;}p = p->next;}printf("The student is not found\n");}// 修改学生信息void modifyStudent(Node *head, char *name, int id, char *gender, char *contact) {Node *p = head->next;while (p != NULL) {if (strcmp(p->, name) == 0) {// 修改学生信息strcpy(p->, name);p->data.id = id;strcpy(p->data.gender, gender);strcpy(p->data.contact, contact);return;}p = p->next;}printf("The student is not found\n");}// 删除学生信息void deleteStudent(Node *head, char *name) {Node *p = head;while (p->next != NULL) {if (strcmp(p->next->, name) == 0) { Node *temp = p->next;p->next = p->next->next;free(temp);return;}p = p->next;}printf("The student is not found\n");}3. 用户权限管理int m本人n() {// 管理员权限if (isAdmin) {// 管理员操作} else {// 普通用户操作}return 0;}五、系统测试与优化1. 系统测试(1) 对系统进行功能测试,包括学生信息录入、查询、修改、删除等功能的测试;(2) 对系统进行性能测试,测试系统的稳定性和数据处理效率。

学生通讯录管理系统课程设计

学生通讯录管理系统课程设计

学生通讯录管理系统课程设计一、引言学生通讯录管理系统是一种能够有效管理学生通信信息的软件工具。

在当今信息化社会中,为了更好地维护学生通信信息和便于学校管理,设计一个高效、实用的学生通讯录管理系统至关重要。

本文将围绕学生通讯录管理系统的设计与实现展开讨论。

二、需求分析1. 用户需求•管理员需要能够对学生信息进行增删查改操作;•学生要能够方便地修改个人信息;•教师需要便捷地查看学生信息;•系统需要有良好的用户权限管理机制。

2. 功能需求•学生信息管理:包括学生基本信息的录入、修改和删除。

•通讯录管理:实现学生通讯录的管理和分类。

•查询功能:实现对学生信息的快速查询。

•权限管理:分管理员和普通用户,管理员有更高的权限控制。

三、系统设计1. 系统架构学生通讯录管理系统采用典型的客户-服务器架构,后端基于MySQL数据库存储学生信息,前端通过Web页面进行展示和操作。

2. 数据库设计设计数据库表格包括:学生信息表(包括学号、姓名、性别、年级等字段)、用户表、通讯录表等。

3. 页面设计•登录页面:对用户进行身份验证。

•学生信息管理页面:实现对学生基本信息的增删查改。

•通讯录管理页面:实现通讯录的分类和管理。

四、系统实现1. 环境配置•使用Python语言编写后端代码。

•前端采用HTML、CSS、JavaScript。

•数据库采用MySQL。

2. 实现步骤1.搭建后端框架,实现数据的增删查改功能。

2.设计前端页面,实现用户交互和数据展示。

3.进行系统测试和优化。

五、功能演示1. 登录功能输入正确的用户名和密码,用户可以成功登录系统。

2. 学生信息管理管理员可以添加、删除、修改学生信息,普通用户只能查看。

3. 通讯录管理实现对通讯录的添加、分类和管理。

六、总结与展望通过本次学生通讯录管理系统课程设计,我学到了如何进行系统设计、数据库设计和前后端分离开发的方法。

未来,还可以进一步改进系统功能,增加权限管理模块、优化界面交互等,使系统更加稳健和实用。

学生通讯录管理系统收获及体会

学生通讯录管理系统收获及体会

学生通讯录管理系统收获及体会学生通讯录管理系统是一种用于管理学生联系方式和个人信息的工具,它可以帮助学校、教师和学生更好地进行沟通和合作。

在使用这个系统的过程中,我收获了很多经验和体会。

首先,学生通讯录管理系统可以提高信息交流的效率。

在过去,教师和学生之间的沟通通常是通过纸质通讯录或面对面交流进行的,这种方式可能会导致信息传递不及时或遗漏。

而通过这个系统,教师和学生可以随时随地更新和查看联系方式,及时互相联系,并且系统可以发送通知和提醒,确保信息能够及时传递和接收。

这种高效的信息交流可以提高教学效果和学生参与度。

其次,学生通讯录管理系统可以增强学生之间的互动和合作。

通过这个系统,学生可以找到自己班级或学校的其他学生的联系方式,方便他们之间进行交流和合作。

比如,学生可以通过系统查找组队伙伴、寻求同学的学习帮助或者参与一些学校活动。

这种互动和合作可以促进学生之间的友谊和团队精神,也有助于他们在学业上取得更好的成绩。

此外,学生通讯录管理系统还可以提高学校管理的效率。

学校可以通过这个系统集中管理学生的个人信息,包括联系方式、班级和课程等。

这样,当学校需要与学生沟通时,可以直接通过系统发送通知,而不需要逐个联系学生或者使用其他不够高效的方式。

此外,学校还可以通过系统汇总学生的反馈和建议,了解学生的需求和问题,从而更好地进行管理和改进。

总的来说,学生通讯录管理系统是一种非常有用的工具,它可以提高学校、教师和学生之间的沟通效率,促进学生之间的互动和合作,提高学校管理的效率。

通过使用这个系统,我深刻体会到了信息技术在教育领域的重要性和应用价值,也意识到了信息管理对于学校和学生的重要性。

希望未来能够有更多的学校和教育机构使用这种系统,以提升教育质量和学生的学习体验。

学生通讯录管理系统c语言编程

学生通讯录管理系统c语言编程

学生通讯录管理系统C语言编程简介学生通讯录管理系统是一个帮助学生管理通讯录信息的应用程序。

通过该系统,学生可以添加、删除、查询和修改通讯录中的联系人信息,从而更好地组织和管理自己的通讯录信息。

功能需求1. 添加联系人学生可以通过输入联系人的姓名、电话号码、邮箱等信息,将联系人添加到通讯录中。

2. 删除联系人学生可以根据联系人的姓名或电话号码,从通讯录中删除指定的联系人信息。

3. 查询联系人学生可以通过姓名或电话号码查询通讯录中的联系人信息,并将查询结果显示出来。

4. 修改联系人学生可以修改通讯录中指定联系人的信息,如电话号码、邮箱等。

技术实现通讯录管理系统将使用C语言进行编程实现。

以下是系统的基本设计思路:1. 数据结构设计通讯录信息可以用结构体来表示,包含联系人的姓名、电话号码、邮箱等字段。

struct Contact {char name[50];char phone[20];char email[50];};2. 功能模块划分•添加联系人模块:用于添加新的联系人信息。

•删除联系人模块:用于删除指定联系人信息。

•查询联系人模块:用于根据姓名或电话号码查询联系人信息。

•修改联系人模块:用于修改指定联系人的信息。

3. 用户界面设计系统将使用控制台界面,通过菜单来实现各个功能模块的调用。

开发步骤1. 定义数据结构首先定义联系人结构体,包含姓名、电话号码、邮箱等字段。

2. 实现功能模块分别实现添加联系人、删除联系人、查询联系人、修改联系人等功能模块的具体代码。

3. 编写主程序编写主程序,通过调用功能模块来实现整体通讯录管理系统的运行。

总结学生通讯录管理系统C语言编程是一个实用的项目,通过这个项目,学生可以熟练掌握C语言编程的基本知识,并且实践项目开发的流程。

通过不断调试和完善,学生可以提升自己的编程能力和项目实现能力。

希望学生能够在这个项目中学到更多的知识,提升自己的编程技能。

2学生通讯录管理系统

2学生通讯录管理系统

“学生通讯录管理系统〞的设计与实现1、设计要求问题描述纸质的通讯录已经不能满足大家的要求,容易丢失、查找困难等问题是纸质通讯录所不能抑制的缺点。

“学生通讯录管理系统〞是为了帮助教师、同学,或者其他一些需要使用通讯录的人员进展管理和分析的一种应用程序。

(1)输入数据建立通讯录。

(2)查询通讯录中满足要求的信息。

(3)插入新的通讯录信息。

(4)删除不需要的通讯录信息。

(5)查看所有的通讯录信息。

2、概要设计为了实现需求分析中的功能,可以从三个方面着手设计。

2.1 主界面设计为了实现学生通讯录系统各功能的管理,设计一个含有多个菜单项的主控菜单子程序以系统的各项子功能,方便用户使用本系统。

本系统主控菜单运行界面如如如下图所示:*************************欢迎使用通讯录系统***************************** * 1 通讯录的建立* * 2 插入通讯记录* * 3 查询通讯记录** 4 删除通讯记录* * 5 显示通讯录信息* * 0 退出管理系统* **************************欢迎使用通讯录系统**************************** 请选择0-5:2.2 存储结构设计本系统主要采用链表结构类型来表示存储在“学生通讯录管理系统〞中的信息。

其中,链表结点由四个分量构成:通讯录成员学号、通讯录成员某某、通讯录成员、指向该结构体的指针。

此外,系统还设置了一个全局变量seat,表示通讯录中成员的序号。

2.3 系统功能设计本系统设置了五个子功能菜单,五个子功能的设计描述如下。

(1)建立通讯录系统。

可以一次输入多个成员通讯录的信息,建立通讯录。

该功能由creatIncreLink( )函数实现。

(2)插入通讯记录。

每次可以插入一个成员通讯录的信息。

如果要连续插入多个成员通讯录信息必须屡次选择该功能。

该功能由insertYouXu( )函数实现。

学生手机通信录管理系统

学生手机通信录管理系统

学生手机通信录管理系统一、背景如今, 手机已成为现代人生活中不可或缺的一部分。

尤其对于学生群体而言, 手机的重要性更加显著。

学生们常常使用手机来完成作业、和同学聊天、查阅信息等多种功能。

而通信录是其中一个不可或缺的功能,它方便了学生们管理自己的联系人信息。

但是,学生们经常添加的联系人数量巨大,管理起来需要花费大量的时间和精力。

另一方面,由于“小破派”与“牛高马大”的手机品牌数量众多,学生们从换机、重置手机到更换操作系统都是极其正常的现象。

因此,手机通信录的备份与恢复就成了备受关注的问题。

本文简要介绍了学生手机通信录管理系统,为学生们解决通信录备份和恢复、信息管理等问题,提高学生们的使用体验。

二、系统功能系统主要有以下几个功能:1. 添加联系人学生在使用过程中,可以通过系统添加联系人,方式灵活,可根据学生个人喜好选择输入方式。

2. 删除联系人学生在管理通信录时,可以通过本系统对其中的联系人进行删除操作。

3. 修改联系人信息通过系统,学生们可以随时对通信录中的联系人信息进行修改。

4. 实现通信录备份为了帮助学生更好地管理通信录,系统实现了通信录备份,方便学生在更改手机或者重置手机等情况下快速恢复通信录信息。

5. 实现通信录恢复同样地,当学生更改手机或者重置手机等情况下,可以通过本系统支持的恢复功能来恢复通信录信息。

6. 信息快速检索学生可以在本系统中通过输入联系人的名称或者电话号码等条件来快速地检索所需要的联系人信息。

7. 分类管理联系人为了使通信录能够更好地管理,本系统支持对联系人进行分类管理,方便用户查找、筛选所需联系人。

三、系统运行环境1. 系统运行平台本系统运行在Android系统平台。

2. 内存由于系统需要加载很多的联系人信息等内容,因此为了系统能够流畅地运行,建议手机内存大于2GB。

3. 存储空间通信录中包含了众多联系人的信息,因此系统需要占用一定的存储空间。

因此,建议手机的存储空间需大于0.5GB。

学生通讯录管理系统数据结构课程设计

学生通讯录管理系统数据结构课程设计

学生通讯录管理系统数据结构课程设计一、需求分析在学生通讯录管理系统中,我们需要实现以下功能:1.学生信息的录入与管理2.通讯录信息的增删查改3.数据的持久化存储二、系统设计1. 数据结构设计为了实现学生通讯录管理系统的功能,我们需要设计以下数据结构:•学生信息结构体包括学号、姓名、性别、年龄等字段•通讯录信息结构体包括联系人姓名、电话号码、邮箱等字段2. 算法设计2.1 添加学生信息当用户选择添加学生信息时,系统会要求用户输入学号、姓名、性别、年龄等信息,然后将这些信息存储在学生信息的数据结构中。

void addStudentInfo() {// 读取用户输入的学生信息// 将学生信息存储在学生信息结构体中}2.2 修改通讯录信息用户可以根据联系人姓名查找通讯录信息,并进行修改操作,比如修改电话号码、邮箱等内容。

void modifyContactInfo() {// 根据联系人姓名查找通讯录信息// 用户进行修改操作}2.3 删除通讯录信息用户可以根据联系人姓名删除通讯录信息。

void deleteContactInfo() {// 根据联系人姓名删除通讯录信息}3. 数据存储设计为了持久化存储数据,我们可以选择使用文件存储或数据库存储。

在本系统中,我们选择文件存储的方式,数据以文本的形式存储在文件中。

三、系统实现通过以上设计,我们可以开始实现学生通讯录管理系统。

在实现过程中,我们需要注意保证数据结构的正确性和数据操作的合法性,从而确保系统的稳定性和可靠性。

四、总结通过本次数据结构课程设计,我们深入了解了学生通讯录管理系统的实现原理和功能设计。

在接下来的学习中,我们将继续努力提升自己的编程能力,不断完善系统的功能和性能,为实现更多复杂系统打下坚实的基础。

学生通讯录管理系统需求分析

学生通讯录管理系统需求分析

学生通讯录管理系统需求分析一、背景随着教育信息化的发展,学生通讯录管理系统逐渐成为学校管理的重要工具。

通过该系统,学校能够更好地管理学生信息,方便地查找和更新学生通讯录,提高办公效率。

二、功能需求1. 学生信息管理•系统应能够录入学生的基本信息,包括姓名、学号、班级、联系方式等;•支持查看、编辑、删除学生信息;•能够按照学号或姓名等关键字查询学生信息。

2. 班级管理•可以创建、编辑、删除班级信息;•能够将学生分配到相应的班级中;•支持按照班级查看学生信息。

3. 通讯录管理•系统应能够生成学生通讯录并导出为Excel或PDF文件;•可以根据权限设定,控制通讯录访问权限。

三、性能需求1. 数据安全性•系统需要保证学生信息的安全性,防止信息泄露;•支持数据备份和恢复功能,以应对意外情况。

2. 平台兼容性•系统应能够在不同操作系统(Windows、MacOS、Linux)上运行;•支持常见的浏览器访问,如Chrome、Firefox等。

四、操作需求1. 用户界面友好•界面设计简洁明了,操作流畅;•提供操作指导,帮助用户快速上手使用系统。

2. 操作便捷•支持批量导入学生信息;•提供快速查找和筛选功能,提高信息查找效率。

五、扩展需求1. 通知功能•可以通过系统向学生发送通知消息;•支持设置通知提醒功能,提醒学生及时查收通知。

2. 数据统计分析•支持对学生信息进行统计分析,如按班级、性别等进行数据分析;•提供数据报表功能,方便学校管理层参考学生信息情况。

六、结论学生通讯录管理系统是学校管理工作中不可或缺的重要工具,通过需求分析可以明确系统实现的功能和性能需求,为后续系统设计和开发提供指导。

希望学生通讯录管理系统能够满足学校管理的实际需求,提高管理效率,为学生和教职员工提供便利。

学生通讯录管理系统说明书

学生通讯录管理系统说明书

家庭地址:
IDC_CURRENTADDRESS
当前地址:
IDC_EDIT_QQ
IDC_EDIT_EAMIL
IDC_EDIT_HOME
IDC_EDIT_CURRENT
No.8
OnRecAdd()函数的内容和功能:由于增加和显示记录在同一个界面出现,容易造成 误操作。因此,在修改和添加记录数据之前,往往设计一个对话框用于获得所需要的数 据,然后用该数据进行当前记录的编辑。这样就能避免它们的相互影响,且保证代码的 相对独立性。获得所需数据的对话框名为“联系人信息表”,对话框资源的 ID 号是 IDD_INFO_TABLE,对话框资源对应的类名为 CInfoDlg,要进行添加操作,首先为这个类 添加一个对象[2],以便引用控件变量,添加完信息确定之后,“联系人信息表”的内 容传值给主界面对应的变量,如 m_pSet->m_ptelephone=dlg.m_strPersonTelephone。
能为空!"), MessageBox("没有查到你要找的联系人!")用于反馈用户操作。
在主界面上选择添加按钮如图 6 所示
添加的控件 输入框
下Hale Waihona Puke 列表框 按钮 按钮 文本框 文本框
图 6 添加记录
ID 号 IDC_DEIT_NAME
IDC_COMBO_GENDER IDOK
IDCANCEL IDC_NAME1 IDC_GENTER
沈阳大学
课程设计说明书
No.5
分解,提高数据操作效率和存储空间的利用率。 2.2.3 连接数据库
#define Provider "Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;

学生通讯录管理系统源程序源程序

学生通讯录管理系统源程序源程序

学生通讯录管理系统源程序源程序一、引言在现代社会中,学生作为社会的脊梁以及未来的希望,其信息管理显得尤为重要。

学生通讯录管理系统是为解决学生人员管理和信息存储等问题而开发的一款软件系统。

本文将介绍学生通讯录管理系统的源程序,并对其功能和设计进行详细说明。

二、系统功能学生通讯录管理系统主要包括以下功能:学生信息的录入、编辑与删除、学生信息的查询、学生信息的导入与导出、系统权限的管理等。

1. 学生信息的录入、编辑与删除通过系统,管理员可以方便地录入学生的基本信息,包括姓名、性别、年龄、学号、班级等。

管理员还可以对已有的学生信息进行编辑和删除操作,以及对学生人员进行分类管理。

2. 学生信息的查询学生通讯录管理系统提供了多种查询方式,如按照学号、姓名等条件进行查询。

管理员可以通过关键词快速找到所需的学生信息,方便快捷。

3. 学生信息的导入与导出系统支持将学生信息导入到系统中,可以导入Excel等格式的文件,方便管理员批量添加学生信息。

同时,系统也支持将学生信息导出为Excel等格式的文件,以便于管理员随时查看和备份。

4. 系统权限的管理学生通讯录管理系统支持对管理员和用户的权限进行管理。

管理员可以对各个用户角色进行设置,以实现不同用户的权限限制,保证系统安全和数据保密性。

三、系统架构与技术实现学生通讯录管理系统采用的是C++编程语言,基于面向对象编程思想进行设计开发。

系统的架构主要包括以下几个模块:用户登录模块、学生信息管理模块、数据存储模块等。

1. 用户登录模块用户登录模块是系统的入口,用户通过输入用户名和密码进行身份验证,系统根据权限分配相应的功能模块给用户使用。

登录信息将通过数据库进行验证,保证登录的安全性。

2. 学生信息管理模块学生信息管理模块是系统的核心模块,包括学生信息的增删改查等功能实现。

通过与数据库的交互,实现对学生信息的录入、编辑、删除以及查询等操作。

3. 数据存储模块数据存储模块是学生通讯录管理系统的基础模块,通过与数据库进行交互,实现学生信息的持久化存储。

c语言课程设计学生通讯录管理系统

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(。

学生通讯录管理系统设计(数据结构)

学生通讯录管理系统设计(数据结构)

学生通讯录管理系统设计(数据结构)一、总体设计1、系统开发环境本系统采用C++语言,运行在Windows平台上,数据库采用MySQL。

2、系统功能(1)登陆:系统登录,验证用户名/密码,权限认证等。

(2)新增:新增学生通讯录信息,包括姓名、联系电话、地址、备注等信息。

(3)修改:修改学生通讯录信息,可以修改学生姓名、联系电话、地址等信息。

(4)删除:删除学生通讯录信息,可以根据姓名、联系电话删除学生的通讯录信息。

(5)查询:可以根据姓名、联系电话查询学生的通讯录详细信息。

(6)权限管理:根据用户类别对不同用户进行不同级别的权限管理。

(7)数据管理:根据学生查询,统计学生的报表信息和查询结果,可以对学生的通讯录数据实行一定的数据管理。

3、数据结构用于存储、管理学生通讯录信息的数据结构,采用链表法。

首先将学生信息定义为一个结构体,包含学生的姓名、联系电话、联系地址等信息,此构造体可存储学生一种或者多种信息;然后建立一个学生链表来存储学生信息,每个结点中存放学生结构体,在链表末尾增加一个指向学生链表头结点的指针,即实现了学生通讯录的输出。

二、模块分解1、登录模块实现用户名/密码的验证,权限的认证,权限管理等功能。

2、新增模块用于实现新增学生信息,信息包括姓名、联系电话、联系地址等,并将学生信息存放到学生链表中。

4、删除模块用于实现删除学生信息,使用链表的查找、删除等来实现。

6、权限管理模块用于实施对不同用户类别的权限管理,实现对不同用户类别的权限管理,保证数据的安全。

7、数据管理模块用于实施对学生数据的安全,统计报表信息,数据标准化处理。

学生通讯录管理系统的设计与实现

学生通讯录管理系统的设计与实现

学生通讯录管理系统的设计与实现问题描述:纸质的通讯录已经不能满足实际需求,容易丢失,查找困难等问题是纸质通讯录所不能克服的缺点。

“学生通讯录管理系统”是为了帮助老师、同学,或者其他一些需要使用的通讯录的人员进行管理和应用的一种应用程序。

需求分析:1)输入数据建立通讯录。

2)查询通讯录中满足要求的信息。

3)插入新的通讯录信息。

4)删除不需要的通讯录信息。

5)查看所有的通讯录信息。

主界面设计要求:1)通讯录的建立2)插入通讯录记录3)查询通讯录记录4)删除通讯录记录5)显示通讯录记录6)退出系统设计要求:A.建立通讯录时,每个学生的信息包括:学号,姓名,电话。

B.查找时,学号、姓名、电话均可以作为查询字段。

C.查看所有的通讯录信息时,所有记录需要时有序的(按学号排序,按姓名排序(字典序),按电话号码排序)。

D.存储结构:要求使用顺序存储结构。

E.数据使用:使用本班级的具体信息。

需求分析:本次设计目的是学生信息管理系统,可存入每个学生的基本信息,所有学生信息都可根据名字、学号、电话、邮箱进行查询,也都可以根据这四个基本信息检索到一个学生并删除其数据。

输入形式:student.txt,以文件形式进行输入。

输出形式:根据不同的输入进行不同的操作。

达到功能:能插入一个学生的信息,能删除一个学生的信息,能查询一个学生的信息。

测试数据:班上70个同学的基本数据。

概要设计:数据类型:顺序链表 ArrayList类学生数据结构:StuData类包含name、id、phone、email四个String基本类型。

所有操作写在Structure中,包含insert、remove、query、printAll。

Main函数用Java标准输入,循环输入,用switch判断输入进行各种操作,1进行建立信息系统从文件中读入操作,2进行插入一个学生数据的功能,3进行查询信息的操作,4进行删除通讯记录的操作,5进行打印所有学生信息的功能,6代表退出系统。

函数案例学生通讯录管理系统

函数案例学生通讯录管理系统

函数案例学生通讯录管理系统
函数案例学生通讯录管理系统是提供学生通讯录的信息管理软件,主要适用于高校学生和企业的学生招聘,帮助用户快速查询和整理学
生信息,进行更有效的宣传或招聘。

系统功能主要包括如下几点:
1. 注册功能:用户可以注册,完善个人基本信息,成为系统的正
式用户;
2. 登录功能:用户登录后,可以进行后续的操作;
3. 学生信息管理:管理员可以添加、修改和删除学生信息,还可
以审核学生申请;
4. 信息查询功能:根据不同的条件,如姓名、学号、性别,可以
快速查询到对应的学生信息;
5. 统计分析功能:根据用户输入的条件,可以将用户输入的不同
的信息进行统计分析;
6. 日志功能:系统会自动记录用户的操作日志,包括操作类型、
时间以及关键信息;
7. 报表输出功能:系统可以将统计的结果以报表的形式输出,方
便用户观看。

上述就是函数案例学生通讯录管理系统的大致功能,可以帮助用
户随时随地便捷地管理学生信息,节省时间和精力,更好地完成宣传
或招聘任务。

学生通讯录信息管理系统

学生通讯录信息管理系统

第2章系统分析2.1需求分析1.该程序可用于对学生的通讯方式基本信息的存储、更新、查询、输出等操作,以实现对学生通讯录信息的管理,便于同学之间的联系交往;2.其中更新功能包括:添加信息,删除信息,修改信息,可根据需要添加一个或多个学生信息,也可针对个别学生信息进行适当的删除或修改,以便随时更新学生通讯信息。

3.程序中设计的查询功能可根据需要从若干数据中查询某个学生信息,并且可根据两种不同的方法查询:按姓名查询和按电话查询,以满足不同的需要;4. 可以通过输出的方式查看整个通讯录;5. 可以通过排序的方式查看同学生日的先后。

2.2技术分析软件系统采用Turbo C2.0作为题目的设计平台,在这个平台上进行程序的调试。

2.2 功能分析输入学生通讯信息并保存于文件,每个学生包含信息如:序号,姓名,省份,电话,生日,邮编,大学信息;对已存入的学生信息进行更新操作,包括添加一个学生信息、删除某个学生信息和修改某个学生信息;通过输入姓名,学号的方式查询学生信息,方便教师查询;可以通过省份,生日来统计通讯信息;最后输出学生信息,供需要时打印。

第3章总体设计与详细设计3.1 系统总体设计对该系统各种函数的定义在源代码给出,先定义出函数的定义,然后给出菜单的执行函数,建立链表,并对各个功能的实现变出程序,直到调试成功为止。

3.2 主要函数介绍主菜单函数,制作含有9个功能项的菜单,如下:**************欢迎进入*********************** 学生通讯录管理系统*********** 1输入学生信息** 2输出学生信息** 3更新学生信息** 4查询学生信息** 5统计学生信息** 6保存信息** 7读取信息** 0退出系统** 请选择(0~7) *********************************************提示用户进行选择(编号),如果选择错误要求重新选择,选择正确提示确认,如果用户确认选错了,再重新选择,如果用户确认是选该项,返回主函数,去执行相应的功能,仅由主函数调用;1.设计框架图系统要实现许多功能,因此遵循结构化程序设计思想来进行本系统的设计,系统总体结构图如3-1所示。

学生通讯录管理系统课程设计报告

学生通讯录管理系统课程设计报告

学生通讯录管理系统课程设计报告一、课程设计背景学生通讯录管理系统是一个旨在帮助学生和教师更好地管理个人信息和通讯录的软件系统。

随着信息技术的不断发展,现代教育领域对教学、管理和学习等方面的要求越来越高,传统的纸质通讯录管理方式已经无法满足教育机构的需求。

因此,开发一个便捷、高效的学生通讯录管理系统成为当今教育信息化的重要课题。

二、需求分析学生通讯录管理系统主要包括以下功能模块:1.学生信息管理:用于录入、修改和删除学生个人信息,包括姓名、学号、性别、联系方式等;2.通讯录管理:实现通讯录的分类、查找、添加和删除功能,方便学生和教师进行联系;3.用户权限管理:设置不同权限等级的用户,如学生、教师和管理员,确保信息安全性;4.数据备份与恢复:对系统中的重要数据进行定期备份,保障数据的安全性;5.界面友好性:系统界面简洁明了,操作便捷,用户体验良好。

三、系统设计1. 系统架构学生通讯录管理系统采用客户端-服务器架构,客户端提供给学生和教师使用,服务器端用于存储核心数据和处理业务逻辑。

2. 数据库设计系统采用关系型数据库,主要包括以下表:•学生表(Student):包含学生的基本信息;•教师表(Teacher):包含教师的基本信息;•通讯录表(Contact):记录学生或教师之间的联系方式;•用户表(User):存储系统用户的账号信息和权限。

3. 功能实现(1)学生信息管理学生信息管理模块提供学生信息的增删改查功能,管理员可以对学生信息进行修改和删除,学生可以查看、修改自己的个人信息。

(2)通讯录管理通讯录管理模块支持对通讯录的分类和搜索功能,学生和教师可以添加、删除通讯录条目,并对通讯录进行管理。

(3)用户权限管理系统设定不同权限等级的用户,管理员有最高权限,可以管理用户账号和角色,确保系统的安全性。

四、系统实现系统采用Java语言进行开发,前端界面使用JavaFX技术,后端采用Spring框架实现业务逻辑,数据库连接采用JDBC等技术。

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

学生通讯录管理系统(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语言课程设计---学生通讯录管理系统

C语言课程设计---学生通讯录管理系统。

一、系统背景学生通讯录管理系统是一个收集、管理完善学生信息的设计方案,用于关注学生个人详细信息,包括学生姓名,性别,年龄,家庭住址等,旨在为学校、家长提供全面、及时的信息管理服务,使用简单、实用性强,并可以根据实际需求,调整系统功能内容及操作流程的学生通讯录管理系统。

二、系统功能1、信息录入:管理员可以对学生信息进行录入,包括学生的学号、姓名、性别、年龄、家庭住址、父母电话号码等。

3、信息查询:管理员可以根据学生学号、姓名等搜索学生信息,可以快速找到所需的学生节点信息。

4、信息统计:系统可以依据信息的个性化特点,自动生成学生通讯录,便于管理人员查阅。

5、用户管理:管理员可以管理系统用户的用户名、密码、权限等,并可以根据需求增加、修改、删除用户账号信息。

三、系统流程1、系统开发:从需求分析、详细设计、界面设计到程序编码完成,包括系统功能模块开发,业务流程分析,数据库设计,数据交互,压力测试,过程控制,系统安全,系统维护与更新等,以确保系统可靠性。

2、部署与安装:系统部署完毕后,需要完成服务器端基本信息采集,如确定服务器IP地址,运行环境,程序配置,操作系统配置,备份配置,文件安全配置,权限设置等安装步骤,以确保系统安全性。

3、运行维护:根据系统实际应用情况,工程师应对系统及数据库进行定期检查,完善系统运行日志,以及故障分析,体系数据库定期备份,完善系统的安全及性能,以确保系统正常运行。

四、系统实施1、硬件及软件:学生通讯录管理系统的实施需要运行在较新的计算机硬件系统上,需要使用Windows操作系统,是采用C语言作为开发语言,开发工具可以采用Visual Studio C++、Embarcadero C++ 11或以上,数据库系统采用Oracle 9i或者MySQL。

2、系统测试:针对系统实际功能,专业测试工程师应当进行系统测试, 并对测试结果进行分析,能够及时发现和修正系统中可能存在的严重错误和不确定性缺陷, 从而获得系统良好的可靠性。

学生通讯录管理系统数据结构课程设计

学生通讯录管理系统数据结构课程设计

学生通讯录管理系统数据结构课程设计在咱们的校园生活中,学生通讯录管理系统可真是个好东西。

想象一下,一个个同学的联系方式,电话、微信、QQ统统都在上面,简直像是把大家的生活都放在了一个小本本里。

要是没有这个系统,咱们联系同学可就麻烦了,想找人得一一翻记录,真是浪费时间,像是在玩“捉迷藏”一样。

想想看,早上起来,脑袋还没转过来,就要想起谁的电话,那可真是要抓狂。

这通讯录系统呀,它的结构可是讲究得很。

你可以想象成一个大大的树,上面挂着无数个小果子,每个果子里都有一个同学的信息。

这样一来,想找谁直接往上找就行,方便得很。

数据一旦存进去,就像是钉钉子一样,稳稳当当。

系统能记录的信息可多了,名字、班级、联系方式,简直是多到数不清。

遇到小组作业的时候,想找谁都能立马拿到联系方式,真是省了不少力气。

然后,这通讯录还可以做分类,嘿嘿,按班级、年级来分,真是神了。

就像大家去市场买东西,东西太多了,分类之后,找起来可就容易多了。

这样一来,谁说学生没有组织能力呢?其实这通讯录系统就是个小小的组织者,帮我们把大家的联系信息都理得清清爽爽,真是贴心。

想想咱们一起复习的时候,找不到同学的电话,心里那个急呀,简直就像在大海捞针。

再说说这系统的安全性,虽然大家都是好同学,但隐私问题还是得重视。

系统里有些敏感信息,咱们可不能随便让别人看见。

这样,咱们的通讯录就像一个保险箱,钥匙就掌握在自己手里,安全又放心。

每次登录系统,得输入密码,那种感觉就像在保卫自己的小秘密,真是妙不可言。

这系统也需要维护,不能一味地依赖。

想想之前那些旧的纸质通讯录,翻来翻去,容易撕掉,弄得稀巴烂。

现在好了,系统里随时随地都能修改、更新,一点都不麻烦。

新同学加入、老同学转学,随时可以调整。

想想以前写信联系,那可得等好几天,生怕信丢了,心里急得像热锅上的蚂蚁。

哎,提到信,我倒是想起那些年我们的通讯录。

每天在学校里传来传去,感觉像是一种“情书”,只不过写的全是联系信息,哈哈。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构课程设计报告项目名称:学生通讯录管理系统学号:班级:姓名:指导老师:计算机科学与技术2014年12月19日1.问题描述:通讯录管理系统一般包括通讯者的各种信息,这些信息应该包括学号,姓名,性别,电话,QQ,住址等。

而对其一般进行的操作有插入、删除、查询、修改、输出等操作功能,可以将输入的数据保存在文本文件中,并可以将其调出使用。

2.设计思路:通讯录管理系统所要进行的插入、删除、查询、修改、输出这五种功能会牵扯到数据的移动,所以应选择链式存储结构比较简单。

采用链表对其进行操作,至少需要6个子函数,及链表的建立、插入、删除、查询、修改、输出。

另外为了系统的美观简单,还应该设置一个主控菜单,所以程序需要7个子函数。

由于通讯录中涉及到的信息量较大,输入时较繁琐,所以需要加入文件的操作。

3.数据结构定义:采用了结构体数据类型,定义了7个字符型数组。

struct record {char numb[11];char name[9];char sex[3];char phone[12];char addr[31];char postcode[6];char qq[12];}student[500];4.系统功能模块介绍:(1)顶层主控菜单设计:①设计菜单内容程序运行后,给出八个菜单项的内容和输入提示。

0.通讯录表的记录输入;1.通讯录链表的建立;2.通讯录链表的插入;3.通讯录链表的删除;4.通讯录链表的查询;5.通讯录链表的修改;6.通讯录链表的输出;7.通讯录链表的保存;8.退出管理系统;请选择0—8;②实现循环和功能选择假设输入选择用变量sn存储,它作为menu_select函数的返回值提供给switch语句,使用for循环实现重复选择,并在主函数main()中实现。

实际使用时,只有选择大于8或小于0,程序才能运行结束,这就要使用循环控制,这里使用for循环语句实现菜单的循环选择,为了结束程序的运行,使用return语句即可,也可以使用exit(0);语句。

③得到sn的合理值如前所示,应该设计一个函数用来输出提示信息和处理输入,这个函数应该返回一个数值sn,以便提供给switch语句使用。

对于sn输入值,在switch中case语句0-8,对于不符合要求的输入,提示输入错误并要求重新输入。

该函数与主函数合在一起,编译运行程序,即可检查并验证菜单选择是否正确。

(2)功能模块函数设计这里的设计是以前面设计的菜单为基础,增加菜单项的处理功能。

该系统用下面八个功能模块编写,每个模块执行不同的功能,体现了模块化设计的思想。

下面八个模块都是利用C语言文件,向文件中追加数据、修改数据、查询数据和删除数据。

记录输入:adduser();使用其他函数调用此函数,已实现通讯录链表中记录的输入和插入。

创建:creat();用fopen()建立一个文本文件,然后在for 循环用fwrite ()向其中写入数据(例如,向文件中输入“姓名”,“学号”等),并对文件进行命名,再调用adduser()函数对其进行记录的输入。

插入:可以添加通讯录记录,利用C语言文件,向文件中按顺序输入学号、姓名、性别、电话、地址、邮编、QQ,再用fclose()函数关闭并保存文件。

删除:输入你要删除的人的电话后,系统会自动删除他(她)的记录,在删除通过for语句满足提示你确认删除的功能,只有等你确认删除后才会删除。

查找:这里提供了三种查询方式,按姓名、电话、地址查找,分别按提示输入1、2、3,以选择要查询的方式。

这里用到strcmp()函数,通过比较字符串是否相同来判别是否找到相关信息,找到后,就把文件中的数据赋给对应的变量,再把变量所带的值输出到屏幕上。

修改:输入你要修改的那个人的学号后,这里用到strcmp()函数,通过比较字符串是否相同来判别是否找到相关信息,找到个人的记录后,会显示他(她)的记录,然后通过调用devise()函数来依次输入他(她)的相关信息来替代以前的记录。

输出:也是用通过循环依次输出文件中的数据,第一次输出一个记录,按任意键继续输出,直到所有记录输出完毕后,按任意键返回上级菜单。

保存:用到fclose()函数,每次操作成功后会自动保存到指定的文件中。

5.运行与调试分析:第一次运行程序时出现了很多错误,根据提示及时修改了语法错误,再次运行程序时,程序的查询函数产生了错误,无法正常查询文件中的记录信息,经过反复琢磨,翻阅相关书籍,这个问题得到了解决,但仍有不足之处。

输入0:输入1:输入2:输入3:输入“n”输入4:①输入1:②输入2:输入3:输入5:输入6:6.体会:这个课题是设计一个学生通讯录管理系统,该通讯系统能够较好的管理好我们的通讯录记录,也拥有比较完善的功能,但是该系统依旧有漏洞,比如无法对输入字符的正确性进行判断,如:地址输入123456也不会提示输入错误。

姓名输入11111也不会提示输入错误,所以在程序中还是有缺陷的。

在编写过程中,我逐步的了解了程序模块化设计的思想含义。

在整个程序设计的过程中语法的错误还是比较容易检查的,但是对于那些逻辑思维的问题方面的缺陷不易查出,因此常常出现系统提示没有错误但是仍然不能够正常运行的境况,尽管有很多不足之处,但我在整个系统程序设计的过程中,回顾复习了以前所学的知识,对数据结构中的链表操作和C程序较之以前有了能更多地了解和掌握。

此外编程是一项高精度的工作,所以我们要有规范化,标准化的代码编写习惯,良好的编写习惯,不但有助于代码的纠错,也有助于不同人员之间的协作。

我们还要有模块化思维能力,模块化思维就是编程任何一个功能模块或函数的时候,要多想一些,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大的避免重复性的工作。

另外我们要重视程序的算法,在程序中,算法是灵魂,我们要努力学习各种先进的算法,提高自己的编程能力。

主程序系统:#include<stdio.h>#include<string.h>#include<stdlib.h>#include <conio.h>#include<windows.h>#define null 0struct record {char numb[11];char name[9];char sex[3];char phone[12];char addr[31];char postcode[6];char qq[12];}student[500];int num=0;FILE *fp;//函数说明int menu_select();//菜单选择int creat();//链表创建int insert();//插入int del();//删除int search();//查询int change();//修改int devise();//选择修改int list();//显示int save();//文件保存//主函数void main(){system("color 9E");for(;;){switch(menu_select()){case 0:adduser();break; case 1:creat();break; case 2:insert();break; case 3:del();break;case 4:search();break;case 5:change();break; case 6:list();break;case 7:save();break;case 8:exit(0);}}}/********************//*菜单选择函数程序*/int menu_select(){int a;system("cls");printf("\t\t 通讯录管理系统\n");printf("\t\t====================================\n"); printf("\t\t 0.通讯录记录的输入\n");printf("\t\t 1.通讯录链表的建立\n");printf("\t\t 2.通讯录链表的插入\n");printf("\t\t 3.通讯录链表的删除\n");printf("\t\t 4.通讯录链表的查询\n");printf("\t\t 5.通讯录链表的修改\n");printf("\t\t 6.通讯录链表的输出\n");printf("\t\t 7.通讯录链表的保存\n");printf("\t\t 8.退出管理系统\n");printf("\t\t====================================\n"); printf("\t\t 请选择0-8:\n");for(;;){scanf("%d",&a);if(a<0||a>8)printf("\n\t输入错误,重选0-8");elsebreak;}return a;}/********************//********************//*通讯录表的记录输入*/adduser(){printf("\n\t\t**************** 请输入用户信息****************\n");printf("\n\t\t输入学号:");scanf("%s",&student[num].numb);printf("\n\t\t输入姓名:");scanf("%s",&student[num].name);printf("\n\t\t输入性别:");scanf("%s",&student[num].sex);printf("\n\t\t输入电话号码:");scanf("%s",&student[num].phone);printf("\n\t\t输入地址:");scanf("%s",&student[num].addr);printf("\n\t\t输入邮编:");scanf("%s",&student[num].postcode);printf("\n\t\t输入qq:");scanf("%s",&student[num].qq);num++;printf("\n\t\t是否继续添加?(Y/N):");if (getch()=='y')adduser();return(0);}/********************//********************//*通讯录链表的建立*/creat(){int i;if ((fp=fopen("student.txt","wb"))==NULL){printf("\n\t\t文件打开失败");}for (i=0;i<num;i++){if (fwrite(&student[i],sizeof(struct record),1,fp)!=1){printf("\n\t\t写入文件错误!\n");}printf("\n\t\t**************** 请输入用户信息****************\n");printf("\n\t\t输入学号:");scanf("%s",&student[num].numb);printf("\n\t\t输入姓名:");scanf("%s",&student[num].name);printf("\n\t\t输入性别:");scanf("%s",&student[num].sex);printf("\n\t\t输入电话号码:");scanf("%s",&student[num].phone);printf("\n\t\t输入地址:");scanf("%s",&student[num].addr);printf("\n\t\t输入邮编:");scanf("%s",&student[num].postcode);printf("\n\t\t输入qq:");scanf("%s",&student[num].qq);num++;printf("\n\t\t是否继续添加?(Y/N):");if (getch()=='y')adduser();return(0);}fclose(fp);printf("\n\t\t通讯录文件已保存");printf("\n\t\t按任意键退出程序\n\t\t"); exit(0);return(0);}/********************//********************//*通讯录链表的插入*/insert(){int i;if ((fp=fopen("1.txt","wb"))==NULL){printf("\n\t\t文件打开失败");}for (i=0;i<num;i++){if (fwrite(&student[i],sizeof(struct record),1,fp)!=1) {printf("\n\t\t写入文件错误!\n");}printf("\n\t\t**************** 请输入用户信息****************\n");printf("\n\t\t输入学号:");scanf("%s",&student[num].numb);printf("\n\t\t输入姓名:");scanf("%s",&student[num].name);printf("\n\t\t输入性别:");scanf("%s",&student[num].sex);printf("\n\t\t输入电话号码:");scanf("%s",&student[num].phone);printf("\n\t\t输入地址:");scanf("%s",&student[num].addr);printf("\n\t\t输入邮编:");scanf("%s",&student[num].postcode);printf("\n\t\t输入qq:");scanf("%s",&student[num].qq);num++;printf("\n\t\t是否继续添加?(Y/N):");if (getch()=='y')adduser();return(0);}fclose(fp);printf("\n\t\t通讯录文件已保存");printf("\n\t\t按任意键退出程序\n\t\t"); exit(0);return(0);}/********************//********************//*通讯录链表的删除*/del(){int i,j;int deletemark=0;char phone[12];printf("\n\t\t请输入要删除用户电话号码:"); scanf("%s",phone);if(num==0){printf("\n\t\t对不起,文件中无任何纪录"); printf("\n\t\t按任意键返回主菜单");getch();return;}for (i=0;i<num;i++){if (strcmp(student[i].phone,phone)==0){printf("\n\t\t以下是您要删除的用户纪录:");printf("\n\t\t学号: %s",student[i].numb);printf("\n\t\t姓名: %s",student[i].name);printf("\n\t\t性别: %s",student[i].sex);printf("\n\t\t电话: %s",student[i].phone);printf("\n\t\t地址: %s",student[i].addr);printf("\n\t\t邮编: %s",student[i].postcode); printf("\n\t\tqq: %s",student[i].qq);printf("\n\t\t是否删除?(y/n)");if (getch()=='y'){for (j=i;j<num-1;j++)student[j]=student[j+1];num--;deletemark++;printf("\n\t\t删除成功");printf("\n\t\t是否继续删除?(y/n)");if (getch()=='y')del();return;}elsereturn;}continue;}if (deletemark==0){printf("\n\t\t没有该用户的纪录"); printf("\n\t\t是否继续删除?(y/n)"); if (getch()=='y')del();return;}}/********************//********************//*通讯录链表的查询*/search(){int m;printf("\t\n请选择查询方式:\n");printf("\t┌──────┐\n");printf("\t│1------姓名│\n");printf("\t│2------电话│\n");printf("\t│3------地址│\n");printf("\t│4------返回│\n");printf("\t└──────┘\n");printf("请选择:");scanf("%d",&m);while(m!=1&&m!=2&&m!=3&&m!=4){printf("输入错误,请重新选择:");scanf("%d",&m);}if(m==1){int i,j;int deletemark=0;char name[12];printf("\n\t\t请输入要查询的姓名:");scanf("%s",name);if(num==0){printf("\n\t\t对不起,文件中无任何纪录"); printf("\n\t\t按任意键返回主菜单");getch();return;}for (i=0;i<num;i++){if (strcmp(student[i].name,name)==0){printf("\n\t\t以下是您要查询的用户纪录:");printf("\n\t\t学号: %s",student[i].numb);printf("\n\t\t姓名: %s",student[i].name);printf("\n\t\t性别: %s",student[i].sex);printf("\n\t\t电话: %s",student[i].phone);printf("\n\t\t地址: %s",student[i].addr);printf("\n\t\t邮编: %s",student[i].postcode); printf("\n\t\tqq: %s",student[i].qq);}if (deletemark==0){printf("\n\t\t是否继续查询?(y/n)");if (getch()=='y')search();return;}}}if(m==2){int i,j;int deletemark=0;char phone[12];printf("\n\t\t请输入要查询的电话:");scanf("%s",phone);if(num==0){printf("\n\t\t对不起,文件中无任何纪录"); printf("\n\t\t按任意键返回主菜单");getch();return;}for (i=0;i<num;i++){if (strcmp(student[i].phone,phone)==0){printf("\n\t\t以下是您要查询的用户纪录:"); printf("\n\t\t学号: %s",student[i].numb); printf("\n\t\t姓名: %s",student[i].name); printf("\n\t\t性别: %s",student[i].sex);printf("\n\t\t电话: %s",student[i].phone);printf("\n\t\t地址: %s",student[i].addr);printf("\n\t\t邮编: %s",student[i].postcode); printf("\n\t\tqq: %s",student[i].qq);}if (deletemark==0){printf("\n\t\t是否继续查询?(y/n)");if (getch()=='y')search();return;}}}if(m==3){int i,j;int deletemark=0;char addr[12];printf("\n\t\t请输入要查询的地址:");scanf("%s",addr);if(num==0){printf("\n\t\t对不起,文件中无任何纪录");printf("\n\t\t按任意键返回主菜单");getch();return;}for (i=0;i<num;i++){if (strcmp(student[i].addr,addr)==0){printf("\n\t\t以下是您要查询的用户纪录:");printf("\n\t\t学号: %s",student[i].numb);printf("\n\t\t姓名: %s",student[i].name);printf("\n\t\t性别: %s",student[i].sex);printf("\n\t\t电话: %s",student[i].phone);printf("\n\t\t地址: %s",student[i].addr);printf("\n\t\t邮编: %s",student[i].postcode); printf("\n\t\tqq: %s",student[i].qq);}if (deletemark==0){printf("\n\t\t是否继续查询?(y/n)"); if (getch()=='y')search();return;}}}}/********************//********************//*通讯录链表的修改*/change(){int i,j;int numble=0;char numb[11];printf("\n\t\t请输入要修改的学号:");scanf("%s",numb);if(num==0){printf("\n\t\t对不起,文件中无任何纪录"); printf("\n\t\t按任意键返回主菜单");getch();return;}for (i=0;i<num;i++){if (strcmp(student[i].numb,numb)==0){printf("\n\t\t以下是您要修改的用户纪录:"); printf("\n\t\t学号: %s",student[i].numb); printf("\n\t\t姓名: %s",student[i].name); printf("\n\t\t性别: %s",student[i].sex);printf("\n\t\t电话: %s",student[i].phone);printf("\n\t\t地址: %s",student[i].addr);printf("\n\t\t邮编: %s",student[i].postcode); printf("\n\t\tqq: %s",student[i].qq);printf("\n\t\t是否修改?(y/n)");if (getch()=='y'){devise ();return;}elsereturn;}continue;}if (numble==0){printf("\n\t\t没有该用户的纪录");printf("\n\t\t是否继续修改?(y/n)");if (getch()=='y')change();return;}}devise (){int choice;choice = -1;do{printf("请选择您要修改的学生的信息内容:\n"); printf("+----------------------+\n"); printf("| 学号请按 1 |\n");printf("| 姓名请按 2 |\n");printf("| 性别请按 3 |\n");printf("| 电话请按 4 |\n");printf("| 地址请按 5 |\n");printf("| 邮编请按 6 |\n");printf("| qq 请按 7 |\n");printf("| 取消请按 0 |\n"); printf("+----------------------|\n");printf("请输入您的选择:");scanf("%d", &choice);switch (choice){case 0:return;case 1:printf("请输入学号:");scanf("%s", &student[num].numb);break;case 2:printf("请输入姓名:");scanf("%d", &student[num].name);break;case 3:printf("请输入性别:");scanf("%s", &student[num].sex);break;case 4:printf("请输入电话:"); scanf("%s", &student[num].phone);break;case 5:printf("请输入地址:"); scanf("%s", &student[num].addr);break;case 6:printf("请输入邮编:"); scanf("%lf", &student[num].postcode); break;case 7:printf("请输入qq:");scanf("%s",&student[num].qq );break;default:printf("\n无效选项!");break;}}while(choice != 0);}/********************//********************//*通讯录链表的输出*/list(){int i;system("cls");if(num!=0){printf("\n\t\t*************** 以下为通讯录所有信息************");for (i=0;i<num;i++){printf("\n\t\t学号: %s",student[i].numb);printf("\n\t\t姓名: %s",student[i].name);printf("\n\t\t性别: %s",student[i].sex);printf("\n\t\t电话: %s",student[i].phone);printf("\n\t\t地址: %s",student[i].addr);printf("\n\t\t邮编: %s",student[i].postcode);printf("\n\t\tqq: %s",student[i].qq);printf("\t\t");if (i+1<num){printf("\n\t\t__________________________");system("pause");}}printf("\n\t\t***************************************** *******");}elseprintf("\n\t\t通讯录中无任何纪录");printf("\n\t\t按任意键返回主菜单:");getch();return(0);}/********************//********************//*通讯录链表的保存*/save(){int j;FILE *fp;fp=fopen("student.txt","w");if (fp==NULL)printf("can't open the file.");if(num!=0){for(j=0;j<num;j++){fwrite(student,sizeof(student),1,fp); }}printf("保存成功!"); fclose(fp);return(0);}/********************/。

相关文档
最新文档