C语言课程设计实验报告59900字

上传人:杨*** 文档编号:331610602 上传时间:2022-08-23 格式:DOCX 页数:107 大小:205.03KB
返回 下载 相关 举报
C语言课程设计实验报告59900字_第1页
第1页 / 共107页
C语言课程设计实验报告59900字_第2页
第2页 / 共107页
C语言课程设计实验报告59900字_第3页
第3页 / 共107页
C语言课程设计实验报告59900字_第4页
第4页 / 共107页
亲,该文档总共107页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C语言课程设计实验报告59900字》由会员分享,可在线阅读,更多相关《C语言课程设计实验报告59900字(107页珍藏版)》请在金锄头文库上搜索。

1、 C语言课程设计实验报告59900字 华中科技大学计算机科学与技术学院C语言程序设计课程设计实验报告题目: 汽车租赁信息管理系统专业: 班级: 学号:完成日期: 20xx年 10 月 21 日指导教师: 姓名: 成绩:一、题目汽车租赁信息管理系统对某汽车租赁公司汽车租赁信息进行管理,包括汽车基本信息和汽车租赁信息。(1)需要处理的基础数据a) 汽车租赁公司信息参考:b) 汽车基本信息参考:c) 汽车租赁信息参考:(2)系统功能a) 各种基本数据的录入。如:汽车基本信息录入、租赁公司信息录入、汽车租赁信息录入。b) 各种基本数据的修改。即:允许对已经录入的数据重新进行编辑、修改。c) 各种基本数

2、据的插入。d) 各种基本数据的删除。e) 基于各种数据的查询。如:某租赁公司在指定日期的租车信息。f) 基于各种基本数据的统计计算。如:(I)统计各汽车租赁公司总汽车数和租金总额,按租金总额从高到低排序后输出。 (II)统计某年度十二个月份汽车租赁的总次数和总租金。(III)统计各公司各类汽车出租次数、出租金额,按出租金额从高到低排序后输出。(IV)分别统计出租率最高的5家公司,从高到低排序后输出公司名称、公司汽车总数、出租总次数。(V)汽车租赁信息其它方面的统计。二、系统功能模块结构图三、数据结构设计及用法说明这个系统是采用三个方向的十字链表,其中第一条链是汽车租赁公司的基本信息,包括公司名

3、称、汽车类型和各类型汽车数量,第二条链是汽车基本信息,包括汽车类型、公司名称、汽车数、日租金、联系人和联系电话,第三条链是汽车租赁的基本信息,包括客户姓名、身份证号、租车日期、租车天数、公司名称、汽车类型和租车数目。下图就是数据三个方向的十字交叉链表四、程序结构下图为程序结构的流程图:五、各模块的功能Build :Load:将已经存好的数据导入New:输入新的数据Save:将输入的数据保存Quit:退出程序Search:Firm:查询公司信息Bus:查询汽车信息Busrent查询汽车租赁信息Modify:Firm:修改公司信息Bus:修改汽车信息Busrent:修改汽车租赁信息Delete:F

4、irm:删除公司信息Bus:删除汽车信息Busrent:删除汽车租赁信息Insert:Firm:插入公司信息Bus:插入汽车信息Busrent:插入汽车租赁信息Output:Firm:输出公司信息Bus:输出汽车信息Busrent:输出汽车租赁信息Censue:Tongji1:统计每个公司的汽车总数和租赁的总收入Tongji2:统计每个年度所有公司出租汽车总数和总收入 Tongji3:统计每个公司每种类型的汽车出租次数和收入Tongji4:统计每个公司汽车的出租率、总汽车数和租出汽车次数 Tongji5:统计所有公司的所有年度汽车出租总数和总收入六、试验结果七、体会这次实验结合了C语言里面的数

5、组、指针、链表、文件等知识点。刚开始的时候不知道如何下手,后来在相关书籍上找了相似的程序慢慢分析后开始自己尝试着写,因为开始的时候还是不会,就和寝室里面的人讨论、相互参考,经过几天的研究,我们终于写出了第一个界面,有了第一次的经验,我慢慢的写出了Build函数以及后面的函数。最难的就是函数的调试了,开始运行的时候报错特别多,自己就那样一点一点的调,错误也渐渐减少,但是到最后又几个错误不管我怎么调就是报错,当时真的很着急,后来找到了班上成绩比较好的同学,纵欲把最后几个报错的地方改正了。经过这么多的曲折,当我看到自己写出来的程序时心里有的是高兴与激动。或许对于别人来说,这次的实验只是小菜一碟,但对

6、我来说,这是经过我的付出与努力换来的。八、参考文献1.C语言程序设计 曹计昌 卢萍 李开编著 辞学出版社2.Turbo C 使用大全第一册、第二册 徐金梧等编译 北京科海培训中心3.C程序设计 谭浩强 清华大学出版4.C语言程序设计 廖雷 高等教育出版社九、程序清单#include#include #include#include typedef struct buscode char busnum5;char type2;char firm30;int rent;char contactor20; char tel20;struct buscode *next; struct buscode

7、 *right; L;typedef struct bus_rentcode char busnum5; char name20;char id_card_num20; char rent_date12; int rent_days;char firm_name30; int mount;struct bus_rentcode *next; H;typedef struct firmcode char name30; int mount1;int mount2;int mount3;struct firmcode *next; struct firmcode *down; T;char *Me

8、nu = Build, Quit, Search, Modify, Delete, Insert, Output, Census;char *Prompt = F1-Help,F5-Zoom,F6-Switch,F7-Trace,F8-Step,F9-Make,F10-Menu,NUM;char *Menus = Load,New,Save,Are you sure?,Firm,Bus,Busrent,Firm,Bus,Busrent,Firm,Bus,Busrent,Firm,Bus,Busrent,Firm,Bus,Busrent,tongji 1,tongji 2,tongji 3,to

9、ngji 4,tongji 5;int MnN = 3, 1, 3, 3, 3, 3, 3, 5; int MnLoc5 = 4,3,2,18,6,13,10,2,25,4,22,17,2,42,6,32,23,2,57,6,42,33,2,69,6,52,43,2,62,6,62,45,2,79,6, 72,50,2,79,8; int Mnm, Mns;char buf30*25*2, buf140*3*2;void output_firm(T *head) ; void build(T *);void Save(T *head);void output_bus(T *head);void

10、 Load(T *head);void output_busrent(T *head); void Insert_firm(T *head); void Insert_bus(T *head);void Insert_busrent(T *head); void Delete_firm(T *head); void Delete_bus(T *head);void Delete_busrent(T *head); void Search_firm(T *head); void Search_bus(T *head);void Search_busrent(T *head); void Modi

11、fy_firm(T *head); void Modify_bus(T *head);void Modify_busrent(T *head); void tongji1(T *head);void tongji2(T *head);void tongji3(T *head);void tongji4(T *head);void tongji5(T *head);void ShowMenuM (void);void SetMenuM (int );void ClrMenuM (int );void ShowMenuS (int );void HideMenuS (int );void SetM

12、enuS (int );void ClrMenuS (int );void SelLR (int );void SelUD (int );void ExeItem (int, int); void ScanKb (int *, int *);T *hp=NULL;L *t1;H *t2;void main(void)int i,idx,key0,key1,flag = 1;textbackground(CYAN);clrscr( );ShowMenuM();Mnm = 1;Mns = 0;SetMenuM(Mnm);while(flag)key0=key1=0;ScanKb(&key0, &k

13、ey1);if(key0 != 0) /*if an ordinary key is pressed*/ if(Mns = 0) /*operate on main menu*/ if(key0 = 13)ShowMenuS(Mnm);elsefor(i=0;i8;i+)if(key0 - *Menui = 0 | key0 - *Menui = 32) break;if(i 8)ShowMenuS(i+1);else /*operate on sub menu*/ if(key0 = 13)ExeItem(Mnm,Mns);else if(key0 = 27)HideMenuS(Mnm);M

14、ns = 0;elsefor(i=1,idx=0;iMnm;i+)idx += MnNi-1;for(i=idx;iidx+MnNMnm-1;i+)if(key0 - *Menusi = 0 | key0 - *Menusi = 32) break;if(i idx + MnNMnm-1)ExeItem(Mnm,i - idx + 1);else /*if a special key is pressed*/ switch(key1)case 33: ShowMenuS(1); break; /*Alt+F*/ case 18: ShowMenuS(2); break; /*Alt+E*/ case 19: ShowMenuS(3); break; /*Alt+R*/ case 46: ShowMenuS(4); break; /*Alt+C*/ case 25: ShowMenuS(5); break; /*Alt+P*/ case 24: ShowMenuS(6); break

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号