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

合集下载

学生宿舍管理系统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:");}}.。

学生住宿管理系统设计

学生住宿管理系统设计

学生住宿管理系统设计1.系统概述1.1开发背景与现状随着高校规模的扩大,在校学生的基本情况随之层次化、多样化、复杂化,学生管理工作面临严峻的挑战。

高校学生信息日渐庞大,相应的宿舍管理工作变得复杂而困难。

使用传统的手工方式是基于文本、表格等纸介质的手工处理,用人工手抄对男女生信宿信息进行处理登记。

数据信息处理工作量大,容易出错且不易修改;由于数据繁多,容易丢失,逐条查找记录的方式不易操作,浪费了大量的时间,效率极低。

采用计算机来管理宿舍和学生的信息,大大提高了查询的速度,节约了人力和物力资源,达到了预期的要求。

而且采用计算机开发这一技术已经在生活中广泛应用不存在风险。

1.2开发的意义为了实现提高高校宿舍管理部门的工作效率;充分利用资源;减少不必要的人力,物力和财力的支出;方便宿舍管理部门的工作人员全面地掌握学生住宿情况等目的;使学生宿舍信息实现标准化的管理和规范化的制度是十分必要的。

1.3开发工具与结构经过分析本文采用MySQL为后台数据库,以JavaBean、servlet、jsp、为开发工具,采用B/S结构(Browser/Server,浏览器/服务器模式)系统实现了系统维护、宿舍管理、学生管理、宿舍分配、信息查询等必需功能,其操作简单,界面友好、整洁,运行稳定。

2.系统的用例模型建模本系统的主要使用人员为宿舍管理员,其用例模型如下:2.1用例的描述1.登入用例用例名登入用例目标登入到学生宿舍管理系统主参与者宿舍管理员触发条件用户企图进入系统的各个模块时前置条件系统必须能正常启动典型实践过程参与者系统响应1.当用户启动这个应用系统时。

3.用户输入账号名和密码2系统显示登入界面4.系统验证登入信息5.系统显示主菜单6.用例结束替实践过程如果用户使用错误的账户名或者密码时,给出错误提示信息,并且跳转到7后置条件用户正常登陆到界面上2.查询用例3.登记用例2.2整体宿舍管理系统的组织结构图3.系统设计说明书3.1代码设计Servlet+JSP+JavaBean开发模式(MVC)介绍开发采用Servlet+JSP+JavaBean模式(MVC),MAC适合于开发WEB应用程序。

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.实验设备:计算机、编程调试工具等。

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

C语言课程设计——学生宿舍管理系统(ubuntu下)

C语言课程设计——学生宿舍管理系统(ubuntu下)

****大学学号:学生姓名:指导教师:时间:一、课程设计目的1. 设计一个ubuntu下的学生宿舍管理系统2. 掌握用C语言定义单链表结构,并实现其创建、插入、删除等基本操作。

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

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

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

四、概要设计1.系统结构图(功能模块图)(5) 查询模块:先将文件信息读出,再调用search(),在search()中有调用两个数,一个按照宿舍信息查询sushe_search(),需要楼号和宿舍号,一个按照生信息查询xuehao_search()需要学生学号或者姓名。

(6) 排序模块:先将文件信息读出,再调用sort (),按照学生学号排序,拍完续没有直接写入文件,如果要直接写入调用文件读入函数Write_to_File().(7) 统计模块:先将文件信息读出,再调用tongji()函数,统计了女生人数和男生人数,还统计了总人数.五.详细过程和运行结果:输入插入的学查找模块Count1++ Count2++六.参考文献:《C语言程序设计》: 王曙燕typedef struct Student{int num; /*学号*/ char name[15]; /*姓名*/ char sex; /*性别*/char zhuanye[20]; /*专业*/int lounum; /*楼号*/int sushenum; /*宿舍号*/int chuangnum; /*床号*/ struct Student *next;}Stu;getchar();getchar();exit(0);}p=L->next;while(p){fprintf(fp,"%d %s %c %s %d %d %d\n",p->num,p->name,p->sex, p->zhuanye,p->lounum,p->sushenum,p->chuangnum);p=p->next;}getchar();exit(0);}(*h)->next=NULL;}void append( ) /*录入学生信息*/{Stu *head;Stu *p,*q;char ch;InitStu(&head);scanf("%s",p->name);printf("\n性别:");scanf(" %c",&p->sex);printf("\n专业:");scanf("%s",p->zhuanye);printf("\n楼号:");scanf("%d",&p->lounum); printf("\n宿舍号:");ch=getchar();if(ch=='0')break;}Write_to_File(head);}void Read_from_File(Stu *h) /*读出文件信息*/{FILE *fp;Stu *p,*q;int i;i=fscanf(fp,"%d %s %c %s %d %d %d\n",&p->num,p->name,&p->sex, p->zhuanye,&p->lounum,&p->sushenum,&p->chuangnum);if(i == EOF)break;q->next=p;q=p;q->next = NULL;fclose(fp);}int display() /*显示文件信息*/printf("\n按任意键键返回\n");getchar();getchar();return 0;}printf("学号姓名性别专业楼号宿舍号床号while(p){printf("%-8d%-10s%-6c%-14s%-8d%-8d%-5d\n",p->num,p->name,p->sex,p->zhuanye,{Stu *head;Stu *p,*q;char ch,h;int N;int lounum,sushenum,chuangnum;InitStu(&head);Read_from_File(head);q=head;p=head->next;do{while(p){if(p->num==N){q->next=p->next;printf("删除成功!");break;}q=p;p=p->next;}if(p==NULL)scanf("%d %d %d",&lounum,&sushenum,&chuangnum);while(p!=NULL){if(p->lounum==lounum && p->sushenum==sushenum && p->chuangnum){q->next=p->next;printf("删除成功!");break;}q=p;p=p->next;}printf("\n\n是否继续:Y/N?");scanf(" %c", &h);}while(h=='Y' ||h=='y');Write_to_File(head);}void insert() /*用头插法插入学生信息*/{Stu *p , *head;printf("\t 学号:");scanf("%d",&p->num);printf("\n\t 姓名:");scanf("%s",p->name);printf("\n\t性别:");scanf(" %c",&p->sex);printf("\n\t 宿舍号:"); scanf("%d",&p->sushenum);printf("\n\t 床号:"); scanf("%d",&p->chuangnum);p->next = head->next;head->next = p;printf("\n\n是否继续插入?Y/N");scanf(" %c",&ch);InitStu(&head);Read_from_File(head);system("clear");printf("\n\n请输入修改的学生学号: ");scanf("%d",&N);p=head->next;do{while(p!=NULL){if(p->num==N)printf("\n专业:"); scanf("%s",p->zhuanye);printf("\n楼号:"); scanf("%d",&p->lounum);printf("\n宿舍号:");scanf("%d",&p->sushenum);printf("\n床号:");scanf("%d",&p->chuangnum);scanf(" %c",&ch);}while(ch=='y'||ch=='Y');Write_to_File(head);}void xuehao_search(Stu * head) /*按照学生学号查找*/{int num;Stu *p;char ch;p=head->next ;do床号\n\n");printf("%-8d%-8s%-4c%-8s%-8d%-8d%-5d\n",p->num,p->name,p->sex,p->zhuanye,p->lounum,p->sushenum,p->chuangnum);break;}p=p->next;}if(p==NULL)printf("\n未找到此学生");printf("\n\n 继续查找 ?Y/N");do{system("clear");printf("\n请输入要查找的学生宿舍信息(楼号宿舍床号) : ");printf("\n 楼号 :");scanf("%d",&lounum);printf("\n 宿舍号 :");scanf("%d",&sushenum);printf("\n 床号 :");scanf("%d",&chuangnum);while(p!=NULL)}p=p->next;}if(p==NULL)printf("\n未找到此学生"); printf("\n\n 是否继续 ?Y/N");scanf("%s",&ch);}while(ch=='y' || ch=='Y');}void Search( ) /*查找学生信息*/{int choose;{case 1:sushe_search(head);break;case 2:xuehao_search(head);break;case 3:break;}}k=i;for(n=i,j=i->next;j;n=j,j=j->next){if(j->num< k->num){k=j;break;}}if(i!=k){i=head->next;printf("学号姓名性别专业楼号宿舍号床号\n\n");while(i){printf("%-8d%-8s%-4c%-8s%-8d%-8d%-5d\n",i->num,i->name,i->sex,i->zhuanye,i->lounum,i->sushenum,i->chuangnum);i=i->next;}printf("\n按任意键返回!");getchar();getchar();InitStu(&head);Read_from_File(head);system("clear");p=head->next;Count1=0;Count2=0;while(p!=NULL){if(p->sex=='w' || p->sex=='W'){Count1++;printf("\t男生总数 : %d\n ",Count2); printf("\t学生总数 : %d\n ",Count1+Count2);printf("\t按任意键返回!");getchar();getchar();}void main(){printf(" 4.修改学生信息\n\n");printf(" 5.显示学生信息\n\n"); printf(" 6.查找学生信息\n\n");printf(" 7.排序学生信息\n\n");printf(" 8.统计学生信息\n\n");printf(" 0.退出系统\n");printf("==========================================\n");printf(" 请选择0-8:\n");printf("\n 请选择要进行的操作 : ");scanf("%d",&choice);insert();break;case 4:modify();break;case 5:display();break;case 6:Search();printf("\n\t\t确定退出? (Y/N)");scanf(" %c", &ch);if(ch=='Y'||ch=='y')exit(0);if(ch=='N' || ch=='n'){system("clear");}}}}。

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

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

软件设计报告题目:学生宿舍管理系统院部名称:电子工程学院专业名称:电子信息工程班级:班内序号:学生姓名:指导教师:时间: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)能按住宿学生的学号、姓名、性别、所住宿舍门牌号、床位号添加信息。

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

#include<stdio.h>#include<string.h>#include<stdlib.h>#include<malloc.h>#include<windows.h>#include<conio.h>struct information{char name[100]; //姓名char tel[100]; //电话char homenum[100]; //宿舍号char num[100]; //学号char classnum[100]; //班级struct information *next;}student;struct information *head,*p,*pr;void tianjia(); //添加新学生int chaxun(); //查询学生void shanchu(); //删除学生struct information *read(struct information *head);void xiugai(); //修改学生void suoyou(); //显示所有学生信息void kongyu(); //显示所有宿舍号和宿舍中空余床数void xingming(); //按姓名查找void xuehao(); //按学号查找void sushehao(); //按宿舍号查找void banji(); //按班级查找int main(){while(1){system("cls");FILE *fp;int m;printf("\t 学生宿舍管理系统\n");printf("\t-----------------------------------------------------\n");printf("\t| 1.添加新学生 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)//选择语句知识点{case 1:tianjia();break;case 2:chaxun();break;case 3:shanchu();break;case 4:xiugai();break;case 5:suoyou();break;case 6:kongyu();break;case 7:printf("退出系统......");exit(0);break;}}}void tianjia() //添加联系人{system("CLS");FILE *fp;p=(information *)malloc(sizeof(information));fp=fopen("学生信息.txt","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); //姓名fprintf(fp,"%4s",(*pr).name);printf(" 电话(11位):");scanf("%s",&(*pr).tel); //电话fprintf(fp,"%11s",(*pr).tel);printf(" 宿舍号(例如:101):");scanf("%s",&(*pr).homenum); //宿舍号fprintf(fp,"%3s",(*pr).homenum);printf(" 学号(11位):");scanf("%s",&(*pr).num); //学号fprintf(fp,"%11s",(*pr).num);printf(" 班级(4位班级序号):");scanf("%s",&(*pr).classnum); //班级fprintf(fp,"%4s\n",(*pr).classnum);(*pr).next=NULL;fclose(fp);printf("按任意键返回主菜单");getch();;}void sushehao() //按宿舍号查询{system("cls");head=read(head);int i,a=0;FILE *fp;char home[10];if((fp=fopen("学生信息.txt","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).classnum);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).classnum);}if(a==0){printf("无该宿舍学生信息");printf("按任意键返回查询菜单");getch();}else{fclose(fp);printf("按任意键返回查询菜单\n");getch();}}void xuehao() //按学号查询{system("cls");head=read(head);int i,a=0;FILE *fp;char numa[20];if((fp=fopen("学生信息.txt","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).classnum);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).classnum);}if(a==0){printf("无该学生信息");printf("按任意键返回查询菜单");getch();}else{fclose(fp);printf("按任意键返回查询菜单\n");getch();}}void xingming() //按姓名查询{system("cls");head=read(head);int i,a=0;FILE *fp;char numa[20];if((fp=fopen("学生信息.txt","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).classnum);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).classnum);}if(a==0){printf("无该学生信息");printf("按任意键返回查询菜单");getch();}else{fclose(fp);printf("按任意键返回查询菜单\n");getch();}}void banji() //按班级查询{system("cls");head=read(head);int i,a=0;FILE *fp;char numa[20];if((fp=fopen("学生信息.txt","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).classnum);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).classnum);}if(a==0){printf("无该班级学生信息");printf("按任意键返回查询菜单");getch();}else{fclose(fp);printf("按任意键返回查询菜单\n");getch();}}void kongyu() //显示空余床位数{system("cls");head=read(head);FILE *fp;char numa[20];int i=0,y,x,z,q;if((fp=fopen("学生信息.txt","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).classnum);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).classnum);}if(i==6){printf("该宿舍已满员");printf("按任意键返回查询菜单");getch();}elseprintf("该宿舍还有%d个空余床位\n",6-i);{fclose(fp);printf("按任意键返回查询菜单\n");getch();}}void shanchu() //删除学生信息//出现错误,删除会全部删除{system("cls");head=read(head);char name[10];FILE *fp;//p=(information *)malloc(sizeof(information));if((fp=fopen("学生信息.txt","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).classnum);p=(*p).next;}fprintf(fp,"%4s%11s%3s%11s%4s\n",(*p).name,(*p).tel,(*p).homenum,(*p).num,(*p).classnum);}elseprintf("无该学生信息");fclose(fp);printf("按任意键返回主菜单");getch();;}void xiugai() //修改学生信息{system("cls");head=read(head);int i,a=0;FILE *fp;char numa[20];printf("\t 修改学生信息\n");printf("\t…………………………………………\n\n");printf("请输入要修改的学生姓名:");if((fp=fopen("学生信息.txt","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).classnum);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).classnum);}pr=p;if((fp=fopen("学生信息.txt","w"))==NULL){printf("无法打开该文件");exit(1);}printf("请重新输入此人的相关信息\n");printf("请输入学生信息:\n");printf(" 姓名:");scanf("%s",&(*pr).name); //姓名fprintf(fp,"%4s",(*pr).name);printf(" 电话(11位):");scanf("%s",&(*pr).tel); //电话fprintf(fp,"%11s",(*pr).tel);printf(" 宿舍号(例如:101):");scanf("%s",&(*pr).homenum); //宿舍号fprintf(fp,"%3s",(*pr).homenum);printf(" 学号(11位):");scanf("%s",&(*pr).num); //学号fprintf(fp,"%11s",(*pr).num);printf(" 班级(4位班级序号):");scanf("%s",&(*pr).classnum); //班级fprintf(fp,"%4s\n",(*pr).classnum);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).classnum);p=(*p).next;}fprintf(fp,"%4s%11s%3s%11s%4s\n",(*p).name,(*p).tel,(*p).homenum,(*p).num,(*p).classnum);fclose(fp);printf("按任意键返回主菜单");getch();;}void suoyou() //显示所有学生信息{system("cls");head=read(head);FILE *fp;if((fp=fopen("学生信息.txt","r"))==NULL){printf("无法打开该文件\n");printf("按任意键返回主菜单");getch();}printf("\t 所有学生信息\n");。

相关文档
最新文档