栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

有很多功能的课程表,C语言大作业300行

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

有很多功能的课程表,C语言大作业300行

#include
#include
#include
#include
#include
#include
#pragma comment(lib,"Winmm.lib")

int savecourse();
void change();
void newcourse();
void print();
char course[99][99][99];
int MultiplicationTable(); 
int common_mon[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int   leap_mon[12] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
void color(const unsigned short textColor)
{
    if(textColor>=0 && textColor<=15)
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), textColor);
    else
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7);
}

void menu()
{
    printf("╔══════════════学生系统菜单══════════════╗n"); 
    printf("║---------------1.显示课表---------------║n");
    printf("║---------------2.修改课表---------------║n");
    printf("║---------------3.新建课表---------------║n");
    printf("║---------------4.系统时间---------------║n");
    printf("║---------------5.数学计算---------------║n");
    printf("║---------------6.乘法口诀---------------║n");
    printf("║---------------7.公元年历---------------║n");
    printf("║---------------8.版本信息---------------║n");
    printf("║---------------9.制作人员---------------║n");
    printf("╚═══════════════0.退出程序═══════════════╝n");
}


void print()
{
    FILE *fp;
    char time[5][99]={"1-2节(8:00-9:40)","3-4节(10:15-11:55)","5-6节(14:00-15:40)","7-8节(16:15-17:55)","9-10节(19:00~20:40)"};
    int i,j;
    if((fp=fopen("course.txt","r"))==NULL)
    {
        printf("课表文件不存在,即将创建空课表n");
        savecourse();
    }
    printf("-----------------------------------------------------------------------------------------------------------n");
    printf("星期                     一           二           三           四           五           六           日n");
    printf("-----------------------------------------------------------------------------------------------------------n");
    for(i=0;i<6;i++)
    {
        printf("%10st",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);
    printf("nn");

}

void change()
{
    char temp[10];
    char s;
    int date,time;
    char recourse[20];
    printf("输入你想要改的课程时间:");
    scanf("%d",&date);
    while(date<1||date>7)
    {
        printf("输入时间不合理,重新输入");
        scanf("%d",&date);
    }
    printf("输入你想要改的课程课次:");
    scanf("%d",&time);
    while(date<1||date>7)
    {
        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("course.txt","w+"))==NULL)
    {
        fp = fopen("course.txt","w+");
        printf("未找到课程表文件,已创建新文件,请重新打开程序以初始化");
        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天的课程",i+1);
        for(j=0;j<5;j++)
            scanf("%s",course[j][i]);
    }
    savecourse();
}
int PCtime()
    { 
        time_t  t;
         struct  tm  * lt;
         time  (&t);
         lt =  localtime  (&t);
         printf  (  "%d/%d/%d %d:%d:%dn" ,lt->tm_year+1900, lt->tm_mon, lt->tm_mday, lt->tm_hour, lt->tm_min, lt->tm_sec);           
    }
int calculator()
    {
    float a,b,c;
    char d;
    int sign=0;
    printf("输入数字与字符并按回车进行计算,进行一次计算后程序自动退出n");
    scanf("%f%c%f",&a,&d,&b);
    if(d=='+'){
        c=a+b;
    }
    else if(d=='-'){
        c=a-b;
    }
    else if(d=='*'){
        c=a*b;
    }
    else if(d=='/'&&b!=0) {
        c=a/b;
    }
    else if(d=='/'&&b==0) {
        printf("dat is 0!Error!n");
    }
    else {
        printf("Error!n");
    }
    printf("%.2f%c%.2f=%.2fn",a,d,b,c);
}
int MultiplicationTable()
{
  int i,j,k;
  for(i=1;i<=9;i++)
    {
      for(k=1;k         printf("    ");
      for(j=i;j<=9;j++)
        {
          printf("%4d",i*j);
        }
      printf("n");
    }
}
void printBlank(int n)
{
    if(n==7) n=0;
    for(int i=0; i         printf("      ");
}
void printCalendar(int weekday, int *p)
{
    for(int i=0; i<12; i++){
        printf("=================%d月=====================n", i+1);
        printf("Sun  Mon   Tue   Wed   Thu   Fri   Satn");
        printBlank(weekday);
        for(int j=1; j<=p[i]; j++){
            printf("%-6d", j);
            if(weekday==6) printf("n");
            weekday++;
            if(weekday==8) weekday=1;
        }
        printf("nn");
    }
}
int calender()
{
    int y;
    int sign=1;
    printf("请输入要查询的公元年份(大于公元一年):"); 
    while(scanf("%d", &y)!=EOF){
        int temp = 1;
        for(int i=1; i<=y; i++){
            if(temp > 7) temp -= 7;
            if((i%4==0&&i%100!=0)||i%400==0){
                if(i==y) printCalendar(temp, leap_mon);
                temp += 2;
            }
            else{
                if(i==y) printCalendar(temp, common_mon);
                temp++;
            }
        }
    break;
    }
}
void main()
{ 
    printf("**********欢迎使用21世纪学生终端**********n");
    
    printf("*************当前版本v0.10.6α*************n");
    
    int select;
    
    int sign=1;
    
    char contin;
    
    FILE *fp;
    
    int i,j;
    
    if((fp=fopen("course.txt","r"))==NULL)
    
    {
        
        printf("文件夹中没有课程表文件,请先输入1或3进行新建课表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>9)
        {
            printf("你输入的操作不合法,请重新输入");
            scanf("%d",&select);

        }
            switch(select)
        {
           case 1:print();break;
           case 2:change();sign=1;break;
           case 3:newcourse();break;
           case 4:PCtime();sign=1;break;
           case 5:calculator();sign=1;break;
           case 6:MultiplicationTable();sign=1;break;
           case 7:calender();sign=1;break;
           case 8:printf("当前版本0.10.6αn");
                     printf("v0.10.1α------第一个能用的版本,只有课程表功能,可以修改并保存课程表,需要手动创建课程表文件n"); 
                     printf("v0.10.2α------检测到缺少课程表文件可以自动创建,并要求输入课表n"); 
                     printf("v0.10.3α------添加时钟功能,但是无法实时显示n");
                     printf("v0.10.4α------添加计算器,对文本进行小修改以改善美观度n");
                     printf("v0.10.5α------更改了题头出现次数,现在它只会出现一次n");
                     printf("v0.10.6α------添加万年历功能,可以输出任意公元后的公元年历n");
                     break; 
           case 9:color(14);
                     printf("作者:n");
                     printf("淡水鱼n");
                     color(2);
                     printf("特别鸣谢:n");
                     color(4);
                     printf("超逊的彬彬n");
                     color(3);
                     printf("Su_Pengn");
                     color(6);
                     printf("Febrie(>﹏<)n");
                     color(9);
                     printf("横扫八方狂龙杀神n");
                     color(12);
                     printf("三木n");
                     color(16);
                     break; 
           case 0:printf("程序已退出");sign=0;break;
           default:break;
        }
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/953770.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号