当前位置:首页 » 编程语言 » c语言课程设计课表
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言课程设计课表

发布时间: 2023-08-07 07:37:06

Ⅰ C语言编一个课表查询

#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=0;i<3;i++)
{
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;
}
}

Ⅱ 用C语言怎么编出来课程表

一、功能模块概要说明:
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>
intmain()
{
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("周一 周二 周三 周四 周五 ");
for(j=0;j<5;j++){
for(i=0;i<8;i++)
{
printf("%s ",p[j][i]);
}
printf(" ");
}
}

Ⅲ 利用C语言设计简单课表生成程序 急!

大哥我们算法老师都还没有解决这个问题呢

Ⅳ 如何用C语言实现大学排课

#include <stdio.h>
#include <stdlib.h>
#define M 100

struct Student
{
int StudentID;
char name[50];
float PeacetimeScore;
float TestScore;
float TotalScore;
};

int main()
{
int InputInformation (struct Student student[]);
void TotalScoreStatistics (struct Student student[], int n);
void TotalScoreSort (struct Student student[], int n);
void ScoreRevise (struct Student student[], int n);
void display (struct Student student[], int n);
int menu ();

int n = 1, count;
struct Student student[M];

while (n)
{
n = menu ();
switch (n)
{
case 1:
count = InputInformation (student);
break;
case 2:
TotalScoreStatistics (student, count);
break;
case 3:
TotalScoreSort (student, count);
break;
case 4:
ScoreRevise (student, count);
break;
case 5:
display (student, count);
break;
case 0:
printf ("您选择了退出!\n");
break;
default :
printf ("输入有误,重新输入!\n");
break;
}
}

return 0;
}

int menu ()
{
int n, i;

char * menu[]={"* * * * * * * * * * * * * * *MENU* * * * * * * * * * * * * * *",
" 1.学生信息录入",
" 2.总成绩统计",
" 3.总成绩排序",
" 4.成绩更改",
" 5.显示所有学生信息",
" 0.退出",
"* * * * * * * * * * * * * * *MENU* * * * * * * * * * * * * * *"};
for (i=0; i<8; i++)
printf ("%s\n", menu[i]);
printf ("请选择(输入序号):");
scanf ("%d", &n);

return n;
}

int InputInformation (struct Student student[])
{
int i;
FILE *fp;

for (i=0; ; i++)
{
printf ("输入第 %d 个学生的如下信息:\n", i+1);
printf ("学号:");
scanf ("%d", &student[i].StudentID);
if (student[i].StudentID == 0) //如果学号输入是0则结束输入
break;
getchar ();
printf ("姓名:");
gets (student[i].name);
printf ("平时成绩:");
scanf ("%f", &student[i].PeacetimeScore);
printf ("考试成绩:");
scanf ("%f", &student[i].TestScore);
fp = fopen ("myfile.txt", "a");
if (fp == NULL)
{
printf ("文件打开失败!\n");
exit (-1);
}
fprintf (fp, "%d %s %.2f %.2f\n", student[i].StudentID, student[i].name,
student[i].PeacetimeScore, student[i].TestScore);
}
fclose (fp); //关闭文件
return i;
}

void TotalScoreStatistics (struct Student student[], int n)
{
int i;

printf ("\n 学号 姓名 总成绩\n\n");
for (i=0; i<n; i++)
{
student[i].TotalScore = student[i].PeacetimeScore * 0.2 + student[i].TestScore * 0.8;
printf (" %d %s %.2f\n", student[i].StudentID, student[i].name, student[i].TotalScore);
}
}

void TotalScoreSort (struct Student student[], int n)
{
int i, j;
float temp;

for (i=0; i<n; i++)
for (j=i+1; j<n; j++)
if (student[i].TotalScore > student[j].TotalScore)
{
temp = student[i].TotalScore;
student[i].TotalScore = student[j].TotalScore;
student[j].TotalScore =temp;
}
for (i=0; i<n; i++)
printf ("%.2f ", student[i].TotalScore);
printf ("\n");
}

void ScoreRevise (struct Student student[], int n)
{
int m, k, i = 0;
FILE *fp;

printf ("输入要修改的学生的学号:");
scanf ("%d", &k);
printf ("您是要修改平时成绩还是考试成绩呢?\n");
printf ("1.修改平时成绩\n");
printf ("2.修改考试成绩\n");
printf ("输入您的选择:");
scanf ("%d", &m);
for (i=0; i<n; i++)
if (student[i].StudentID == k)
if (m == 1)

Ⅳ 求救!!!用C语言编一个课程表

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

intmain()

{

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("周一 周二 周三 周四 周五 ");

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

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

{

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

}

printf(" ");

}

}