班级通讯录(大数据结构,C语言)

合集下载

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语言班级电话簿

工装室内设计常用尺寸:1、墙面尺寸(1)踢脚板高;80~200mm。

(2)墙裙高:800~1500mm。

(3)挂镜线高:1600~1800(画中心距地面高度)mm。

2.餐厅(1) 餐桌高:750~790mm。

(2) 餐椅高;450~500mm。

(3) 圆桌直径:二人500mm.二人800mm,四人900mm,五人1100mm,六人1100~1250mm,八人1300mm,十人l500mm,十二人1800mm。

(4) 方餐桌尺寸:二人700×850(mm),四人1350×850(mm),八人2250×850(mm),(5) 餐桌转盘直径;700~800mm。

(6) 餐桌间距:(其中座椅占500mm)应大于500mm。

(7) 主通道宽:1200~1300mm。

(8) 内部工作道宽:600~900mm。

(9) 酒吧台高:900~l050mm,宽500mm。

(10) 酒吧凳高;600~750mm。

3.商场营业厅(1)单边双人走道宽:1600mm。

(2)双边双人走道宽:2000mm。

(3)双边三人走道宽:2300mm。

(4)双边四人走道宽;3000mm。

(5)营业员柜台走道宽:800mm。

(6)营业员货柜台:厚600mm,高:800~l000mm。

(7)单*背立货架:厚300~500mm,高:1800~2300mm。

(8)双*背立货架;厚;600~800mm,高:1800~2300mm(9)小商品橱窗:厚:500~800mm,高:400~1200mm。

(10)陈列地台高:400~800mm。

(11)敞开式货架:400~600mm。

(12)放射式售货架:直径2000mm。

(13)收款台:长:1600mm,宽:600mm4.饭店客房(1)标准面积:大:25平方米,中:16~18平方米,小:16平方米。

(2)床:高:400~450mm,床*高:850~950mm。

(3)床头柜:高500~700mm;宽:500~800mm。

C语言课程设计报告(报告+代码=班级通讯录系统)

C语言课程设计报告(报告+代码=班级通讯录系统)

河南理工大学计算机科学与技术学院课程设计报告课程名称:高级语言程序设计设计题目:班级通讯录学生姓名:杨传华学号:311009030227 专业班级:信管1002班指导教师:于金霞2010年 09 月 10 日一、设计题目及要求设计题目:班级通讯录对象:信管10级(一)、技术参数和设计要求:1.该系统主要处理通讯录的相关信息。

2.通讯录信息主要包括:姓名、班级、手机、家庭电话、电子邮件、通讯录地址、邮编等内容。

3.完成以下的操作:实现通讯录信息的添加、修改、删除和查询。

(二)、设计内容与步骤1. 分析并建立满足上述要求的数据结构2. 算法设计与分析3. 程序设计、实现、调试4. 课程设计说明书二、算法设计分析因为一个班级里面有很多学生,而且每个学生又包含很多信息如姓名、学号、电话、邮箱等,这些信息又分别属于不同的数据类型,但是每个学生所包含的数据信息成分相同,所以要用到构造数据类型:结构体。

用到结构体,应为要能实现查找、修改、删除等,所以又要用到链表的知识!要实现这些功能,要用到模块化设计思想,用函数来解决问题!三、具体函数分析(一)、插入新结点在插入新结点之前,先创建一个只有指针域的头结点,又指针p扫描全链表,实现尾插法,并返回头指针。

(二)、删除结点用连个指针p,q扫描全链表,先通过学号找到要删除的结点q,然后将q结点从链表中删除,然后释放此结点!(三)、修改结点内容通过学号找到此学生,通过switch语句选择要修改的项目,然后进行修改。

(四)、查找并输出通过学号找到此学生,然后分别访问并输出此结点各项内容。

(五)、输出通讯录顺序访问链表各个结点,并输出结点信息。

(六)、保存为文件现在d盘里面创建一个读写类型文件“班级通讯录.txt”,然后通过文件类型指针fp访问此文件并写入通讯录信息。

(七)、释放结点并结束程序从头结点开始,使头结点不断后移,并将前面的结点释放。

四、算法流程图五、函数运行情况及部分代码(一)、主函数框架主函数要用到基本输入输出、switch语句转换操作命令,然后用goto语句实现循环操作。

C语言程序设计班级通讯录管理系统

C语言程序设计班级通讯录管理系统

学院程序设计工程训练报告C语言程序设计班级通讯录管理系统课程名称C语言程序设计工程训练姓名院(系)信息科学与技术学院专业班级学号指导教师教务处制目录1.需求分析 (3)2.系统总框图和功能模块说明 (3)2.1 系统总框图........................................................ 错误!未定义书签。

2.2功能模块说明 (4)3.系统设计 (4)3.1 主要结构体 (4)3.2主要功能函数 (4)3.3关键函数的流程图 (17)4.调试结果 (20)5.总结 (24)6.源程序清单 (25)1.需求分析班级通讯录包括全班各个同学的姓名,电话,籍贯,其功能有以下几个:◆显示功能:完成全部通讯录信息的显示功能◆查找功能:完成按姓名,电话查找通讯录信息并显示◆增加功能:增加信息◆修改功能:完成对姓名、电话的修改◆删除功能:完成对通讯录的单个删除或全部删除◆退出功能:完成对整个通讯录的保存退出或者不保存退出2.系统总框图和功能模块说明2.1系统总框图2.2功能模块说明◆输入全班同学通讯录模块,完成同学通讯录的录入◆显示和查询同学,完成对同学通讯录的显示和查询◆添加同学模块,完成对新同学通讯录的添加◆删除同学模块,完成对同学通讯录信息的删除◆修改同学模块,完成对同学通讯录的修改◆退出系统模块,完成对整个系统的保存退出与不保存退出3.系统设计3.1 主要结构体姓名、电话号码、地址#include <stdio.h> /*头文件*/#include <stdlib.h> //包含最常用的系统函数#include <string.h> //关于字符数组的函数定义的头文件#include <conio.h> //控制台输入输出//定义结构体struct tongxunlu /*定义通讯录结构体变量*/{char xingming[31]; /*定义输入名字的数组*/char dianhua[31]; /*定义输入电话号码的数组*/char dizhi[31]; /*定义输入地址的数组*/} txl[100]; //默认100个数据int n=0;//记录数据同学数量FILE *fp; /*定义文件*/3.2主要功能函数(1)主菜单函数void zhucaidan(){char c;system("cls");printf("\n\t\t|------- 欢迎您使用计机123班通讯录管理系统-----|");printf("\n\t\t| 1-添加同学2-查询和显示同学|");printf("\n\t\t| 3-删除同学4-修改同学|");printf("\n\t\t| 5-保存退出0-不保存退出|");printf("\n\t\t|------------------------------------------------|");printf("\n\t\t请选择您所所要的服务:");c=getch();switch (c) /*对于上边的选择项目*/{case '1':zengjia();break;case '2':chazhao();break;case '3':shanchu();break;case '4':xiugai();break;case '5':writefile();break;case '0':exit(0);default:zhucaidan(); /*如果没有则返回主菜单等待输入*/}}(2)main主函数void main() /*主函数main*/{ readfile(); /*读入文件*/while(1) /* 循环(永远进行)*/{zhucaiidan(); /*调用主菜单函数*/}}main()函数功能分析:main()函数通过调用readfile()函数和循环menu()函数实现对入文件和界面进行控制。

c班级通讯录课程设计

c班级通讯录课程设计

c 班级通讯录课程设计一、教学目标本课程旨在让学生掌握班级通讯录的基本知识和技能,能够独立制作和运用班级通讯录。

具体目标如下:1.知识目标:了解班级通讯录的概念、作用和基本格式,掌握姓名、电话、邮箱等信息的正确录入和格式化方法。

2.技能目标:能够运用文本编辑软件(如Microsoft Word、WPS文字等)制作班级通讯录,熟练使用查找、替换、字体设置等基本功能。

3.情感态度价值观目标:培养学生尊重他人、注重沟通的合作精神,增强班级凝聚力和团队意识。

二、教学内容本课程的教学内容主要包括以下几个部分:1.班级通讯录的概念和作用:介绍班级通讯录的基本定义,阐述其在班级管理、沟通交流中的重要性。

2.班级通讯录的格式和编排:讲解班级通讯录的基本格式,包括目录、序号、姓名、性别、电话、邮箱等项目的设置和排列。

3.信息的录入和编辑:教授如何准确、规范地录入和编辑个人信息,包括姓名、电话、邮箱等,以及如何进行查找、替换、字体设置等操作。

4.班级通讯录的应用:介绍班级通讯录在日常班级活动、家校沟通等方面的实际应用,培养学生的实践能力。

三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:教师讲解班级通讯录的基本概念、格式和编排方法,为学生提供系统的知识结构。

2.案例分析法:通过分析实际案例,让学生了解班级通讯录在实际应用中的重要作用,提高学生的学习兴趣。

3.小组讨论法:学生分组讨论,互相交流制作班级通讯录的心得体会,培养学生的合作精神和沟通能力。

4.实验法:学生动手操作,实际制作班级通讯录,巩固所学知识,提高实践能力。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将采用以下教学资源:1.教材:选用正规出版的班级通讯录教材,为学生提供系统的理论知识。

2.参考书:提供相关书籍,供学生课后拓展阅读,加深对班级通讯录的理解。

3.多媒体资料:制作PPT、视频等多媒体资料,直观展示班级通讯录的制作过程,提高学生的学习兴趣。

学生通讯录管理系统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语言编程的基本知识,并且实践项目开发的流程。

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

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

C++程序设计(班级通讯录)

C++程序设计(班级通讯录)

C++程序设计(班级通讯录)C++程序设计(班级通讯录)一、引言1.1 目的本文档旨在介绍一个用C++编写的班级通讯录程序,该程序可以用来管理和维护班级成员的联系信息。

1.2 范围本程序设计主要包括以下功能:- 添加新的成员信息- 显示所有成员信息- 查找指定成员信息- 修改成员信息- 删除成员信息二、设计概述2.1 程序结构程序将采用面向对象的设计思路,主要分为以下几个类:- Contact:表示一个班级成员的联系信息- ContactList:管理和维护成员信息的类- Menu:提供菜单选项的类2.2 数据结构程序中将使用以下数据结构存储成员的联系信息:- 数组:用于存储成员的姓名、方式、邮箱等基本信息- 链表:用于管理成员信息的添加、修改、删除等操作三、详细设计3.1 Contact类3.1.1 属性- 姓名- 方式- 邮箱3.1.2 方法- 构造函数:用于初始化Contact对象- get/set方法:用于获取和设置对象的属性值3.2 ContactList类3.2.1 属性- 成员列表:用于存储所有成员联系信息的链表3.2.2 方法- 添加成员信息:将一个新的成员信息添加到链表中- 显示所有成员信息:遍历链表并逐个显示成员信息- 查找成员信息:根据姓名查找指定成员的联系信息- 修改成员信息:根据姓名修改指定成员的联系信息- 删除成员信息:根据姓名删除指定成员的联系信息3.3 Menu类3.3.1 方法- 显示菜单选项:显示主菜单选项供用户选择四、测试计划4.1 测试环境- 操作系统:Windows 10- 编译器:g++ 9.3:04.2 测试用例- 添加新的成员信息,并验证信息是否正确存储- 显示所有成员信息,并检查显示结果是否正确- 查找指定成员信息,并验证查找结果是否正确- 修改指定成员的联系信息,并验证修改结果是否正确- 删除指定成员的联系信息,并验证删除结果是否正确五、维护和支持5.1 项目维护- 维护人:李明- 联系方式:li_min5.2 技术支持- 支持人员:张华- 联系方式:zhang_hu附件:无法律名词及注释:- 本文档中未涉及到法律名词和注释。

C++程序设计(班级通讯录)

C++程序设计(班级通讯录)

C++程序设计(班级通讯录)一、项目简介本项目是一个用C++语言实现的班级通讯录管理系统。

通过该系统,用户可以方便地管理班级成员的联系信息,包括姓名、学号、方式等。

二、功能列表1. 添加联系人:用户可以输入学生的信息,包括姓名、学号、方式等,并将其添加到通讯录中。

2. 删除联系人:用户可以输入学生的学号,将对应的联系人从通讯录中删除。

3. 修改联系人:用户可以输入学生的学号,修改对应的联系人的信息。

4. 查询联系人:用户可以输入学生的学号或姓名,查询对应的联系人的信息。

5. 显示所有联系人:用户可以查看通讯录中所有联系人的信息。

6. 清空通讯录:用户可以选择清空通讯录,将所有联系人信息清空。

三、实现思路1. 创建一个学生类,包含姓名、学号、方式等属性,并提供相应的成员函数用于获取和设置这些属性。

2. 创建一个通讯录类,用于管理学生信息。

包括添加联系人、删除联系人、修改联系人、查询联系人和显示所有联系人等功能。

3. 在主函数中,显示主菜单,根据用户的选择调用相应的功能函数。

四、实现步骤1. 定义学生类,包含姓名、学号、方式等属性,并提供相应的成员函数用于获取和设置这些属性。

2. 定义通讯录类,包括添加联系人、删除联系人、修改联系人、查询联系人和显示所有联系人等功能函数。

3. 在主函数中,显示主菜单,根据用户的选择调用相应的功能函数。

五、项目优势1. 简单易用:用户界面友好,操作简便,不需要输入繁琐的指令。

2. 功能完善:涵盖了常用的联系人管理功能,满足用户的需求。

3. 数据安全:通讯录数据保存在内存中,不会外泄或丢失。

4. 可扩展性强:可以根据实际需求进行修改和扩展。

六、通过本项目的实现,我们学习了C++程序设计的基本语法和面向对象的编程思想。

也加深了对通讯录管理系统的理解和实现能力。

希望这个项目对大家学习和了解C++编程有所帮助。

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

班级通讯录1、设计目的设计一个计算机管理系统对班级通讯录进行管理。

2、设计要求一个学生的数据包括:学号、、、手机、QQ号。

要求设计一个计算机管理系统对班级通讯录进行管理,具有的功能是能够进行录入、修改、删除、查找和输出所有记录。

为提高数据的可访问性,、手机、QQ号建立索引表,索引表可以在维护数据时动态维护,也可能最后一次建立。

设计条件:硬件条件:(1)学生用微机(2)多媒体教室(3)局域网环境软件条件:(1)Windows XP中文操作系统(2)Turbo C 3.03、课程设计的容3.1、需求分析:随着科技的进步和信息产业的发展,通讯录成为了现代生活中的一个重要的工具。

利用通讯录管理系统对通讯录进行统一管理,包括添加,修改,查询记录等功能,实现通讯录管理工作的系统化,规化和自动化,为生活提供便利。

在设计的通讯录中,学生学号,,手机,QQ均以数字的形式进行输入,学生则以中文,英文输入均可进行记录,输出的形式与输入形式相同。

按要求,设计的通讯录管理系统可以实现添加、修改、删除、查找,对学号的排序和输出所有学生记录。

进行测试的数据和执行情况如下图所示:程序主观图:添加记录:显示所有记录:删除一条记录:根据学号查找:对记录的排序:主要是对添加新纪录在链表中按升序排列,如新加伟这条记录,对它采取排序,具体结果如下:进行排序:输入6即退出:3.2、概要设计:对该系统各种函数的定义在源代码给出,先给出函数的定义,然后给出菜单的执行函数,建立链表,并对各个功能的实现编出程序,直到调试成功为止。

3.3、详细设计主要给出程序的流程图,如下所示:菜单函数:链表构造:按学号显示学生数据:删除记录:显示所有信息:排序:3.4、程序调试与测试结果:经过认真调试最终结果为正确。

如图:3.5、结果分析:在编译过程中遇到很多困难,程序也基本上符合要求,但是有一点目前还没解决,就是基于链表的修改还没掌握,因此花了很大的力气,但是还是没有完成,只好采取的修改方式为:删除,添加,排序的方法对链表中的元素进行修改。

4、总结本系统基本实现了班级通讯录系统的典型功能,如添加查找等功能,而且具有较高的安全性。

但是因为能力有限,还有部分功能未能完善,这些局限性都是有待逐步完善的方面。

而且通过这次课程设计,我培养了自己对C编程的兴趣,进一步了解了数据结构的特色和,编程能力也有所提高,但仍存在许多不足,不能独自编写完整代码,写代码要参考很多资料,所以今后应培养自己独立写代码的能力。

5、参考文献[1] 宁正元,王秀丽.算法与数据结构.:清华大学,2006[2] 姜灵芝,余键.C语言课程设计案例精编:清华大学,20086、附录该程序的源代码:#include<stdio.h>#include<conio.h>#include<malloc.h>#include<string.h>#include<process.h>typedef struct student{char Number[10]; //学号char name[20]; //char telephone[20]; //char cellphone[20]; //手机char QQ[10]; //QQstruct student *next;}student;student *headLink; //链表表头指针void DesplayMenu(); //以下是函数声明void CreateHeadLink();student *MallocNode();void GetInformation(student *t);void OutputInformation();void DesplayInfoByNumber();void DesplayOneNode(student *t);void InsertOneNode(student *t);void rangebyNumber();void DeleteNodeByNumber();void DesplayInfoByName();int choose; //用于接受用户的选择void main() //主函数{CreateHeadLink();DesplayMenu();}void DesplayMenu() //显示菜单,根据用户的输入完成相应的功能{student *p;printf("\n-------请选择相应功能-------------\n\n");printf(" 1 显示所有学生信息\n");printf(" 2 增加一条学生信息\n");printf(" 3 删除一条学生信息\n");printf(" 4 根据学号查找学生的信息\n");printf(" 5 按学号高到低排序\n");printf(" 6 退出\n");printf("请输入序号:\n");scanf("%d",&choose); //取得用户的选择switch(choose){case 1:OutputInformation();break;case 2:p=MallocNode(); //先申请一个新结点GetInformation(p); //要求用户输入信息到新结点中InsertOneNode(p); //将新结点加到链表中break;case 3:DeleteNodeByNumber();break;case 4:DesplayInfoByNumber();break;case 5:rangebyNumber();break;case 6:free(headLink); //先释放存空间exit(1);break;default:break;}DesplayMenu(); //递归调用}void CreateHeadLink() //建立链表表头{student *p;p=(student*)malloc(sizeof(student));headLink=p;p->next=NULL;}student *MallocNode() //申请一个新结点,并将其初始化student *p;int i;p=(student*)malloc(sizeof(student));if(p==NULL)return NULL;for(i=0;i<10;i++)p->Number[i]='\0';for(i=0;i<20;i++)p->name[i]='\0';for(i=0;i<20;i++)p->telephone[i]='\0';for(i=0;i<10;i++)p->cellphone[i]='\0';for(i=0;i<10;i++)p->QQ[i]='\0';p->next=NULL;return p;}void GetInformation(student *t) //添加学生信息{printf("请输入序号:\n");scanf("%s",t->Number);printf("请输入:\n");scanf("%s",t->name);printf("请输入:\n");scanf("%s",t->telephone);printf("请输入手机号:\n");scanf("%s",t->cellphone);printf("请输入QQ:\n");scanf("%s",t->QQ);}void InsertOneNode(student *t) //在链表的结尾处增加一个结点{student *p;p=headLink;while(p->next){p=p->next;}p->next=t;}void DesplayInfoByNumber() //根据学号显示该学号学生的信息{student *p;char good[10];char flag=0;p=headLink->next;if(p==NULL){printf("对不起,现在没有学生信息!\n");return;}printf("请输入序号:\n");scanf("%s",good);printf("学号\t\t\t手机号\tQQ\t\n");while(p){if(strcmp(p->Number,good)==0){DesplayOneNode(p);flag=1;break;}p=p->next;}if(!flag)printf("对不起,不存在序号为%s 的学生\n",good);}void DesplayOneNode(student *t) //输出一个学生结点的信息{printf("%s\t",t->Number);printf("%s\t",t->name);printf("%s\t",t->telephone);printf("%s\t",t->cellphone);printf("%s\t\n",t->QQ);}void DeleteNodeByNumber() //根据学号删除该学生信息{char good[10];student *p,*q;char flag=0;printf("请输入要删除的学生序号:");scanf("%s",good);p=headLink;q=headLink->next;while(q){if(strcmp(q->Number,good)==0){p->next=q->next;free(q);flag=1;break;}p=p->next;q=q->next;}if(!flag)printf("不存在这学生\n");}void OutputInformation() //显示所有学生的信息{student *p;p=headLink->next;if(p==NULL){printf("现在没有任何信息,请先输入学生信息\n\n");return;}printf("学号\t\t\t手机号\tQQ\t\n");while(p){DesplayOneNode(p);p=p->next;}}void rangebyNumber() //根据输入的学号,按低到高排序{char Number[10];student exchange,*r,*p,*q;r=headLink->next;if(r==NULL){printf("现在还没任何信息,请先输入学生信息\n");return;}printf("请输入学号:\n");scanf("%s",Number);while(r) //两层while循环实现排序{p=r;q=r->next;while(q){if((strcmp(p->Number,q->Number)>0)) //学号大时才交换{strcpy(exchange.Number,q->Number); //先复制q结点信息到exchange strcpy(exchange.QQ,q->QQ);strcpy(exchange.cellphone,q->cellphone);strcpy(,q->name);strcpy(exchange.telephone,q->telephone);strcpy(q->Number,p->Number); //再复制p结点信息到qstrcpy(q->QQ,p->QQ);strcpy(q->cellphone,p->cellphone);strcpy(q->name,p->name);strcpy(q->telephone,p->telephone);strcpy(p->Number,exchange.Number); //最后复制exchange结点信息到p strcpy(p->QQ,exchange.QQ);strcpy(p->cellphone,exchange.cellphone);strcpy(p->name,);strcpy(p->telephone,exchange.telephone);}q=q->next;}r=r->next;}}。

相关文档
最新文档