课程设计报告(网吧管理系统).doc
《课程设计报告(网吧管理系统).doc》由会员分享,可在线阅读,更多相关《课程设计报告(网吧管理系统).doc(27页珍藏版)》请在三一办公上搜索。
1、软件学院课程设计报告 网吧管理系统年级班级: 专业方向: 学 号: 姓 名: 指导老师: 二零一零年六月一、问题描述本程序是一个网吧管理程序,首先选择界面选择需要的服务,包括查询空机位,预订与取消机位,用户可通过屏幕提示,查询自己的信息,包括打印预订单,等候单,以及打印用户列表。操作简洁,较易掌握。 二、基本要求1、软件要求Windows XP、Windows Vista、Windows7 64位系统。使用VC+6.02、硬件要求CPU:CORE I5 2.14GHZ 内存:4G三、需求分析1、功能需求 实现对网吧机位的预定,查询,取消预订,以及打印预订与候选单。2、性能需求根据系统提示选择查
2、询以及预定的时间段 四、测试数据 查询时间:2010-06-23 时间段:1 机位预订:2010-06-23 时间段:1 预订者姓名:杨骥 预订者电话:123 打印预订单; 输出:预定日期:2010-06-23 预定时间:08:00 联系电话:123 五.疑难解答六. 心得体会与研究方向通过对C语言的学习,了解C语言的基本知识,运用C语言可以解决许多实际问题,尤其是在信息管理方面,C语言作为一门高级和计算机编程语言,有其强大的功能。同时我也知道了我们随时都要培养自己的动手能力,只有这样,才能更好的适应这个日新月异的飞速发展的社会。在系统的时候发现自己的能力还是有限,要想学好C语言,并且灵活应用
3、还是需要下苦功夫的,在接下来的暑假中我会经常上机实践,做到熟练掌握C语言中的精华。数据结构是C语言的基础,希望能在把编程练习好之后,继续深入学习数据结构,并结合C语言来继续进一步提高编程能力。七. 程序源代码#include #include #include #define N 1 /* 计算机总台数,可以根据实际需要改动 */#define P 11 /* 定义输入的日期字符数组,其格式为2009-12-23,共11位(包含0),无需改动 */#define T 12 /* 手机号码长度,共12位(包含0) */#define S 13 /* 表示时间段的输出长度,如8:00-10:00,
4、共占13位 */* 数据结构的定义 */* 计算机类(关于类,有点OOP的的意味,在这里可以理解为相关数据在内存中的表现形式) */struct Computer int no; /* 计算机编号,个人感觉在这里没多大用处 */ int isOrder; /* 是否被预定,0表示未预定,1表示已预定 */;/* 用户类 */struct User char nameP; /* 用户姓名 */ char telT; /* 用户联系方式 */ struct User *next; /* User类型指针 */;/* 预订信息类 */struct OrderInfo char dateP; /* 日
5、期 */ int time; /* 时间段 */ struct User *user; /* User类型指针,指向一个User类型节点 */ struct OrderInfo * next;/* 重命名结构体 */typedef struct Computer Computer;typedef struct OrderInfo OrderInfo;typedef struct User User;/* 定义相关全局变量 */static Computer computersN; /* 表示20台计算机的数组 */static OrderInfo orderList; /* 预订单,以链表表示
6、 */static OrderInfo waitList; /* 等候单 */static User userList; /* 用户列表 */static OrderInfo *orderHead = &orderList; /* 指向预订单头结点的指针 */static OrderInfo *waitHead = &waitList; /* 指向等候单头结点的指针 */static User *userHead = &userList; /* 指向用户列表头结点的指针 */static OrderInfo *orderCurrent = &orderList; /* 指向预订单队尾的指针,初
7、始指向头结点 */static OrderInfo *waitCurrent = &waitList; /* 指向等候单队尾的指针,初始指向头结点 */static User *userCurrent = &userList; /* 指向用户列表队尾的指针,初始指向头结点 */static char strS = 0;/* 函数声明 */void init(); /* 系统初始化,相关全局变量的初始化 */void mainMenu(); /* 主菜单中的选项逻辑处理 */int select(char date,int time); /* 通过日期和时间段进行查询,返回繁忙的计算机的数目 *
8、/void order (char date,int time); /* 处理预定信息 */void printInfo(char date,int time,int *used,int *wait); /* 通过日期和时间段打印出相关预订单和等候单的信息,并以指针形式返回预定数目和等候数目 */void deleteFromOrderList(char date,int time,int n); /* 从预订单中删除相关条目,并将等候单中第一个用户自动添加到预订单中 */void deleteFormWaitList(char date,int time,int n); /* 从等候单中删除
9、相关条目 */void cancel(char date,int time); /* 通过日期和订单号删除相关条目 */int getDate(char date,int i); /* 获得日期的输入,并进行相关判断操作 */int isBusy(int count); /* 判断是否满员 */char* showTime(int time); /* 输出相应时间段 */void showMenu(); /* 显示主菜单选项 */int getFreeTime(char date, int time); /* 通过日期和时间段获得当前是否满员,1表示未满 */void insertIntoLi
10、st(int i,char date,int time,char name,char tel); /* 向链表中插入数据 */* 程序入口点 */void main() init(); mainMenu();/* 系统初始化(全局变量的初始化) */void init() int i; for(i = 0; i N; i+) computersi.no = i; computersi.isOrder = 0; strcpy(orderList.date,); orderList.time = 0; orderList.user = NULL; orderList.next = NULL; st
11、rcpy(waitList.date,); waitList.time = -1; waitList.user = NULL; waitList.next = NULL;/* 显示主菜单选项 */void showMenu() printf(*欢迎使用网吧管理系统*n); printf(n); printf( 1.查询n); printf( 2.机位预定n); printf( 3.取消预定n); printf( 4.退出系统n);/* 调试功能,以下三项是做测试时使用的,可以根据实际需要增删 */* * */ printf( 5.打印预订单n); printf( 6.打印等候单n); prin
12、tf( 7.打印用户列表n);/* */ printf(n); printf(请输入您的选择: ); printf(n);/* 输出相应时间段 */char *showTime(int time) switch(time) case 1: strcpy(str,08:00-10:00); break; case 2: strcpy(str,10:00-12:00); break; case 3: strcpy(str,12:00-14:00); break; case 4: strcpy(str,14:00-16:00); break; case 5: strcpy(str,16:00-18:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 报告 网吧 管理 系统
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-2399683.html