C语言课表排课系统.doc
文本预览下载声明
C语言-课表排课系统
?基本操作: 输入并创建链表(单向和双向) //参见:infcreat(); 装载 //算法与存储一致 存储 //图形模式下,进行文件读写操作后有无故的异常显示 查询 //算法参见pdemand();cdemand();wddemand(); 插入 //算法参见insert(); 删除 //算法参见delete(); 排序 //算法:选择排序。具体见psort();csort(); 打印输出 //算法参见:pkey();table();
操作说明: 1. Infuse:选定这个键后按Enter进入学生输入菜单,你可以输入学生的学号,姓名,学生在一学期内的所学课程的课程名,课程号,学时,以及在一周内上课的地址。如果当输入某课程上课地址有重复时,系统自动发出报警信息,并提示出错的地方,以便修改, 当选定couse时,表明此学生所学的该课程的信息输入完成再输入另外所学课程的信息,如上所写照样输入, 当选定finish时,并按回车键后,表明此学生在这一学期内所学的课程信息输入完成。如要继续输入学生的信息如前所述。 当选定back时,并按下回车键后,返回TIME TABLE主菜单,选择主菜单里的功能对所输入的信息进行处理。 当选定exit时,并按下回车键后,返回程序。结束程序。 2.SAVE/LOAD 选定此并按回车。此键作用对所输入的信息进行格式输出/载入。输入你要保存信息的文件名,文件格式系统自动生成。利用键盘上的方向键和TAB键进行控制。 3.DEMAND:按ENTER键开始输入,按反向键进行查询切换。当按星期几和课程查询时候,如遇到查询到多个结果,按任意键可依次输出直到完。 4.INSERT:按ENTER键开始输入,按反向键进行查询切换。输入同INFURE项。 5. DELETE: 按ENTER键显示输入框开始输入。其他同上。 6.SORT:当提示框中SORT变为红色时候,表示被选中,按ENTER键开始插入,如成功给出提示信息。 7.PRINT:依次输出链表,如果输出链表为空则不进仍输出页面。NEXT为下一个,PRO为上一个。下面FORENOTICE 框显示后三个节点。 8.EXIT:退出系统。效果同按ESC。 六:源程序清单:(见附件) 七:测试结果: 1:在图形模式下,关于文件的读写操作影响整个程序的显示。 2:关于指针数组的初始化,有时候出现莫名其妙的没有初始化的现象。改成逐个赋值处理,现象消息。 3:关于返回字符串指针的函数所返回的指针输出,出现叠加的现象。 4:图形模式下函数的不稳定和相互制约的现象。 如:sprintf()与strcpy(); 。。。。。。
//源程序代码
/*
功能:排课系统
作者:周志明
日期:28/8/2004
*/
/*****************************************************************//*???????????????????????? 课表排课系统????????????????????????? *//*****************************************************************/
/*头文件*/#includestdio.h#includestring.h#includeconio.h#includegraphics.h/*宏定义*/#define NULL??? 0#define OK????? 1#define ERROR? -1
#define ESC???? 0x011b#define TAB??0x0f09#define ENTER?? 0x1c0d#define UP??0x4800#define DOWN?0x5000#define LEFT?0x4b00#define RIGHT?0x4d00#define BACKSPACE 0x0e08#define SPACE?? 0x3920
/*结构体类型定义*/struct weekday{?? int wday;?? char addr[5][10];?? struct weekday *next;?? };struct course{牋 char cnumber[10];牋 char cname[10];牋 char?period[10];牋 struct weekday *whead;牋 struct course *next;牋 };struct person{牋 char pnumber[10];牋 char pname[10];牋 int
显示全部