论文部分内容阅读
摘 要:在Visual Studio上开发一个学生宿舍管理系统的软件,由C语言实现整个系统。是将C语言运用实际的一个完整的经典案例,通过详细讲解该系统的实现方法手段,巩固掌握并运用C语言各种基本知识,充分体现了学以致用的理念。
关键词:学生宿舍管理 数据库;Visual studio;C语言
中图分类号:TP311.52
学生宿舍管理是学校后勤的一个重要任务,也与学生的日常生活学习有直接的关系。随着学校发展,规模增大,生源增多,从效率和形式来看,管理已经不能单纯的由人工纸笔记录形式来完成。现代计算机技术的发展及应用给人们的日常生活带来了极大的便利。本文包括对学生宿舍管理系统的查询,新生入学登记时学生宿舍信息数据库的追加,学生毕业等原因对数据库信息的删除,以及常用的修改,统计,排序等基本操作的具体C语言实现,都是通过Visualstudio2010一步步实践验证而来,保证了文章中涉及的流程图等的正确性,对于已有C语言基础的读者,可通过实践很容易的进行验证,并能够得到实际的收获。
1 系统总体设计思路
1.1 总体功能设计及实现。学生宿舍管理系统存放了每个学生的各类信息的数据库,所有信息以个人为单位定义在一个结构体变量中。
系统将具备显示、追加、修改、删除、查询、统计、排序等功能,每种功能封装为一个函数,使用时方便调用。系统以菜单方式工作:通过提示用户输入一个数字选项,通过主函数中的switch语句来调用相应的功能函数。系统总体模块框图如图1所示:
图1 系统总体模块框图
1.2 各模块功能设计及实现。在查询、删除、修改、统计功能模块函数中,都会事先查找是否有该人,然后再进行显示、删除、修改、统计等操作,当找不到所要操作的记录时,出现提示信息“查无此人!”。可根据流程图2来实现,区别仅在于“其他操作…”,在各模块中分别描述。
图2 查询、删除、修改、统计功能模块函数流程示意图
1.2.1 显示模块。通过设计一个模块,完成全部宿舍信息的显示,显示时按表格的形式,且有表头,以便于浏览学生的信息。
程序通过一个printf函数把输出信息的表头打印出来,再通过一个for循环把每一个学生的信息输出,在输出的时候,通过调用Print函数(一个专门用来输出的函数,且是用指向结构体数组的指针输出学生信息)输出所有学生信息。
1.2.2 追加模块。通过设计一个模块,完成一个(或多个)学生入住宿舍的登记(追加记录),在追加过程中有相应的提示信息,完成追加后能重新显示,从而实现新学生信息的加入。
结构体中间的成员之间用空格来隔开输入,通过回车键来实现追加。且追加一个学生信息后可选择继续追加或退出。
1.2.3 查询模块。通过设计一个模块,按指定关键字进行索引查询,查询的结果以表格的形式显示,若查询不到应给出相应的提示信息。
1.2.4 删除模块。通过设计一个模块,可按指定的学号和指定的姓名两种定位方式删除学生在宿舍的记录。当输入一个学生的学号或者姓名的时候,可以通过这个模块,将输入学号或者姓名的学生的所有信息从数据库中删除出去。以后,这个学生的信息将不再会出现再数据库中。
如果含有此人的信息,则通过一个for循环,把这个以后的信息依次前推来覆盖这个人的信息,而实现此人信息的删除。
1.2.5 修改模块。通过设计一个模块,当某个人的信息发生变化的时候,能按学号或按姓名两种定位方式,且可以按用户要求修改记录中除学号和姓名以外的指定内容,并重新显示。修改模块时具有多级子菜单的摸块。使用十分的方便、灵活。
如果含有此人的信息,则把此人的序号赋值给变量k。如果flag的值为1进入下一级菜单,通过switch语句来选择是修改这个人的宿舍栋号、房间号、性别、班级、电话号码、校区还是宿舍类别。修改完成后通过调用Print函数输出修改后的新的所有学生信息。
1.2.6 统计模块。通过设计一个模块,按指定关键字统计指定范围的学生人数,并能将统计的结果以及统计的人员的信息用表格显示出来,使读者一目了然。
程序通过输入一个变量t来选择是按校区、宿舍栋号统计该栋入住学生人数还是按班级统计入住某栋的人数,或者退出统计模块。当每找到一个目标信息的时,用变量num累加人数并把此人信息赋给另一个结构体成员。最后输出统计的人数并通过for语句输出这些学生的信息。
1.2.7 排序模块。通过设计一个模块,来实现数据库的信息按指定关键字进行顺序排列。并显示所有信息,使读者一目了然。
常见的排序算法有冒泡排序、选择排序、插入排序、快速排序等,不同的算法时间和空间复杂度不一样,这里就不再详细叙述。本文用到的排序算法是冒泡排序法。
2 结束语
该学生宿舍管理系统由C语言实现,人机界面友好。该软件开发周期较短,成本较低,易于维护。文章中所讲解的基本方法是所有数据库管理系统中都会用到的涉及的,具有极强的基础性。
参考文献:
[1]杨颂华,熊海灵,杨明.C语言程序设计:工程化方法[M].北京:机械工业出版社,2012.
[2]张晓民.VC++ 2010应用开发技术/普通高等院校规划教材[M].北京:机械工业出版社,2013.
作者简介:游虹(1993.01-),女,四川邻水人,2011级本科在读,研究方向:自动化;吴近近(1992.01-),女,安徽淮北人,2011级本科在读,研究方向:自动化;郭春蕾(1992.04-),女,2011级本科在读,研究方向:自动化。
作者单位:西南大学计算机与信息科学学院,重庆 400715
关键词:学生宿舍管理 数据库;Visual studio;C语言
中图分类号:TP311.52
学生宿舍管理是学校后勤的一个重要任务,也与学生的日常生活学习有直接的关系。随着学校发展,规模增大,生源增多,从效率和形式来看,管理已经不能单纯的由人工纸笔记录形式来完成。现代计算机技术的发展及应用给人们的日常生活带来了极大的便利。本文包括对学生宿舍管理系统的查询,新生入学登记时学生宿舍信息数据库的追加,学生毕业等原因对数据库信息的删除,以及常用的修改,统计,排序等基本操作的具体C语言实现,都是通过Visualstudio2010一步步实践验证而来,保证了文章中涉及的流程图等的正确性,对于已有C语言基础的读者,可通过实践很容易的进行验证,并能够得到实际的收获。
1 系统总体设计思路
1.1 总体功能设计及实现。学生宿舍管理系统存放了每个学生的各类信息的数据库,所有信息以个人为单位定义在一个结构体变量中。
系统将具备显示、追加、修改、删除、查询、统计、排序等功能,每种功能封装为一个函数,使用时方便调用。系统以菜单方式工作:通过提示用户输入一个数字选项,通过主函数中的switch语句来调用相应的功能函数。系统总体模块框图如图1所示:
图1 系统总体模块框图
1.2 各模块功能设计及实现。在查询、删除、修改、统计功能模块函数中,都会事先查找是否有该人,然后再进行显示、删除、修改、统计等操作,当找不到所要操作的记录时,出现提示信息“查无此人!”。可根据流程图2来实现,区别仅在于“其他操作…”,在各模块中分别描述。
图2 查询、删除、修改、统计功能模块函数流程示意图
1.2.1 显示模块。通过设计一个模块,完成全部宿舍信息的显示,显示时按表格的形式,且有表头,以便于浏览学生的信息。
程序通过一个printf函数把输出信息的表头打印出来,再通过一个for循环把每一个学生的信息输出,在输出的时候,通过调用Print函数(一个专门用来输出的函数,且是用指向结构体数组的指针输出学生信息)输出所有学生信息。
1.2.2 追加模块。通过设计一个模块,完成一个(或多个)学生入住宿舍的登记(追加记录),在追加过程中有相应的提示信息,完成追加后能重新显示,从而实现新学生信息的加入。
结构体中间的成员之间用空格来隔开输入,通过回车键来实现追加。且追加一个学生信息后可选择继续追加或退出。
1.2.3 查询模块。通过设计一个模块,按指定关键字进行索引查询,查询的结果以表格的形式显示,若查询不到应给出相应的提示信息。
1.2.4 删除模块。通过设计一个模块,可按指定的学号和指定的姓名两种定位方式删除学生在宿舍的记录。当输入一个学生的学号或者姓名的时候,可以通过这个模块,将输入学号或者姓名的学生的所有信息从数据库中删除出去。以后,这个学生的信息将不再会出现再数据库中。
如果含有此人的信息,则通过一个for循环,把这个以后的信息依次前推来覆盖这个人的信息,而实现此人信息的删除。
1.2.5 修改模块。通过设计一个模块,当某个人的信息发生变化的时候,能按学号或按姓名两种定位方式,且可以按用户要求修改记录中除学号和姓名以外的指定内容,并重新显示。修改模块时具有多级子菜单的摸块。使用十分的方便、灵活。
如果含有此人的信息,则把此人的序号赋值给变量k。如果flag的值为1进入下一级菜单,通过switch语句来选择是修改这个人的宿舍栋号、房间号、性别、班级、电话号码、校区还是宿舍类别。修改完成后通过调用Print函数输出修改后的新的所有学生信息。
1.2.6 统计模块。通过设计一个模块,按指定关键字统计指定范围的学生人数,并能将统计的结果以及统计的人员的信息用表格显示出来,使读者一目了然。
程序通过输入一个变量t来选择是按校区、宿舍栋号统计该栋入住学生人数还是按班级统计入住某栋的人数,或者退出统计模块。当每找到一个目标信息的时,用变量num累加人数并把此人信息赋给另一个结构体成员。最后输出统计的人数并通过for语句输出这些学生的信息。
1.2.7 排序模块。通过设计一个模块,来实现数据库的信息按指定关键字进行顺序排列。并显示所有信息,使读者一目了然。
常见的排序算法有冒泡排序、选择排序、插入排序、快速排序等,不同的算法时间和空间复杂度不一样,这里就不再详细叙述。本文用到的排序算法是冒泡排序法。
2 结束语
该学生宿舍管理系统由C语言实现,人机界面友好。该软件开发周期较短,成本较低,易于维护。文章中所讲解的基本方法是所有数据库管理系统中都会用到的涉及的,具有极强的基础性。
参考文献:
[1]杨颂华,熊海灵,杨明.C语言程序设计:工程化方法[M].北京:机械工业出版社,2012.
[2]张晓民.VC++ 2010应用开发技术/普通高等院校规划教材[M].北京:机械工业出版社,2013.
作者简介:游虹(1993.01-),女,四川邻水人,2011级本科在读,研究方向:自动化;吴近近(1992.01-),女,安徽淮北人,2011级本科在读,研究方向:自动化;郭春蕾(1992.04-),女,2011级本科在读,研究方向:自动化。
作者单位:西南大学计算机与信息科学学院,重庆 400715