C语言编一个课表查询

C语言编一个课表查询,第1张

#include "stdio.h"

#include "stdlib.h"

#include "string.h"

struct classlist

{

char time[12]

char kecheng[10]

classlist *next

}

void main()

{

classlist *head=(classlist *)malloc(sizeof(classlist))

head->next=NULL

for(int i=0i<3i++)

{

classlist *s=(classlist *)malloc(sizeof(classlist))

s->next=head->next

head->next=s

if(i==0)

{

strcpy(s->time,"9:00-10:00")

strcpy(s->kecheng,"英语")

}

else if(i==1)

{

strcpy(s->time,"10:00-11:00")

strcpy(s->毁岁kecheng,"数基洞学")

}

else if(i==2)

{

strcpy(s->time,"11:00-12:00")

strcpy(s->kecheng,"语文")

}

}

printf("请输入时间(格式: 9:00-10:00)")

char time1[12]

scanf("%s",time1)

while(head->next!=NULL)

{

if(strcmp(head->next->time,time1)==0)

{

printf("纤锋睁%s",head->next->kecheng)

break

}

else

head=head->next

}

}

一、功能模块概要说明:

1.输入函数:

char* uscanf(int,int,int) //图形模式下输入函数,大小写26个字母0-9数字外加空格键为有效输入,可以使用BACKSPACE。

2.开始界面,退出界面和主界面:

void starting() //开始界面

void end() //结束界面

char* index() //主选择界面函数,返回选择信息(字符串);

3.数据输入、创建链表模块

char* tinkey(char*,int,int) //输入切换处理

char* recourse(char*,int,int) //课程输入

int wdetect(struct person*,char*) //课程输入检测,检测课表一星期同一天同一时间段内课程安排是否重复,如果重复给出修改提示信息

char* infuse(char*,char*,int) //课表输入

struct course *ccreat(char*) //创建课程单向链表

struct person* pcreat(char *) //创建个人课表节点

char *infcreat(char**,struct person**,struct person**,char*)

//创建课表双向链表

4.课表输出

char *print(char*) //课表输出背景界面

char *pkey() //课表输出按纽界面及处理

int table(int,int,struct person*) //在指定区域一表格形式输出一个人的课表

int forebox(struct person*) //初略显示下三个人的课表提示

5.文件存储和装载

char* save(char *,struct person *) //保存为磁盘文件,在图形模式下进行文件读写 *** 作之后,程序出现莫名其坦返弊妙的异常显示情形

6.课表查询:

struct person *pdemand(struct person *,char *) //按人名字查询其课表安排。

struct person* wddemand(struct person*,int) //按星期几查询课程安排情况。

struct person *cdemand(struct person *,char *) //按课程查询老师或学生课程安排情况。

char *demand(struct person *) // 查询切换,并显示查询结果,按名字查询一次只能一个。按星期几和课程查询可以查询到多个,如查询到多个接果,按任意键可依次输出。

7.排序。

struct course *csort(struct course *) //按课程编号排序课表节点中课程链表

struct person *psort(struct person *) //按人学号或老师编号排序课表链表

char sort(struct person*) //排序切换,并提示排序结果

8.插入。

char *insert(char *,struct person **,struct person **)

//擦入课表节点

9.让族删除。

char *delete(struct person **,char *)

//按人名删除其课表节点

二、 *** 作说明世或:

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。

三、例程:

#include <stdio.h>

#include <stdlib.h>

#include<string.h>

int main()

{

 char *p[8][5],*a

 int i=0,j=0,n

 a=(char *)malloc(sizeof(char))

 for(j=0j<5j++)

  for(i=0i<8i++)

  { 

   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=0j<5j++){

  for(i=0i<8i++)

  { 

   printf("%s\t\t",p[j][i])

  }

  printf("\n")

 }

}

大学生可以通过关注学校的专用教务处公众号,绑定自己的学号到微信登入可查课表。

有些大学会有一个专门由学校学生开发的一个小卜正程序,里面也可以查看自己的课表,以及学校里面需要注意的东西,包括新生应该做什么。

当然,如果实在是找不到的话,也可以通过添加学校的新生群,去找里面的学长学姐们或者老师询问如何去查课表。也可以问下自己的专业培养方案,里面一般会有自己在各个学期应该上的课程。

当然,在开学之前,辅导员一般会通知下发相关的文型猜悔件,里面可能会有自己的专业课表。总而言之,能查到自己专业课表的途径很多,如果真的找不到,建兆竖议咨询直系学长和学姐们。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12443467.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存