c语言课程表,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; i8; 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; in; 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; in; i++)

for (j=i+1; jn; 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; in; 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; in; i++)

if (student[i].StudentID == k)

if (m == 1)

用c语言如何编辑课程表,来个大神教教吧!最后做出来的课程表格式是exe格式,自己怎么也做不好。

写了一个,比较笨,不知行不行

生成exe程序在 Release 目录下

急急!!用C语言编课程表,要求:每星期5天,每天不超过6节课,有语文、数学、英语、政治、历史、音乐

#include stdio.h

#include time.h

#include stdlib.h

#define DAYS_OF_A_WEEK 5

#define MAX_CLASSES_A_DAY 6

#define MAX_CLASS_NAME_LEN 10

#define TOTAL_CLASSESS_TYPE_NUM 5

typedef struct

{

char class_name[MAX_CLASS_NAME_LEN];

int class_num_per_week;

}Class;

Class class_data[]=

{

{“语文”,3},{“数学”,3},{“英语”,3},{“政治”,2},{“历史”,2},{“音乐”,2}

};

char week_days_name[][10] ={“星期天”,”星期一”,”星期二”,”星期三”,”星期四”,”星期五”,”星期六”};

char class_arrange_table[MAX_CLASSES_A_DAY][DAYS_OF_A_WEEK][MAX_CLASS_NAME_LEN]={0};

int main(int argc, char *argv[])

{

int i,j,k;

int row,col;

srand(time(NULL));

for(i=0;iTOTAL_CLASSESS_TYPE_NUM;i++)

{

for(j=0;jclass_data[i].class_num_per_week;j++)

{

row = rand()% DAYS_OF_A_WEEK ;

col = rand()% MAX_CLASSES_A_DAY;

while(strlen(class_arrange_table[row][col]) != 0)

{

row = rand()% DAYS_OF_A_WEEK ;

col = rand()% MAX_CLASSES_A_DAY;

}

strcpy(class_arrange_table[row][col],class_data[i].class_name);

}

}

printf(“%4s”,””);

for(i=1;i=DAYS_OF_A_WEEK;i++)

{

printf(“|%10s”,week_days_name[i]);

}

printf(“\n”);

for(i=0;iMAX_CLASSES_A_DAY;i++)

{

for(j=0;j4+DAYS_OF_A_WEEK*10+DAYS_OF_A_WEEK;j++){ printf(“-“); }

printf(“\n”);

printf(“%4d”,i+1);

for(j=0;jDAYS_OF_A_WEEK;j++)

{

printf(“|%10s”,class_arrange_table[i][j]);

}

printf(“\n”);

}

for(j=0;j4+DAYS_OF_A_WEEK*10+DAYS_OF_A_WEEK;j++){ printf(“-“); }

printf(“\n”);

return 0;

}

c语言怎样编写课程表,请问程序怎样写?

//2020年3月12日编写

#includestdio.h

char c=’ ‘;

void chang()//长函数

{

printf(“___________”);

}

void kuang()//宽函数

{

printf(“|”);

}

void zon(char cc)//总汇函数

{

int a;

printf(“\n”);

printf(“|”);

for(a=0;a4;a++)

{

chang();

if(a3)

printf(“%c”,cc);

}

printf(“|”);

}

void zon2(char a1[],char a2[],char a3[],char a4[])//总汇函数2

{

printf(“\n”);

printf(“|%-11s|”,a1);printf(“%-11s|”,a2);printf(“%-11s|”,a3);printf(“%-11s|”,a4);

}//函数;

main()

{

int a,b;

for(a=0;a4;a++)//第一行

{

printf(” “);

chang();

}

printf(“\n|%21c课程表%20c|”,c,c);

zon(‘ ‘);

zon2(”  “,”1.2节”,”3.4节”,”5.6节”);

zon(‘|’);

zon2(“星期一”,”语文”,”计算机”,”体育”);//第二行

zon(‘|’);

zon2(“星期二”,”数学”,”政治”,”数学”);//第三行

zon(‘|’);

zon2(“星期三”,”英语”,”体育”,”自习”);//第四行

zon(‘|’);

zon2(“星期四”,”计算机”,”语文”,”体育”);//第五行

zon(‘|’);

zon2(“星期五”,”计算机”,”英语”,”自习”);//第六行

zon(‘|’);

}

/*

printf(” ___________\n”);//  -=11;

printf(“|  语   文  |\n”);// |%2d字%3d字%2d|

printf(“|___________|\n”);// |%11d|

*/

用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

#includestring.h

int main()

{

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

 int i=0,j=0,n;

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

 for(j=0;j5;j++)

  for(i=0;i8;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;j5;j++){

  for(i=0;i8;i++)

  { 

   printf(“%s\t\t”,p[j][i]);

  }

  printf(“\n”);

 }

}

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/238689.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-12 12:12
下一篇 2024-12-12 12:12

相关推荐

  • AES加密解密算法的C语言实现

    AES(Advanced Encryption Standard)是一种对称加密算法,可用于对数据进行加密和解密。在本篇文章中,我们将介绍C语言中如何实现AES算法,并对实现过程进…

    编程 2025-04-29
  • 学习Python对学习C语言有帮助吗?

    Python和C语言是两种非常受欢迎的编程语言,在程序开发中都扮演着非常重要的角色。那么,学习Python对学习C语言有帮助吗?答案是肯定的。在本文中,我们将从多个角度探讨Pyth…

    编程 2025-04-29
  • Python被称为胶水语言

    Python作为一种跨平台的解释性高级语言,最大的特点是被称为”胶水语言”。 一、简单易学 Python的语法简单易学,更加人性化,这使得它成为了初学者的入…

    编程 2025-04-29
  • OpenJudge答案1.6的C语言实现

    本文将从多个方面详细阐述OpenJudge答案1.6在C语言中的实现方法,帮助初学者更好地学习和理解。 一、需求概述 OpenJudge答案1.6的要求是,输入两个整数a和b,输出…

    编程 2025-04-29
  • Python按位运算符和C语言

    本文将从多个方面详细阐述Python按位运算符和C语言的相关内容,并给出相应的代码示例。 一、概述 Python是一种动态的、面向对象的编程语言,其按位运算符是用于按位操作的运算符…

    编程 2025-04-29
  • Python语言由荷兰人为中心的全能编程开发工程师

    Python语言是一种高级语言,很多编程开发工程师都喜欢使用Python语言进行开发。Python语言的创始人是荷兰人Guido van Rossum,他在1989年圣诞节期间开始…

    编程 2025-04-28
  • Python语言设计基础第2版PDF

    Python语言设计基础第2版PDF是一本介绍Python编程语言的经典教材。本篇文章将从多个方面对该教材进行详细的阐述和介绍。 一、基础知识 本教材中介绍了Python编程语言的…

    编程 2025-04-28
  • Python语言实现人名最多数统计

    本文将从几个方面详细介绍Python语言实现人名最多数统计的方法和应用。 一、Python实现人名最多数统计的基础 1、首先,我们需要了解Python语言的一些基础知识,如列表、字…

    编程 2025-04-28
  • Python作为中心语言,在编程中取代C语言的优势和挑战

    Python一直以其简单易懂的语法和高效的编码环境而著名。然而,它最近的发展趋势表明Python的使用范围已经从脚本语言扩展到了从Web应用到机器学习等广泛的开发领域。与此同时,C…

    编程 2025-04-28
  • Python基础语言

    Python作为一种高级编程语言拥有简洁优雅的语法。在本文中,我们将从多个方面探究Python基础语言的特点以及使用技巧。 一、数据类型 Python基础数据类型包括整数、浮点数、…

    编程 2025-04-28

发表回复

登录后才能评论