教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

c语言课程设计实验报告

来源:网络收集 时间:2026-09-13
导读: 十字交叉链表的强化练习, 目录 1 系统功能模块设计…………………………………………………………3 2 数据结构设计及用法说明…………………………………………………4 3 程序结构……………………………………………………………………………5 4 实验结果

十字交叉链表的强化练习,

目录

1 系统功能模块设计…………………………………………………………3

2 数据结构设计及用法说明…………………………………………………4

3 程序结构……………………………………………………………………………5

4 实验结果 …………………………………………………………………6

5 实验体会 ……………………………………………………………………7

6 参考文献 ……………………………………………………………………7

附录(源程序)………………………………………………………………8

十字交叉链表的强化练习,

1 系统功能模块设计

宾馆客房信息管理系统是由四大模块组成,主模块1,主模块2,主模块3,主模块4。各主模块及子模块如图1所示:

图1

各模块功能简介:

主模块1,文件管理,有关文件的一些操作,包括三个小子模块: 子模块1,数据初始化,用来第一次运行系统时进行数据录入。

子模块2,数据加载,当第一次进行数据录入保存后,以后每次运行系统只要先进行数据加载就能使系统与上次保存的数据联系起来。

子模块3,数据保存,进行数据录入或是数据处理后对数据保存。

主模块2,数据处理,用来对系统数据进行处理,包括三个子模块:

十字交叉链表的强化练习,

子模块1,数据修改,对已存在的需要变动的数据进行修改。 子模块2,数据插入,插入新的数据。

子模块3,数据删除,对不需要的数据进行删除。

主模块3,数据查询,查询旅客入住信息,包括四个子模块:

子模块1,按日期查询,输入日期,就能查询该日期所有旅客的入住信息。并输出各项信息。

子模块2,按姓名查询,输入旅客姓名,就能查询旅客是否存在,若存在,则输出旅客的入住信息。

子模块3,按房号查询,输入旅客房间号码,及房间类型,就能查询旅客是否存在,若存在,则输出旅客的入住信息。

子模块4,按身份证号查询,输入旅客的身份证号。就能查询旅客是否存在,若存在,则输出旅客的入住信息。

主模块4,数据统计,统计人数,只有一个子模块:

子模块1,统计人数,统计在住人数,输出在住旅客数。

2 数据结构设计及用法说明

系统数据采用十字交叉链表,十字交叉链表如图2:

图2

宾馆客房信息管理系统十字交叉链表

说明:

实验数据采用三级十字交叉链表的数据结构,第一次运行时进行数据录入后保存,以后再次运行,只需加载就可以进行数据处理和其他操作了,对三级链表的各级在系统中都有很详细的操作说明。

十字交叉链表的强化练习,

3 程序流程图

十字交叉链表的强化练习,

图3

数据的输入: 当查询时,结果如

十字交叉链表的强化练习,

21号房间的旅客入住情况

5 实验体会

1、这次C语言程序课程设计是把课程学完后的一次大检验,需要把书中的一些没来的及吸收的知识好好巩固,并加以运用。十字交叉链表的数据结构设计,需要把书上例子中的两级十字链表加以发展运用,写出三级十字交叉链表

2、这次实验开始时,不知道怎么从哪里开始,于是把实验书上面的例子一遍一遍的看,对于实验书上的十字交叉链表设计搞懂后,开始自己写,但是写出来的程序构建是有很多的error和wanrning,有时改好提示的错误后,又会出现一大堆新的错误。总之,对于程序的调试,需要极大的耐心,不能急躁。

3、在改完所有的错误后,运行程序,并进行数据的输入,但是在数据修改时,修改完并保存后,再次打开时,数据还是老样子,根本没什么改变,数据插入、删除都出现同样的问题,发现肯定是函数的设计有问题,于是重新检查,最后费了很大劲才解决,原来是指针的问题。

4、这次实验培养了独立思考,动手操作的能力,特别是加深了对C语言的理解与运用。学到了很多东西,通过这次课程设计,使我懂得了理论与实际相

结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。

6 参考文献

图书:

1,曹计昌,卢萍,李开.C语言程序设计(第3版).北京:科学出版社 2008. 2,李开,卢萍,曹计昌.C语言实验与课程设计(第1版).北京:

科学出版

十字交叉链表的强化练习,

2011。第121到146页

附录:

本实验采用C语言设计,采用codeblock编译环境,

源程序

#include <stdio.h> #include <stdlib.h> #include <string.h>

/*旅客入住信息结点结构*/ typedef struct guest {

char name[20]; /* *姓名*/ char roomNum[5]; /* *房号*/ char guestId[19]; /* *身份证号*/ char sex; /* *性别*/ char birthday[11]; /* *出生日期*/ char enrollData[20]; /* *入住日期*/ char exitData[20]; /* *退房日期*/

char guestPhone[12]; /* *旅客联系电话*/ struct guest *next; /* *指向下一结点的指针*/ }GUEST;

/*房间基本信息结点结构*/ typedef struct room_note {

char roomNum[5]; /* *房号*/ char roomType; /* *房间类型*/ char roomLayer; /* *房间层号*/ char roomPosition; /* *房间位置*/

char roomPhone[12]; /* *房间电话号码*/

struct guest* next3; /* *指向旅客入住支链的指针*/ struct room_note *next; /* *指向下一结点的指针*/ }ROOM_NOTE;

/*房间类型信息结点结构*/ typedef struct room_type {

char roomtype; /* *房间类型*/ int standardprice; /* *标准价格*/

十字交叉链表的强化练习,

int hourprice; /* *钟点价格*/

struct room_note *next2;/* *指向房间基本信息支链的指针*/ struct room_type *next; /* *指向下一结点的指针*/ }ROOM_TYPE;

void create_list(ROOM_TYPE** head); /*创建链表*/ void load_list(ROOM_TYPE** head); /*加载数据*/ void save_list(ROOM_TYPE* head); /*保存数据*/ void modif_list(ROOM_TYPE** head); /*修改数据*/ void insert_list(ROOM_TYPE** head); /*插入数据*/ void delete_list(ROOM_TYPE** head); /*删除数据*/

void data_seek(ROOM_TYPE* head); /*按日期查询入住旅客信息*/ void name_seek(ROOM_TYPE* head); /*按姓名查询入住旅客信息*/ void roomNum_seek(ROOM_TYPE* head); /*按房号查询该房间旅客信息*/ void id_seek(ROOM_TYPE* head); /*按身份证号查询旅客入住信息*/ void stat_guest(ROOM_TYPE* head); /*统计在住旅客的数目*/ int data_atoi(char a[]); /*将日期字符串转换成整型数据*/

/*主函数*/ int main() {

ROOM_TYPE *head=NULL; …… 此处隐藏:7990字,全部文档内容请下载后查看。喜欢就下载吧 ……

c语言课程设计实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/2324592.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)