详细设计:(源程序清单见附录):
11
五心得体会
通过这次实训,增加了我学习软件技术的兴趣,虽然在编写修改代码的工程中花费了不少时间甚至有放弃的想法,但最终看到程序运行,那种喜悦兴奋之情无法用文字描述。
1. 编写课程设计是理论结合实际的一次很好结合,虽然写得作业仅仅只能当做一项作业没
有实际使用的价值,但还是从中学到了不少,真正地体会到完成一项任务的艰辛和付出之后收获的快乐。
2. 编写程序时应该使程序易于理解尽量使用通用的变量名和通俗的注释。 3. 虽然很多东西刚开始时都不懂,但只要坚持下去学,慢慢地就会熟悉。 4. 程序应该分几个文件装,要有条理性。
5. 写程序运行时会出现很多bug,要耐心调试,编程需要耐心和细心。把程序完整地调试
好后,对自己性格的培养也是一种提高。
6. 当自己解决不了时要向他人请教,虚心学习他人的方法。这次完成作业向同学们请教了
很多问题,得到了同学的帮助,在此真心地表示感谢。
参考文献
《Turbo C 使用大全》第一册、第二册 徐金梧等编译 北京科海培训中心
《C语言课程设计》 曹计昌 卢萍 李开 编著《C程序设计》谭浩强 著
12
附录 源程序清单
#ifndef DEF #define DEF
#define BUFSIZE 20 #define MAX_ROOM 100
#define TEXT_CY 20
#include
#include
#define TRUE 1 #define FALSE 0 #define NAME 20 #define MAX_ID 20 #define NUM 10 #define TELE 20 #define TIME 12 typedef struct kehuxinxi{ char name[20];/*客户姓名*/ char id[20];/*客户ID*/ char sex; /*性别*/ char telephone[20];/*电话*/ char room[10];/*房间号*/ char time[12];/*入住时间*/ float yingshou;/*应付费用*/ float shishou;/*实际费用*/ char shouyinyuan[20];/*收银员*/ struct kehuxinxi * next;
}kehu,* Pkehu;
typedef struct kefangxinxi{ char num[10];/*房间号*/
13
char zhonglei;/*类别*/ int times;/*入住次数*/ float jiage;/*价格*/ struct kefangxinxi * next; Pkehu Record; }fangjian,* Pfangjian;
typedef struct kefangzhonglei{ char zhonglei;/*类别*/ int shuliang;/*房间数*/ Pfangjian first; struct kefangzhonglei * next; }fangjianzhonglei ,* Pfangjianzhonglei;
typedef struct{ fangjian ** Buffer; int Bufsize;/*缓冲区大小*/ }Buf; typedef struct{ int left; int top; int right; int bottom; }Rect;/*矩形区域,一个好东西*/
/*Guide*/
int xiangdaohejiemian(int function,Pfangjianzhonglei * pRST);
/*tools*/
int Collect(int (* Comp)(void *,void *),int num);/*按照Comp规则收集前num个信息*/
int jiyushijian(void *,void *);/*按照次数规则*/
int jiyujiage(void *,void *);/*按照价格规则*/ int huodecaidan(char * * szTitles,int num);
/*fun_fun*/
int huodekefangzhonglei(FILE * pf,Pfangjianzhonglei sub_tree);/*获取一整个类型*/
int huodekefang(FILE * pf,Pfangjian room);/*获取一个房间*/
int huodekehu(FILE * pf,Pkehu custom);/*获取一个客户*/
int xierukefang(FILE * pf,Pfangjianzhonglei sub_tree);
14
int xierukefangxinxi(FILE * pf,Pfangjian room); int xierukehuxinxi(FILE * pf,Pkehu custom);
int huodenkefang(Pfangjianzhonglei sub_tree,int num_room);/*获取num_room个房间*/
int xiugaikehuxinxi(Pkehu pCu);/*修改客户信息*/
int xiugaikefangxinxi(Pfangjian pRF);/*修改房间信息*/
int Collect(int (* Comp)(void *,void *),int num);/*按照Comp规则收集前num个信息*/
int jiyushijian(void *,void *);/*按照次数规则*/
int jiyujiage(void *,void *);/*按照价格规则*/ int Display(void);
int Get_Info(char * * szTitles,char * * buffer,int num); int zhanxiankehu(Pkehu pCu); int zhanxiankefang(Pfangjian pRF); int huodekehuxinxi(Pkehu pCu);
int sousuokefangzhonglei(Pfangjianzhonglei pRST);/*搜索一个类型*/
int sousuokefangxinxi(Pfangjianzhonglei pRST);/*搜一个房间*/
int sousuokehu(Pfangjianzhonglei pRST);/*搜一个客户*/ int tianjiazhonglei(Pfangjianzhonglei pRST);/*插入*/ int tianjiakefang(Pfangjianzhonglei pRST); int tianjiakehu(Pfangjianzhonglei pRST); int shanchuzhonglei(Pfangjianzhonglei * pRST);/*删除*/ int shanchukefang(Pfangjianzhonglei * pRST); int shanchukehu(Pfangjianzhonglei * pRST); int xiugaikefangzhonglei(Pfangjianzhonglei pRST);/*修改*/ int xiugaikehu(Pfangjianzhonglei pRST); int huodekefangxinxi(Pfangjian pRF); int Buf_Clear(void);
int Buf_Fill_Tree(Pfangjianzhonglei pRST_temp);
/*Qsort*/
void Qsort(void * * array,int low,int high,int (*Comp)(void * ,void * ));
/*快速排序法排序,基于比较*/ Buf Buf_Room; /*调试信息*/ #define DEBUG #define DEBUG2 #define DEBUG3(x)
DEBUG
#endif int Buf_Clear(void) {
15