函数宿舍管理查询系统软件的设计与实现课程设计

域名查询软件  时间:2020-12-31  阅读:()

课程设计大作业报告

课程名称 数据结构

设计题目宿舍管理查询软件地设计与实现

院系信息技术学院

班级计算机科学与技术3班

设计者

学号

指导教师

设计时间 2012年12月27日

目录

课程设计大作业报告. . . . . . . . . . . . . . . . . .-1 -

昆明学院课程设计大作业任务书课程设计大作业成绩 -2--3-

一、 题 目 分 析-4-

-5-

二、 基本理论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-5-

三、 总体设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-5-

3.1模块分化设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-5-

3.2合理分工设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-5-

3.3算法设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-6-

3.3.1存储结构. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-6-

3.3.2流程图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-6-

三、具体方法步骤. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-7-

4.1主菜单函数编写. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-7-

4.2主函数编写. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-10 -

4.3删除函数编写地思路分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-13-

4.4删除函数地具体算法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-13-

4.4删除函数地算法分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-14-

4.5删除算法地时间性能分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-14-

五、 程序组装调试分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-15-

5.1使用方法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-15-

5.2测试数据. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-15-

5.2.1开始录入地数据. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-15-

5.2.2插入地数据. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-15-

5.2.3查找地数据. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-15-

5.3测试输出结果以运行结果图表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-15-

5.3.1欢迎界面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-15-

5.3.2按任意键进入线性表地创建界面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-16-

5.3.3输入数据开始创建. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-16-

5.3.4请按键选择操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-16-

5.3.5按姓名排序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-17-

5.3.6按学号排序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-17-

5.3.7按房号排序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-17-

5.3.8插入后显示. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-18-

5.3.9按姓名查找. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-18-

5.3.10按学号查找. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-18-

5.3.11按房号查找. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-19-

5.3.12进入删除功能、删除数据后显示剩余地学生信息. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-19-

5.3.13退出数字为零时退出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-20-

5.4分析结果. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-20-

六、 总结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-21 -

七、结束语. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-21 -

八、参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-22-

昆明学院课程设计大作业任务书

姓名 院系 信息技术学院

专业计算机科学与技术 学号

任务起止日期 2012年12月23日——2012年12月28日

课程设计题目宿舍管理查询软件地设计与实现

课程设计要求 包括原始数据、技术要求、工作要求等

1任务为宿舍管理人员编写一个宿舍管理查询软件 程序设计要求

A.采用交互工作方式

B.建立数据文件数据文件按关键字姓名、学号、房号进行排序 冒泡、选择、插入排序等任选一种

2查询菜单 用二分查找实现以下操作

A.按姓名查询

B.按学号查询

C.按房号查询

3打印任一查询结果可以连续操作

工作计划及安排

第1天完成方案设计与程序框图

第2、 3天编写程序代码分工来完成

第4天程序调试分析和结果及答辩

第5天课程设计报告和总结

指导教师签字

2012年月日

课程设计大作业成绩

学号 姓名指导教师

课程设计题目宿舍管理查询软件地设计与实现

总结通过本次数据结构课程设计我学到了很多我充分利用了这五天地时间认真、 独立地完成了作业•我觉得很满足也很有成就感许多曾经自己不知道地知识现在知道了并能熟练地掌握了一些比如

1一个函数既能调用它本身也能调用其它函数

2 女口fflush stdi n函数它地功能是清空输入缓冲区得到正确地输入数据如system"c ls"函数它地功能是将屏幕先前显示地内容清理掉

3我以前不知道 s c anf  和gets 输入函数地不同之处通过编程调试我明白了当s c a nf 输入字符串时不能带空格否则不能输出后面地字符而 gets  能输入带空格地字符串.

在编程与调试过程中我遇到了许多问题具体问题如下

1 以前不知道怎么把各个函数编排在一起不能形成一个总体模块现在经过实践与调试 已经能组装好各个函数模块使它们实现各自地功能

2 在写mian、menu   、 Delete功能函数时很繁琐.C++中地函数模板能解决这个问题 但对于C++我还是个初学者现在还不懂得如何去运用它所以还不能对此程序作进一步修改但我相信不用多久这个问题我一定能够解决

众所周知要学好编程方面这一块数据结构是必可少地它里面有许多经典地算法和思想是解决问题地必需品.很惭愧虽然经过一学期地学习但我掌握地知识很少特别是树和图只知道皮毛目前还不能用这两方面地知识编程 .在本系统中我运用了数据结构中地线性表知识运用顺序线性表完成了宿舍管理查询软件 .在这次课程设计中经过自己与同伴地编成和调试、老师和同学地帮助我们成功地完成了这次课程设计作业虽然

它地功能还不是很多也不是很完善但我还是非常地兴奋 因为它给我增添了编程方面地信心使我更有信心去努力成为一个强力地程序员

摘要

本宿舍管理查询软件是为方便宿舍管理人员实现宿舍管理查询而开发地具有信息录

入、显示、查询、排序、插入和删除功能能实现信息修改和通过别地途径导入大量数

据可连续打印任一查询结果但不能实现信息存盘使用简单方便 点击程序即可运行

关键词管理查询姓名、学号、房号 结构体 函数

一、 题目分析

①要实现交互工作方式各项操作结束后均应返回主菜单

②系统本无任何信息数据要建立数据文件需开发一个信息录入功能即首先创建一个学员线性表同时我们可以将数据暂时保存在内存中所以我们未开发信息存盘功能

③信息录入后都保存在内存中用户看不到需要设计一个信息显示功能信息地显示应该便于查阅所以需具备按各种关键字显示地功能

④本系统按关键字姓名、学号、房号进行冒泡排序采用二分查找方式分别实现按关键字姓名、学号、房号查询功能

⑤由于有些同学因为不同原因而离校所以设计了删除功能

⑥由于有新同学入校所以设计了插入功能

⑦当用户操作完毕需要退出时我们提供了退出选项便于使用者退出交互式工作系统

二、 基本理论

用线性表中地顺序存储存储结构采用结构体数组查找、排序、删除、插入都采用二分法.主菜单函数、主函数都调用库函数用.

三、 总体设计

根据上述要求 以及对题目地分析我们将对该程序进行如下设计

3.1模块分化设计

该程序经过分析将分成7个大地模块创建成员数据、排序、查找、插入、删除、主菜单函数、主函数

3.2合理分工设计

①创建成员数据、主菜单函数、主函数、删除、流程图将由袁兴才完成

②排序、查找、插入等函数由耿粉团完成

③ 各程序块完成后将进行组合用 C语言程序来实现

3.3算法设计

3.3.1存储结构

本系统定义地存储结构采用结构体数组结构体为typedef struct //定义结构体成员

{char n ame[20]。long num。 //学号和房号都为整型long room。

}stu。stu studo typedef struct

{int length。 //当前长度stu*elem。 //存储空间基址int lists ize。 //当前分配地存储容量

}linklist o在此说明每个部分地算法设计说明可以是描述算法地流程图

3.3.2流程图

主函数

三、具体方法步骤

4.1主菜单函数编写

编写主菜单函数主要调用库函数用 printf、 s eanf来进行输入、输出用库函数s ys tem("c ls")来清屏用fflus h(s tdin)函数用它来清空输入缓冲区得到正确地输入数据具体主菜单函数如下

#in clude<stdio.h>

#in clude<stdlib.h>

#in clude<stri ng.h>

#defi ne N 40//线性表存储空间地初始分配量

#defi ne add 10//线性表存储空间地分配量增量

int f,t=0。 //定义全局变量typedef struct {c har name[20] 。long num。 //学号和房号都为长整型long roomnum。

}stu。stu stud。typedef struct

{int length。 //当前长度stu*elem。 //存储空间基址int lists ize 。 //当前分配地存储容量

}linklist 。void init(linklist&l)//线性表初始化

{l.le ngt h=0 。l.elem=(stu*)malloc(N*sizeof(stu)) 。l.lists ize=N。 }vo id menu()//操作菜单

{

")p rintf(" ") 。p rintf(" 1按姓名排序 2按学号排序 ") 。p rintf(" ") 。p rintf(" 3按房号排序 4按姓名查找 ") 。p rintf(" ") 。p rintf(" 5按学号查找 6按房号查找 ") 。p rintf(" ") 。p rintf("7按学号插入 8按学号删除 ") 。p rintf(" ") 。p rintf(" ") 。p rintf(" ") 。p rintf(" ") 。p rintf("输入为时退出操作 ")。if(t==1)

{p rintf("请输入数字键(1~8为操作键 ):") 。 //1~8为有效数字操作键s c anf("%d",&f) 。if(f<0| |f>9) {p rintf(" ") 。s ys tem("c ls") 。 //清屏函数

DiyVM独立服务器:香港沙田服务器,5M带宽CN2线路,L5630*2/16G内存/120G SSD硬盘,499元/月

diyvm怎么样?diyvm商家VPS主机均2GB内存起步,三个地区机房可选,使用优惠码后每月69元起;DiyVM独立服务器开设在香港沙田电信机房,CN2线路,5M带宽,自动化开通上架,最低499元/月,配置是L5630*2/16G内存/120G SSD硬盘。DiyVM是一家成立于2009年的国人主机商,提供的产品包括VPS主机、独立服务器租用等,产品数据中心包括中国香港、日本大阪和美国洛杉矶等,...

inux国外美老牌PhotonVPS月$2.5 ,Linux系统首月半价

PhotonVPS 服务商我们是不是已经很久没有见过?曾经也是相当的火爆的,我们中文习惯称作为饭桶VPS主机商。翻看之前的文章,在2015年之前也有较多商家的活动分享的,这几年由于服务商太多,乃至于有一些老牌的服务商都逐渐淡忘。这不有看到PhotonVPS商家发布促销活动。PhotonVPS 商家七月份推出首月半价Linux系统VPS主机,首月低至2.5美元,有洛杉矶、达拉斯、阿什本机房,除提供普...

ReliableSite怎么样,月付$95美国洛杉矶独立服务器

ReliableSite怎么样?ReliableSite好不好。ReliableSite是一家成立于2006年的老牌美国商家,主要经营美国独立服务器租赁,数据中心位于:洛杉矶、迈阿密、纽约,带宽1Gbps起步,花19美元/月即可升级到10Gbps带宽,月流量150T足够各种业务场景使用,且免费提供20Gbps DDoS防护。当前商家有几款大硬盘美国独服,地点位于美国洛杉矶或纽约机房,机器配置很具有...

域名查询软件为你推荐
国内虚拟主机国内虚拟主机好,还是香港虚拟主机好域名价格什么是域名的商业价值??中国互联网域名注册中国互联网域名注册怎么操作虚拟主机代理哪家虚拟主机商的代理比较好便宜的虚拟主机哪儿有便宜的虚拟主机?云服务器租用谁知道租用服务器、云主机去哪里租?服务器租用费用价格是多少呀云服务器租用租用云服务器,要注意什么?域名备案买域名要备案吗php虚拟空间php虚拟主机空间如何连接mysql什么是虚拟主机虚拟主机是什么
网站服务器租用 高防服务器租用选锐一 免费域名申请 lamp安装 域名商 私服服务器 mediafire下载工具 云主机51web 空间论坛 jsp空间 me空间社区 hkg 卡巴斯基免费试用 最漂亮的qq空间 360云服务 下载速度测试 qq金券 杭州电信宽带 乐视会员免费领取 深圳主机托管 更多