学生宿舍管理系统程序设计(优秀)

合集下载

C语言课程设计——学生宿舍管理系统(总17页)

C语言课程设计——学生宿舍管理系统(总17页)

C语言课程设计——学生宿舍管理系统(总17页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除****大学C语言课程设计报告题目:学生宿舍管理系统系部名称:专业名称:班级:学号:学生姓名:指导教师:时间:一、课程设计目的1.?设计一个ubuntu下的学生宿舍管理系统2.?掌握用C语言定义单链表结构,并实现其创建、插入、删除等基本操作。

二、课程设计内容用C语言编写“学生宿舍管理系统”,要求如下:1.创建链表,录入数据。

2.数据的读写操作。

3.数据的更新操作。

4.数据的删除和插入。

5.请你要求对数据进行查找。

6.按要求排序。

7.设计总体菜单界面。

三、实验要求1、录入数据学生的基本信息,包括学号、姓名、性别、年龄、专业、班级等。

宿舍楼的基本信息,包括宿舍楼号、学生所住的房间号和宿舍床位号等。

2、数据存储信息的录入要求用链表,把输入的信息要求存储到指定文件夹中,以便随时查看,也可供程序调用,方便操作人员不用重复输入数据。

3、数据的更新更新包括插入、删除、修改。

删除分根据学号删除和根据学生的楼层信息删除。

5、数据的查询查询可以根据学号和宿舍信息不同方面进行查询,方便操作者使用。

6、数据的排序操作者可以使所输入的信息按学号排序。

7、数据的统计按整体统计,统计所有学生人数,男生人数和女生人数。

四、概要设计1.系统结构图(功能模块图)2.功能模块说明:(1). 数据录入:创建单链表,调用Initnode()函数申请头结点,在调用append(),在调用Write_to_File()函数将信息写入文件中,(2) 插入模块:先将文件信息读出,再调用insert()函数,可以向文件中插入信息。

(3)插入模块:先将文件信息读出,再调用del()函数,可以将输入错误或者需要的信息删除。

(4) 修改模块:先将文件信息读出,再调用modify()函数,将输入错误的信息修改。

学生宿舍管理系统java课程设计

学生宿舍管理系统java课程设计

学生宿舍管理系统Java课程设计一、介绍学生宿舍管理系统是一个致力于简化和规范学生宿舍管理流程的软件系统。

该系统能够帮助学校管理部门更加高效地管理宿舍分配、维修、费用收支等方面的工作。

在本文中,我将为您详细介绍学生宿舍管理系统的设计以及其中所涉及的Java课程设计。

二、系统功能1. 学生信息管理学生宿舍管理系统需要能够对学生的基本信息进行管理,包括尊称、学号、性别、通信方式等。

通过Java语言,可以设计一个简洁而有效的学生信息管理模块,实现学生信息的录入、编辑和查询等功能。

2. 宿舍分配宿舍管理系统需要能够根据学生的特点和条件进行宿舍的合理分配。

在Java课程设计中,可以设计一个宿舍分配算法,根据学生的性别、年级、专业等信息,自动进行宿舍分配,保证宿舍资源的合理利用。

3. 宿舍维修管理宿舍维修是宿舍管理中不可或缺的一环。

通过Java技术,可以设计一个宿舍报修系统,学生可以通过系统提交维修请求,维修人员可以及时查看并进行处理,从而提高维修效率。

4. 费用管理宿舍管理系统还需要能够管理学生宿舍费用的收支情况,包括宿舍费的缴纳、欠费提醒等功能。

通过Java编程,可以设计一个费用管理模块,实现宿舍费用的统计和提醒功能。

三、系统设计在Java课程设计中,需要按照面向对象的思想来设计学生宿舍管理系统。

可以设计学生、宿舍、维修人员、费用等各种对象,并建立它们之间的关系,如学生与宿舍的关联、维修人员与维修任务的关联等。

通过良好的系统设计,可以让系统结构清晰,功能互相独立,易于维护和扩展。

四、个人观点学生宿舍管理系统是一个非常实用的软件系统,可以有效地简化学校宿舍管理部门的工作,提高管理效率。

通过本文的介绍,我们了解了学生宿舍管理系统的设计和Java课程设计中的相关内容,可以更深入地理解和学习Java编程。

总结回顾本文中,我们详细介绍了学生宿舍管理系统的设计以及其中所涉及的Java课程设计。

通过对系统功能、系统设计和个人观点的讨论,希望能够让读者对学生宿舍管理系统有一个全面、深刻和灵活的理解。

学生宿舍管理系统c程序

学生宿舍管理系统c程序

学生宿舍管理系统c程序
学生宿舍管理系统C程序的设计与实现
随着学校规模的不断扩大,学生宿舍管理面临着越来越多的挑战。

传统的手工管理方式已经无法满足现代化教学的需求。

因此,设计一款高效、便捷的学生宿舍管理系统变得至关重要。

本文将介绍一个基于C语言的学生宿舍管理系统,并详细阐述其设计与实现过程。

学生宿舍管理系统的功能主要包括:学生信息管理、宿舍信息管理、宿舍入住管理、宿舍退房管理以及宿舍报修管理等。

为了实现这些功能,我们设计了以下几个模块:
1、学生信息管理模块:该模块主要用于维护学生信息,包括姓名、学号、性别、年龄、联系方式等。

通过输入学生信息,可以快速查询和更新学生的基本信息。

2、宿舍信息管理模块:该模块主要用于维护宿舍信息,包括宿舍号、房间号、住宿人数等。

通过输入宿舍信息,可以快速查询和更新宿舍的基本情况。

3、宿舍入住管理模块:该模块主要用于管理学生的入住情况,包括入住时间、入住原因等。

通过输入入住信息,可以实时掌握宿舍的入住情况。

4、宿舍退房管理模块:该模块主要用于管理学生的退房情况,包括
退房时间、退房原因等。

通过输入退房信息,可以实时掌握宿舍的退房情况。

5、宿舍报修管理模块:该模块主要用于管理宿舍的报修情况,包括报修时间、报修内容、维修进度等。

通过输入报修信息,可以及时了解宿舍的维修情况。

以下是基于以上设计的学生宿舍管理系统的C程序代码实现:。

学生宿舍管理系统设计c语言

学生宿舍管理系统设计c语言

学生宿舍管理系统设计c语言学生宿舍管理系统是一个有着多种功能的系统,它主要负责管理宿舍数据、学生数据、宿舍水电费用、宿舍安全、学生违纪以及宿舍管理员的工作等。

一个合理运行的宿舍管理系统可以使学生的宿舍生活更加安全、舒适、方便。

下面我将详细阐述如何设计一个基于C语言的学生宿舍管理系统。

1.需求分析首先需要进行需求分析,明确系统应该能够执行哪些功能。

包括宿舍的数据管理,包括了宿舍编号、宿舍地址、宿舍费用等;学生的数据管理,包括了学生姓名、学号、性别、联系方式等;宿舍安全,包括了监控系统、入宿控制、防火安全等;学生管理,包括了违纪记录的管理以及学生信息的管理等。

2.设计模块针对这些功能,我们需要设计相应的模块。

首先是数据管理模块,这个模块需要包括宿舍数据和学生数据两个类。

宿舍数据类可以包含如下内容:- 宿舍编号- 宿舍地址- 宿舍费用学生数据类可以包含如下内容:- 学号- 姓名- 性别- 联系方式接下来是安全模块,这个模块需要实现入宿控制、防火安全等功能,还应该有监控系统。

违纪管理模块应该能够记录学生的各种违纪行为,例如抽烟、喝酒、打架等,这个模块需要有一个记录表格。

最后是管理员模块,这个模块可以进行学生宿舍的分配、学生信息维护、违纪行为记录等管理工作。

3.实现代码在C语言中,我们可以使用结构体来实现上述模块。

例如宿舍数据类的代码可以写成:struct dormitory{char dorm_id[10];char dorm_address[30];float dorm_fee;};学生数据类的代码可以写成:struct student{char name[20];char id[10];char sex[10];char phone[20];};其他模块的代码同样可以类似地实现。

4.测试与完善在代码实现结束后,我们需要进行测试和完善。

测试可以先按照设计的需求,输入相应的数据来验证系统是否符合要求。

在测试中,我们需要注意各种输入可能引发的异常情况,例如空数据、重复数据等。

JAVA程序设计-宿舍管理系统(完整版)

JAVA程序设计-宿舍管理系统(完整版)

import java.io.*;import java.util.*;class Room {String ID;String tpye;int RN;Room(){this.RN = 6;}void show(){System.out.println("房间的编号:"+this.ID);System.out.println("房间的类型:"+this.tpye);System.out.println("房间的还能够容纳的学生数量:"+this.RN);}}class Student {String name;String ID;String gender;String RoomID;void show()//显示学生信息的方法System.out.println("学生的学号:" + this.ID);System.out.println("学生的姓名:" + );System.out.println("学生的性别:" + this.gender);System.out.println("学生的房间号:" + this.RoomID);}static void showallstudent(ArrayList allarraylist)//创立一个显示所有学生的信息的方法{for(int i = 0; i<allarraylist.size();i++){System.out.println();System.out.println("第" + (i + 1) + "名学生:");Student allstudent = (Student)allarraylist.get(i);System.out.println("学生的学号:" + allstudent.ID);System.out.println("学生的姓名:" + );System.out.println("学生的性别:" + allstudent.gender);System.out.println("学生的房间号:" + allstudent.RoomID);System.out.println();}}}public class Sushe {public static void main(String[] args)int i = 888;//定义全局变量,并且赋值ArrayList addarray = new ArrayList();//创立一个动态的存储数组addarray Room[] room = new Room[5];//创立5个房间for(int j=0;j<room.length;j++)//初始化每个房间数{room[j] = new Room();room[j].ID = ("R"+(j+1));if(j<2)room[j].tpye = "female";else room[j].tpye = "male";}function();do//第一个死循环控制总的功能{int k;Scanner sc = new Scanner(System.in);i = sc.nextInt();switch (i){case 1:Student localStudent1 = new Student();System.out.print("请输入学号:");Scanner localScanner1 = new Scanner(System.in);localStudent1.ID = localScanner1.next().toString();System.out.print("请输入姓名:");localScanner1 = new Scanner(System.in); = localScanner1.next().toString();System.out.print("请输入性别:");localScanner1 = new Scanner(System.in);localStudent1.gender = localScanner1.next().toString();for (k = 0; k < room.length; k++){if ((room[k].RN > 0) && (room[k].tpye.equals(localStudent1.gender))) {room[k].RN -= 1;localStudent1.RoomID = room[k].ID;System.out.println("新添加的学生被分配到房间:" + room[k].ID);break;}}addarray.add(localStudent1);function();break;case 2:System.out.println("所有房间信息如下:");for (k = 0; k < room.length; k++){System.out.println("房间号:" + room[k].ID);System.out.println("房间类型:" + room[k].tpye);System.out.println("房间还能容纳的学生数:" + room[k].RN);System.out.println();}function();break;case 3:System.out.print("请输入待查询房间的房间号:");Scanner localScanner2 = new Scanner(System.in);String str1 = localScanner2.next().toString();for (int m = 0; m < room.length; m++){if (room[m].ID.equals(str1)){room[m].show();break;}}function();break;case 4:Student.showallstudent(addarray);function();break;case 5:System.out.print("请输入待查询学生的学号:"); Scanner localScanner3 = new Scanner(System.in);String str2 = localScanner3.next().toString();for (int n = 0; n < addarray.size(); n++){Student localStudent2 = (Student)addarray.get(n);if (localStudent2.ID.equals(str2)){localStudent2.show();break;}}function();break;case 6:System.out.print("请输入待修改学生的学号:");Scanner localScanner5 = new Scanner(System.in);String str5 = localScanner5.next().toString();for (int i2 = 0; i2 < addarray.size(); i2++){Student localStudent3 = (Student)addarray.get(i2);String m = localStudent3.gender;String m1 = localStudent3.RoomID ;if (localStudent3.ID.equals(str5)){System.out.print("请输入修改后的学生的学号:");Scanner localScanner11 = new Scanner(System.in);localStudent3.ID = localScanner11.next().toString();System.out.print("请输入请输入修改后的学生的姓名:"); localScanner11 = new Scanner(System.in); = localScanner11.next().toString();System.out.print("请输入请输入修改后的学生的性别:"); localScanner11 = new Scanner(System.in);localStudent3.gender = localScanner11.next().toString();if (!(m.equals(localStudent3.gender))){for(k = 0; k< room.length ;k++){if(room[k].ID.equals(m1)){room[k].RN++;break;}}addarray.remove(i2);for (k = 0; k < room.length; k++){if ((room[k].RN > 0) && (room[k].tpye.equals(localStudent3.gender))) {room[k].RN -= 1;localStudent3.RoomID = room[k].ID;System.out.println("修改的学生被分配到房间:" + room[k].ID);addarray.add(localStudent3);break;}}}System.out.println("恭喜你!修改成功!");function();}}break;case 7:System.out.print("请输入待删除学生的学号:");Scanner localScanner4 = new Scanner(System.in);String str3 = localScanner4.next().toString();for (int i1 = 0; i1 < addarray.size(); i1++){Student localStudent3 = (Student)addarray.get(i1);if (localStudent3.ID.equals(str3)){System.out.print("学号为" + localStudent3.ID + "的学生已被删除!");addarray.remove(i1);break;}}function();break;case 8:showfunction();break;case 0:System.out.println("\t\t谢谢使用!\n\t\t(*^__^*)\n\t\t再见!");break;default:System.out.println("你按的神马东西,没看说明吗?\t\t-_-#");function();}}while(i!=0);}static void function(){System.out.println("***************************************");System.out.println("*\t\t宿舍管理系统");System.out.println("*");System.out.println("*\t[1] 新增学生、并分配宿舍");System.out.println("*");System.out.println("*\t[2] 查看宿舍信息");System.out.println("*");System.out.println("*\t[3] 按房间号查看房间信息");System.out.println("*");System.out.println("*\t[4] 查看所有学生信息");System.out.println("*");System.out.println("*\t[5] 按学生学号查询学生信息");System.out.println("*");System.out.println("*\t[6] 按学号修改学生信息");System.out.println("*");System.out.println("*\t[7] 删除指定学生");System.out.println("*");System.out.println("*\t[8] !!!详细使用说明信息!!!");System.out.println("*");System.out.println("*\t[0] 退出");System.out.println("***************************************");System.out.println("Please select a funtion:");}static void showfunction() {System.out.println("***************************************");System.out.println("|\t\tJAVA程序设计");System.out.println("|\t\t ");System.out.println("|\t\t 李月超");System.out.println("|\t\t ");System.out.println("|\t\t班级:乐山师范学院_计科学院_12级网络工程班");System.out.println("|\t\t ");System.out.println("|\t\t开发日期:2013年12月");System.out.println("***************************************");System.out.println("*课程题目:\n*设计宿舍管理系统\n*宿舍管理要求:\n*可以新增学生,新增学生的同时,按以上要求由系统自动将学生安排进房间\n*可以列出所有房间信息\n*可以通过房间号查看房间信息,以及该房间内住宿学生的信息\n*可以列出所有学生信息\n*可以通过学生学号查看学生的信息\n*可以删除指定学生");System.out.println("*\t\t提示:\n*此程序的功能只能是0-9数字输入\n*性别只能是female或者是male!!!");System.out.println("---------------------------------------");System.out.println("|\t\t宿舍管理系统");System.out.println("|\t[1] 新增学生、并分配宿舍");System.out.println("|\t[2] 查看宿舍信息");System.out.println("|\t[3] 按房间号查看房间信息");System.out.println("|\t[4] 查看所有学生信息");System.out.println("|\t[5] 按学生学号查询学生信息");System.out.println("|\t[6] 按学号修改学生信息");System.out.println("|\t[7] 删除指定学生");System.out.println("|\t[8] !!!详细使用说明信息!!!");System.out.println("|\t[0] 退出");System.out.println("---------------------------------------");System.out.println("Please select a funtion:");}}.。

c语言寝室管理系统课程设计

c语言寝室管理系统课程设计

c语言寝室管理系统课程设计一、教学目标本课程旨在通过C语言编程实现一个简单的寝室管理系统,让学生掌握C语言的基本语法、数据结构、文件操作等知识,培养学生的编程能力、逻辑思维能力和问题解决能力。

1.掌握C语言的基本语法和编程技巧。

2.了解数据结构的基本概念,学会使用结构体和数组。

3.掌握文件操作的方法,能编写简单的文件读写程序。

4.能够使用C语言编写简单的程序,实现对寝室信息的增删改查功能。

5.具备良好的编码习惯,能够编写清晰、规范的代码。

6.学会使用调试工具,能够独立排查和解决问题。

情感态度价值观目标:1.培养学生对编程的兴趣,增强自信心,培养克服困难的勇气。

2.培养学生团队合作精神,学会与人沟通和协作。

3.培养学生关注社会问题,提高社会责任感和使命感。

二、教学内容本课程的教学内容主要包括C语言基本语法、数据结构、文件操作等。

1.C语言基本语法:介绍C语言的数据类型、运算符、控制语句、函数等基本知识。

2.数据结构:讲解结构体、数组、链表等基本数据结构的概念和应用。

3.文件操作:讲解文件打开、关闭、读写等基本文件操作方法。

4.寝室管理系统实现:通过实际项目案例,引导学生运用所学知识编写程序,实现对寝室信息的增删改查功能。

三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法。

1.讲授法:通过讲解C语言的基本语法、数据结构和文件操作等知识,使学生掌握基本概念和编程方法。

2.案例分析法:通过分析实际项目案例,引导学生运用所学知识解决实际问题。

3.实验法:安排实验室实践环节,让学生动手编写程序,培养学生的实际编程能力和问题解决能力。

四、教学资源1.教材:《C程序设计语言》(K&R)或《C语言入门到精通》等。

2.参考书:《C Primer Plus》、《C语言深度探索》等。

3.多媒体资料:教学PPT、视频教程等。

4.实验设备:计算机、编程调试工具等。

教学资源应根据实际教学需求进行选择和准备,以支持教学内容和教学方法的实施,提高学生的学习体验。

课程设计--- 学生宿舍管理系统

课程设计--- 学生宿舍管理系统

软件设计报告题目:学生宿舍管理系统院部名称:电子工程学院专业名称:电子信息工程班级:班内序号:学生姓名:指导教师:时间:2009年6月21日至2007年7月2日C语言程序设计报告一、实验目的1.熟悉C语言程序的编辑、编译链接和运行的过程,至少能够用一种编译器较熟练地编辑、编译及调试程序。

2.掌握C语言数据类型,如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法。

3.熟练运用if语句和switch语句以及嵌套应用。

涉及循环调用的,了解并掌握三种控制语句while、do-while和for语句。

4.学习并掌握C语言定义函数的基本方法、声明函数及调用函数的方法和过程。

5. 掌握文件和文件指针的概念以及文件的定义方法,认识文件打开、关闭、读、写等文件基本操作函数。

6.掌握结构体类型变量、数组的定义和使用。

7.了解指针和链表的概念,掌握指针的定义和使用指针变量的方法以及链表的正确用法。

灵活使用链表来储存学生信息。

8.掌握数组的定义、引用以及输入输出的方法、通过字符数组存储字符串,进一步使用字符串二、课程设计内容简介宿舍管理主要功能:(1)能按学生的学号、姓名、性别、及所在院、系、班等完成对学生所住宿舍的添加、录入、修改、删除。

(2)能统计住宿学生数目,能根据学生的学号进行排序(3)能按学号或者是宿舍门牌号及床位号查询住宿学生的各项信息。

(4)能输出学生住宿情况的具体信息表。

开发工具——Visual C++ 6.0运行平台——Windows XP三、程序特色⑴宿舍管理最主要的是对学生信息的查询,本程序在查询上特色鲜明,可以实现以下功能:1按学生姓名查询;2按学号查询;3按班级查询;4查询某一宿舍住宿人员及人数;5查询某宿舍电话;⑵建立的链表带有头结点,方便处理;⑶数据和密码保存在不同的文件夹三、需求分析系统功能:(1)能按住宿学生的学号、姓名、性别、年龄及院系完成他住宿情况的录入、删除和修改。

(2)能按住宿学生的学号、姓名、性别、所住宿舍门牌号、床位号添加信息。

学生宿舍管理系统设计

学生宿舍管理系统设计

学生宿舍管理系统设计首先,学生宿舍管理系统应包括以下基本功能:2.宿舍信息管理:包括宿舍的基本信息、楼层分布图、房间信息等。

管理员可以通过系统对宿舍进行分配、调整和查询等操作,同时可以根据楼层分布图方便地查看宿舍的使用情况。

3.入住管理:学生在入住时,需要通过系统进行申请和审批。

学生可以在系统中提交入住申请,并通过系统查看审批进度。

管理员可以通过系统对入住申请进行审批,并进行入住分配。

4.报修管理:学生在宿舍内遇到问题或需要维修时,可以通过系统进行报修申请。

管理员可以及时处理报修请求,并派遣维修人员进行维修。

学生可以通过系统查看报修进度和维修结果。

5.借用管理:学生在宿舍内需要借用公共设备或物品时,可以通过系统进行借用申请。

管理员可以审核借用请求,并进行设备或物品的分配。

学生可以通过系统查看借用记录和归还日期。

6.宿舍费用管理:学生入住宿舍需要缴纳宿舍费用,系统可以通过信息管理功能记录学生缴费记录和查看欠费情况。

同时,系统可以提供在线缴费功能,方便学生缴费。

7.公告管理:管理员可以通过系统发布学生宿舍的重要公告和通知。

学生可以通过系统查看公告内容和重要通知,确保及时了解宿舍相关信息。

此外,学生宿舍管理系统还可以拓展一些扩展功能和智能化功能,如:1.考勤打卡功能:通过系统实现学生的考勤管理,学生在入住宿舍时通过系统打卡,管理员可以通过系统查看学生的考勤情况。

2.温湿度监测功能:通过传感器实时监测宿舍的温湿度情况,并通过系统进行实时监控和记录,管理员可以及时了解宿舍环境,保障学生的健康和舒适。

3.智能安全管理:通过智能设备和监控系统监测宿舍安全状况,如火灾报警、入侵检测等,管理员可以通过系统实时监控和处理。

总结起来,学生宿舍管理系统的设计目标是方便、高效、自动化和智能化。

通过系统集成多个管理功能,可以实现宿舍管理的一体化和信息化,提升管理效率,改善学生的生活和学习环境。

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

#include<>#include<>#include<>#include<>#include<>#include<>struct information{char name[100]; 加新学生 2.查询学生信息|\n\n");printf("\t| 3.删除学生信息 4.修改学生信息|\n\n");printf("\t| 5.显示所有学生信息 6.查询空余床位|\n\n");printf("\t| 7.退出|\n\n");printf("\t|注:本系统文件保存在C:\学生管理系统\学生信息.txt |\n");printf("\t-----------------------------------------------------\n");printf("\t 请按1-7进行选择\n\n");printf("请输入数值,按回车键结束:");scanf("%d",&m);while(m<1||m>7){printf("输入错误!!!请重新键入:");scanf("%d",&m);}switch(m)....");exit(0);break;}}}void tianjia() xt","a");if(head==NULL)head=p;else{pr=head;while((*pr).next!=NULL)pr=(*pr).next;(*pr).next=p;}pr=p;printf("\t 添加新学生信息\n");printf("\t==============================\n");printf("请输入学生信息:\n");printf(" 姓名:");scanf("%s",&(*pr).name); ame);printf(" 电话(11位):");scanf("%s",&(*pr).tel); el);printf(" 宿舍号(例如:101):");scanf("%s",&(*pr).homenum); omenum);printf(" 学号(11位):");scanf("%s",&(*pr).num); um);printf(" 班级(4位班级序号):");scanf("%s",&(*pr).classnum); lassnum);(*pr).next=NULL;fclose(fp);printf("按任意键返回主菜单");getch();;}void sushehao() xt","r"))==NULL){printf("无任何学生信息!\n请按任意键返回主菜单....\n");getch();exit(0);}printf("输入要查询学生的宿舍号:");scanf("%s",home);p=head;pr=p;fscanf(fp,"%4s%11s%3s%11s%4s",(*pr).name,(*pr).tel,(*pr).homenum,(*pr).num,(*pr).class num);while(pr!=NULL){if(strcmp(home,(*pr).homenum)==0){printf("姓名");printf("%s\n",(*pr).name);printf("电话");printf("%s\n",(*pr).tel);printf("宿舍号");printf("%s\n",(*pr).homenum);printf("学号");printf("%s\n",(*pr).num);printf("班级");printf("%s\n",(*pr).classnum);a++;}pr=(*pr).next;fscanf(fp,"%4s%11s%3s%11s%4s",(*pr).name,(*pr).tel,(*pr).homenum,(*pr).num,(*pr).class num);}if(a==0){printf("无该宿舍学生信息");printf("按任意键返回查询菜单");getch();}else{fclose(fp);printf("按任意键返回查询菜单\n");getch();}}void xuehao() xt","r"))==NULL){printf("无任何学生信息!\n请按任意键返回查询菜单....\n");getch();chaxun();printf("输入要查询学生的学号:");scanf("%s",numa);p=head;pr=p;fscanf(fp,"%4s%11s%3s%11s%4s",(*pr).name,(*pr).tel,(*pr).homenum,(*pr).num,(*pr).class num);while(pr!=NULL){if(strcmp(numa,(*pr).num)==0){printf("姓名");printf("%s\n",(*pr).name);printf("电话");printf("%s\n",(*pr).tel);printf("宿舍号");printf("%s\n",(*pr).homenum);printf("学号");printf("%s\n",(*pr).num);printf("班级");printf("%s\n",(*pr).classnum);a++;}pr=(*pr).next;fscanf(fp,"%4s%11s%3s%11s%4s",(*pr).name,(*pr).tel,(*pr).homenum,(*pr).num,(*pr).class}if(a==0){printf("无该学生信息");printf("按任意键返回查询菜单");getch();}else{fclose(fp);printf("按任意键返回查询菜单\n");getch();}}void xingming() xt","r"))==NULL){printf("无任何学生信息!\n请按任意键返回查询菜单....\n");getch();chaxun();}printf("输入要查询学生的姓名:");scanf("%s",numa);p=head;pr=p;fscanf(fp,"%4s%11s%3s%11s%4s",(*pr).name,(*pr).tel,(*pr).homenum,(*pr).num,(*pr).class num);while(pr!=NULL){if(strcmp(numa,(*pr).name)==0){printf("姓名");printf("%s\n",(*pr).name);printf("电话");printf("%s\n",(*pr).tel);printf("宿舍号");printf("%s\n",(*pr).homenum);printf("学号");printf("%s\n",(*pr).num);printf("班级");printf("%s\n",(*pr).classnum);a++;}pr=(*pr).next;fscanf(fp,"%4s%11s%3s%11s%4s",(*pr).name,(*pr).tel,(*pr).homenum,(*pr).num,(*pr).class num);}if(a==0){printf("无该学生信息");printf("按任意键返回查询菜单");getch();}else{fclose(fp);printf("按任意键返回查询菜单\n");getch();}}void banji() xt","r"))==NULL){printf("无任何学生信息!\n请按任意键返回查询菜单....\n");getch();chaxun();}printf("输入要查询学生的班级:");scanf("%s",numa);p=head;pr=p;fscanf(fp,"%4s%11s%3s%11s%4s",(*pr).name,(*pr).tel,(*pr).homenum,(*pr).num,(*pr).class num);while(pr!=NULL){if(strcmp(numa,(*pr).classnum)==0){printf("姓名:");printf("%s\n",(*pr).name);printf("电话:");printf("%s\n",(*pr).tel);printf("宿舍号:");printf("%s\n",(*pr).homenum);printf("学号:");printf("%s\n",(*pr).num);printf("班级:");printf("%s\n",(*pr).classnum);a++;}pr=(*pr).next;fscanf(fp,"%4s%11s%3s%11s%4s",(*pr).name,(*pr).tel,(*pr).homenum,(*pr).num,(*pr).class num);}if(a==0){printf("无该班级学生信息");printf("按任意键返回查询菜单");getch();}else{fclose(fp);printf("按任意键返回查询菜单\n");getch();}}void kongyu() xt","r"))==NULL){printf("无法打开文件\n");exit(1);}printf("\t 查询剩余空余床位\n");printf("\t============================\n");printf("注:以每宿舍六人为基准,本宿舍共120个宿舍,每层20个,按(楼层数+宿舍编号)标号\n\n");p=head;pr=p;printf("输入要查询的宿舍号:");scanf("%s",numa);p=head;pr=p;fscanf(fp,"%4s%11s%3s%11s%4s",(*pr).name,(*pr).tel,(*pr).homenum,(*pr).num,(*pr).class num);while(pr!=NULL){if(strcmp(numa,(*pr).homenum)==0){i++;}pr=(*pr).next;fscanf(fp,"%4s%11s%3s%11s%4s",(*pr).name,(*pr).tel,(*pr).homenum,(*pr).num,(*pr).class num);}if(i==6){printf("该宿舍已满员");printf("按任意键返回查询菜单");getch();}elseprintf("该宿舍还有%d个空余床位\n",6-i);{fclose(fp);printf("按任意键返回查询菜单\n");getch();}}void shanchu() xt","r"))==NULL){printf("无法打开该文件\n");exit(1);}printf("\t 删除学生信息\n");printf("\t…………………………………………\n\n");printf("请输入要删除的学生姓名:");scanf("%s",name);if(head==NULL){printf("无任何学生信息\n");exit(1);}p=head;fscanf(fp,"%4s%11s%3s%11s%4s",(*p).name,(*p).tel,(*p).homenum,(*p).num,(*p).classnum );while(strcmp(name,(*p).name)!=0&&(*p).next!=NULL){pr=p;p=(*p).next;fscanf(fp,"%4s%11s%3s%11s%4s",(*p).name,(*p).tel,(*p).homenum,(*p).num,(*p).classnum );}printf("姓名");printf("%s\n",(*p).name);printf("电话");printf("%s\n",(*p).tel);printf("宿舍号");printf("%s\n",(*p).homenum);printf("学号");printf("%s\n",(*p).num);printf("班级");printf("%s\n",(*p).classnum);if(strcmp(name,(*p).name)==0){if(p==head)head=(*p).next;else(*pr).next=(*p).next;free(p);printf("\n已删除此学生的信息");if((fp=fopen("学生信息.txt","w"))==NULL){printf("无法打开该文件\n");exit(1);}p=head;while((*p).next!=NULL){fprintf(fp,"%4s%11s%3s%11s%4s\n",(*p).name,(*p).tel,(*p).homenum,(*p).num,(*p).classn um);p=(*p).next;}fprintf(fp,"%4s%11s%3s%11s%4s\n",(*p).name,(*p).tel,(*p).homenum,(*p).num,(*p).classn um);}elseprintf("无该学生信息");fclose(fp);printf("按任意键返回主菜单");getch();;}void xiugai() xt","r"))==NULL){printf("无法打开该文件\n");exit(1);}scanf("%s",numa);p=head;pr=p;fscanf(fp,"%4s%11s%3s%11s%4s",(*pr).name,(*pr).tel,(*pr).homenum,(*pr).num,(*pr).class num);while(pr!=NULL){if(strcmp(numa,(*pr).name)==0){printf("姓名");printf("%s\n",(*pr).name);printf("电话");printf("%s\n",(*pr).tel);printf("宿舍号");printf("%s\n",(*pr).homenum);printf("学号");printf("%s\n",(*pr).num);printf("班级");printf("%s\n",(*pr).classnum);a++;}pr=(*pr).next;fscanf(fp,"%4s%11s%3s%11s%4s",(*pr).name,(*pr).tel,(*pr).homenum,(*pr).num,(*pr).class num);}pr=p;if((fp=fopen("学生信息.txt","w"))==NULL){printf("无法打开该文件");exit(1);}printf("请重新输入此人的相关信息\n");printf("请输入学生信息:\n");printf(" 姓名:");scanf("%s",&(*pr).name); ame);printf(" 电话(11位):");scanf("%s",&(*pr).tel); el);printf(" 宿舍号(例如:101):");scanf("%s",&(*pr).homenum); omenum);printf(" 学号(11位):");scanf("%s",&(*pr).num); um);printf(" 班级(4位班级序号):");scanf("%s",&(*pr).classnum); lassnum);p=pr;p=head;while((*p).next!=NULL){fprintf(fp,"%4s%11s%3s%11s%4s\n",(*p).name,(*p).tel,(*p).homenum,(*p).num,(*p).classn um);p=(*p).next;}fprintf(fp,"%4s%11s%3s%11s%4s\n",(*p).name,(*p).tel,(*p).homenum,(*p).num,(*p).classn um);fclose(fp);printf("按任意键返回主菜单");getch();;}void suoyou() xt","r"))==NULL){printf("无法打开该文件\n");printf("按任意键返回主菜单");getch();}printf("\t 所有学生信息\n");printf("\t============================\n\n");if(head==NULL){printf("无任何学生信息\n");printf("按任意键返回主菜单");getch();main();}p=head;do{fscanf(fp,"%4s%11s%3s%11s%4s",(*p).name,(*p).tel,(*p).homenum,(*p).num,(*p).classnum);printf("姓名");printf("%s\n",(*p).name);printf("电话");printf("%s\n",(*p).tel);printf("宿舍号");printf("%s\n",(*p).homenum);printf("学号");printf("%s\n",(*p).num);printf("班级");printf("%s\n\n",(*p).classnum);p=(*p).next;}while(p!=NULL);fclose(fp);printf("按任意键返回主菜单");getch();}int chaxun(){while(1){system("CLS");int m;printf("\t 信息查询系统\n");printf("\t------------------------------------------------\n");printf("\t| 1.按姓名查询 2.按宿舍号查询|\n\n");printf("\t| 3.按学号查询 4.按班级查询|\n\n");printf("\t| 5.返回主菜单|\n");printf("\t------------------------------------------------\n");printf("\t 按1-5进行选择\n\n");printf("请输入数值,按回车键结束:");scanf("%d",&m);while(m<1||m>5){printf("输入错误!!!请重新键入:");scanf("%d",&m);}switch(m){case 1:xingming();break;case 2:sushehao();break;case 3:xuehao();break;case 4:banji();break;case 5:main();break;}}return 0;}struct information *read(struct information *head){system("cls");FILE *fp;struct information *p,*pr;if((fp=fopen("学生信息.txt","r"))==NULL){return head;}while(!feof(fp)){p=(struct information *)malloc(sizeof(struct information));if(p!=NULL){p->next=NULL;}fscanf(fp,"%4s%11s%3s%11s%4s",p->name,p->tel,p->homenum,p->num,p->classnum);if(head==NULL){head=p;pr=head;}else{pr->next=p;p=p->next;}}fclose(fp);return head; }。

相关文档
最新文档