C语言实现课程表

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
#include<windows.h>
#include<mmsystem.h>
#pragma comment(lib,"WINMM.LIB")char course[99][99][99];void menu() //菜单显示
{printf("************这是周晗的课程作业*************\n");printf("***************课表系统菜单****************\n");printf("***************1.显示课表******************\n");printf("***************2.修改课表******************\n");printf("***************3.保存课表******************\n");printf("***************4.新建课表******************\n");printf("***************5.查看当前课程**************\n");printf("***************0.退出**********************\n");
}void print()  //课程表输出函数
{FILE *fp;char time[6][99]={"1-2节(8:00~9:40)","3-4节(10:10~11:50)","5-6节(13:45~15:25)","7-8节(15:55~17:35)","9-10节(19:00~20:00)","11-12节(20:00~21:00)"};//设置时间int i,j;if((fp=fopen("E:\\course.txt","r"))==NULL){printf("can't open this file\n");exit(1);}printf("--------------------------------------------------------------------------------------------------------\n");printf("时间                      星期一      星期二      星期三      星期四      星期五      星期六      星期天\n");printf("--------------------------------------------------------------------------------------------------------\n");for(i=0;i<6;i++)                                    //将课程表从文件中读出{printf("%10s\t",time[i]);for(j=0;j<7;j++){fscanf(fp,"%s",course[i][j]);printf("%-13s",course[i][j]);}printf("\n");printf("--------------------------------------------------------------------------------------------------------\n");}fclose(fp);//recenttime();printf("\n\n");}void change()//修改函数
{char temp[10];char s;int date,time;char recourse[20];printf("输入你想要改的课程时间(星期1~7)");scanf("%d",&date);while(date<1||date>7){printf("输入时间不合理,重新输入");scanf("%d",&date);}printf("输入你想要改的课程课次(1~6),注:如果没课请输入无");scanf("%d",&time);while(date<1||date>6){printf("输入时间不合理,重新输入");scanf("%d",&time);}printf("你要将原来的课程修改为:");scanf("%s",recourse);strcpy(temp,recourse);getchar();strcpy(course[time-1][date-1],recourse);printf("是否保存(1 表示保存,否则不保存)");scanf("%c",&s);if(s=='1')savecourse();else{strcpy(course[time-1][date-1],temp);}
}int savecourse()//保存函数
{FILE *fp;int i,j;if((fp=fopen("E:\\course.txt","w"))==NULL){printf("can't open this file");exit(1);}for(i=0;i<6;i++){for(j=0;j<7;j++)fprintf(fp,"%-13s",course[i][j]);fprintf(fp,"\n");}fclose(fp);printf("保存成功!\n");
}void newcourse()//课表重置函数
{int i,j;printf("请一次输入一周的课程按回车开始\n");for(i=0;i<7;i++){printf("请按从早到晚的顺序输入第%d天的课程,每天6节课,注:如果没课请输入无:",i+1);for(j=0;j<6;j++)scanf("%s",course[j][i]);}savecourse();
}void recenttime()
{struct tm *ptr;
time_t it;
int y,d,m,iWeek,h,min,l,c;
char s[99];
it=time(NULL);
ptr=localtime(&it);
y=ptr->tm_year+1900;
d=ptr->tm_mday;
m=ptr->tm_mon+1;
h=ptr->tm_hour;
min=ptr->tm_min;                                                              //时间转换程序
printf("当前时间为%4d年%02d月%02d日 %d:%d:%d ",ptr->tm_year+1900,ptr->tm_mon+1,ptr->tm_mday,ptr->tm_hour,ptr->tm_min,ptr->tm_sec);iWeek=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;switch(iWeek){case 0: strcpy(s,"星期一");printf("%s\n",s); break;case 1: strcpy(s,"星期二");printf("%s\n",s); break;case 2: strcpy(s,"星期三");printf("%s\n",s); break;case 3: strcpy(s,"星期四");printf("%s\n",s); break;case 4: strcpy(s,"星期五");printf("%s\n",s); break;case 5: strcpy(s,"星期六");printf("%s\n",s); break;case 6: strcpy(s,"星期天");printf("%s\n",s); break;}if((h<8||h>19)||h==9||h==11||h==12||h==13||h==15||h==17||h==18){printf("当前无课");exit(1);}switch(h){case 8:l=0;break;case 10:l=1;break;case 13:l=2;break;case 15:l=3;break;case 19:l=4;break;case 20:l=5;break;}if(strcmp(s,"星期一")==0) c=0;if(strcmp(s,"星期二")==0) c=1;if(strcmp(s,"星期三")==0) c=2;if(strcmp(s,"星期四")==0) c=3;if(strcmp(s,"星期五")==0) c=4;if(strcmp(s,"星期六")==0) c=5;if(strcmp(s,"星期天")==0) c=6;printf("要上的课程为 %s\n",course[l][c]);}int main()
{int select;int sign=1;char contin;FILE *fp;int i,j;if((fp=fopen("E:\\course.txt","r"))==NULL){printf("文件夹中没有课程表文件,请先输入4进行新建课表\n");}for(i=0;i<6;i++){for(j=0;j<7;j++)fscanf(fp,"%s",course[i][j]);}fclose(fp);while(sign){menu();printf("请输入操作:");scanf("%d",&select);while(select<0||select>5){printf("你输入的操作不合法,请重新输入");scanf("%d",&select);}switch(select){case 1:print();break;case 2:change();sign=1;break;case 3:savecourse();break;case 4:newcourse();break;case 5:recenttime();break;case 0:printf("谢谢使用");sign=0;break;default:break;}}}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/36732.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安卓课程表

https://download.csdn.net/download/weixin_57836618/72364964

Android课程表客户端实现方案

客户端开发 1. 开发环境 开发平台&#xff1a;Android Studio 开发语言&#xff1a;Java api&#xff1a;Android 7.0 N api 24 2. 课程格子显示 ScrollView拉动显示下方格子&#xff0c;采用相对布局 即可自定义格子大小&#xff0c;方便阅读简略信息&#xff0c;并可下…

做个课程表吧(一)

手机端的课程表种类繁多&#xff0c;但电脑端的课程表种类却很少&#xff0c;也不支持自动导课。既然这样就让我们来造个课程表吧。 文章目录 获取课程表 制作课程表读取JSON数据获取课程格式化课程表创建窗体显示课程 全部代码 获取课程表 首先我们先去获取课程表。登录教务…

【微信小程序】课程表案例--0基础版

目录 &#x1f52e; 效果动图&#xff1a; &#x1f340;准备工具 &#x1f333;准备代码&#xff1a; &#x1f31e;部署项目 &#x1f9a0;修改课程时间 &#x1f9a0;修改课程内容 &#x1f9a0;修改标题 &#x1f9a0;修改底部导航栏 &#x1f34d;项目发布 &…

多表查询-学生表,班级表,课程表,班级课程表

多表查询&#xff1a; 学生表、班级表、课程表、班级课程表 -- 多对多 -- 班级表 CREATE TABLE banji( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR (10) NOT NULL ); INSERT INTO banji( name ) VALUES ( java1807 ),( java1812 ); SELECT * FROM banj…

android课程表

最近开发的android版课程表&#xff0c;已经打包&#xff0c;欢迎使用。 已更新到了1.2版本&#xff0c;美化了界面显示效果&#xff0c;使显示更加美观。 使用截图如下&#xff1a; 联系邮箱&#xff1a;wangtian.rui163.com 新浪微博&#xff1a;http://weibo.com/tianru…

课程表小程序(0基础从入门到发布,做给同学们看)

个人主页&#xff1a;个人主页 系列专栏&#xff1a;前端小项目 热爱前端&#xff0c;有共同兴趣的小伙伴&#xff0c;一起交流哦。 &#x1f52e; 效果动图&#xff1a; 目录 &#x1f340;准备工具 &#x1f333;准备代码&#xff1a; &#x1f31e;部署项目 &#x1f9a…

创建学生表,课程表,班级表,班级课程表

首先创建班级表&#xff0c;因为班级跟学生为一对多关系&#xff0c;先创建班级表能在学生表中插入外键 班级表 CREATE TABLE banji(id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(10) NOT NULL ); INSERT INTO banji(name)VALUES(class1),(class2); SELECT * FROM banji;…

用HTML设计一个课程表

用HTML设计一个课程表 如下是其效果图&#xff1a; 其HTML的代码&#xff1a; <html > <head> <title>课程表 自我创作</title> </head> <body bgcolor "lightblue"> <table b…

android实现课程表界面

这是我第一次写博客&#xff0c;也是刚开始学习android&#xff0c;做了一个课程表界面的小练习。做的过程中遇到了一些问题也参考了许多人的解决方法&#xff0c;希望在这里总结下&#xff0c;就当做学习笔记。如果能对那些像我一样的初学者有一点点帮助就更好啦&#xff0c;要…

微信课程表小程序(0基础教你用,从入门到发布)

微信小程序课程表&#xff0c;微信小程序开发 目录 1.效果图&#xff1a; 2.准备工具&#xff1a; 3.下载代码 4.部署项目 1.打开微信小程序&#xff1a; 2.AppID查看方式: 3.拿出你的小手机扫码、 5.修改课程 6.项目发布 演示&#xff1a; 1.效果图&#xff1a; 2.准备工…

课程表管理系统

课程表管理系统 1.学生/教师用户登录界面 2.首页 3.课程详细 4.保存csv功能 5.管理员登录界面 6.管理员后台界面 7.代码详解 8.项目部署 课程表管理系统 1.学生/教师用户登录界面 2.首页 3.课程详细 点击已有课程&#xff0c;可弹出课程详细数据。 4.保存csv功能 点击…

Android课程表App

最近写了个简单的Android 课程表App,我是个初学者,这个App里使用了&#xff1a; Android内置的SQLite数据库储存课程数据。课程的视图用CardView卡片视图。 课程的View是动态加入的,动态添加View的好处是很灵活 如果靠静态的XML构建的话就有点难扩展了&#xff0c;因为你不知道…

微信小程序实现课程表

1.实现效果 2.实现步骤 2.1 获取当前日期一周数据 Date.getDay(): getDay() 方法返回指定日期是星期几&#xff08;从 0 到 6,星期日为 0&#xff0c;星期一为 1&#xff0c;依此类推。&#xff09;。 var d new Date();//2022-8-11 var n d.getDay();//4--周四Date.getDate…

学生表,选课表,课程表

课后作业 一、用Navicat Premium 12软件创建三张表&#xff1a;学生表、选课表、课程表 学生表(学号, 姓名, 性别, 年龄, 电话) - 学号是字符串类型 选课表(学号, 课程号, 成绩) 课程表(课程号, 课程名, 课时数) - 课程号是字符串类型 学生表&#xff1a; 选课表&#xff1a; …

Android课程表的设计开发

Android课程表的设计开发 下载链接 鉴于很多人需要源码&#xff0c;这里给下代码。 下载地址&#xff08;需要5积分&#xff0c;支持下&#xff08;积累点积分。。。&#xff09;&#xff0c;没有积分的直接留言邮箱&#xff0c;我发给你或者找其他已经发过的人要下&#xf…

超级课程表课表的界面的实现

由于毕业设计有一个功能模块是课程表,就想模仿一下超级课程表的界面,可是开始做的时候却没有一点头绪,百度google均无果,在CSDN和知乎上提问了也没人回答,总之自己鼓捣了几天还是弄出来了,虽然实现的方法很挫。。。因为有好几个人都发私信问我怎么实现的,现在毕设做完了…

尤瓦尔最新演讲:人工智能不需要意识就可以毁灭人类文明

我们现在必须与一种新的大规模杀伤性武器作斗争&#xff0c;这种武器可以消灭我们的精神和社会世界。核武器和人工智能最大的区别是&#xff0c;核武器不能制造更强大的核武器。 但人工智能可以产生更强大的人工智能&#xff0c;所以我们需要在人工智能失去控制之前迅速采取行动…

chatgpt赋能python:Python绘制雷达图教程

Python绘制雷达图教程 在数据分析和可视化中&#xff0c;雷达图是一种非常有用的可视化工具&#xff0c;用于显示多个变量的相对大小。在这篇文章中&#xff0c;我们将介绍如何使用Python绘制雷达图&#xff0c;使用Matplotlib和Seaborn这两个Python数据可视化库。 准备数据 …

测试职业的发展方向

测试职业转型 很多工作了几年的测试人员都会产生迷惘&#xff0c;随着经验的累积和技能的提升&#xff0c;会有一个瓶颈期。未来应该往哪个方向发展&#xff0c;之前说过做测试要懂得很多技能和知识。正因为如此测试可以发展的方向选择面就非常广了&#xff0c;既可以继续在测试…