用C语言怎么编出来课程表
一、功能模块概要说明:1.输入函数:char*uscanf(int,int,int)//图形模式下输入函数,大小写26个字母0-9数字外加空格键为有效输入,可以使用BACKSPACE。2.开始界面,退出界面和主界面:voidstarting()//开始界面voidend()//结束界面char*index()//主选择界面函数,返回选择信息(字符串);3.数据输入、创建链表模块char*tinkey(char*,int,int)//输入切换处理char*recourse(char*,int,int)//课程输入intwdetect(structperson*,char*)//课程输入检测,检测课表一星期同一天同一时间段内课程安排是否重复,如果重复给出修改提示信息char*infuse(char*,char*,int)//课表输入structcourse*ccreat(char*)//创建课程单向链表structperson*pcreat(char*)//创建个人课表节点char*infcreat(char**,structperson**,structperson**,char*)//创建课表双向链表4.课表输出char*print(char*)//课表输出背景界面char*pkey()//课表输出按纽界面及处理inttable(int,int,structperson*)//在指定区域一表格形式输出一个人的课表intforebox(structperson*)//初略显示下三个人的课表提示5.文件存储和装载char*save(char*,structperson*)//保存为磁盘文件,在图形模式下进行文件读写操作之后,程序出现莫名其妙的异常显示情形6.课表查询:structperson*pdemand(structperson*,char*)//按人名字查询其课表安排。structperson*wddemand(structperson*,int)//按星期几查询课程安排情况。structperson*cdemand(structperson*,char*)//按课程查询老师或学生课程安排情况。char*demand(structperson*)//查询切换,并显示查询结果,按名字查询一次只能一个。按星期几和课程查询可以查询到多个,如查询到多个接果,按任意键可依次输出。7.排序。structcourse*csort(structcourse*)//按课程编号排序课表节点中课程链表structperson*psort(structperson*)//按人学号或老师编号排序课表链表charsort(structperson*)//排序切换,并提示排序结果8.插入。char*insert(char*,structperson**,structperson**)//擦入课表节点9.删除。char*delete(structperson**,char*)//按人名删除其课表节点二、操作说明:1.Infuse:选定这个键后按Enter进入学生输入菜单,你可以输入学生的学号,姓名,学生在一学期内的所学课程的课程名,课程号,学时,以及在一周内上课的地址。如果当输入某课程上课地址有重复时,系统自动发出报警信息,并提示出错的地方,以便修改,当选定couse时,表明此学生所学的该课程的信息输入完成再输入另外所学课程的信息,如上所写照样输入,当选定finish时,并按回车键后,表明此学生在这一学期内所学的课程信息输入完成。如要继续输入学生的信息如前所述。当选定back时,并按下回车键后,返回TIMETABLE主菜单,选择主菜单里的功能对所输入的信息进行处理。当选定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。三、例程:
#include#include#includeintmain(){char*p[8][5],*a;inti=0,j=0,n;a=(char*)malloc(sizeof(char));for(j=0;j<5;j++)for(i=0;i<8;i++){printf(周%d第%d节,j+1,i+1);scanf(%s,a);p[j][i]=a;a=(char*)malloc(sizeof(char));}printf(周一\t\t周二\t\t周三\t\t周四\t\t周五\n);for(j=0;j<5;j++){for(i=0;i<8;i++){printf(%s\t\t,p[j][i]);}printf(\n);}}
免责声明:本站发布的教育资讯(图片、视频和文字)以本站原创、转载和分享为主,文章观点不代表本网站立场。
如果本文侵犯了您的权益,请联系底部站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!
新励学网教育平台
海量全面 · 详细解读 · 快捷可靠
累积科普文章数:18,862,126篇