[计算机]c语言课程表源代码
(5页)
本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!
14.90 积分
#include #include #include char course[10][7][10]; //用于存储课程表中的课程void saveCourse();//实现课表菜单显示功能void menu(){ printf("********************课表系统菜单*********************************\n"); printf("*******************1.显示课表************************************\n"); printf("*******************2.修改课表************************************\n"); printf("*******************3.保存课表************************************\n"); printf("*******************4.新建课表************************************\n"); printf("*******************0.退出****************************************\n");}//实现课表输出功能函数void PrintCourse(){ FILE * fp; char times[10][6]={"8:00","8:55","10:00","10:55","14:00","14:55","16:00","16:55","19:00","19:55"}; //设置课程时间 int i,j; /*打开课程存储文件,并输出*/ if((fp=fopen("d:\\course.txt","r"))==NULL) //文件存储路径必须与保存文件路径相同 { printf("cannot open this file\n"); exit(1); } printf("-----------------------------------------------------------------\n"); printf("时间 星期一 星期二 星期三 星期四 星期五 星期六 星期日 |\n"); printf("-----------------------------------------------------------------\n"); for(i=0;i<10;i++) { printf("%5s\t",times[i]); for(j=0;j<7;j++) { fscanf(fp,"%s",course[i][j]); //将文件中的每一个数据读入对应数组元素中 printf("%-8s",course[i][j]); //-8s表示每个数据以8位左对齐输出 } printf("|"); printf("\n"); printf("-----------------------------------------------------------------\n"); if(i%4==3) printf(" |\n"); //将上、下、晚课程分开 } fclose(fp);}//实现课程修改void modifyCourse(){ char temp[10]; char s; int date,time; char reCourse[10]; printf("输入你想要修改的课程时间(星期1~7):"); scanf("%d",&date); while(date<1||date>7) //确保输入时间合理 { printf("输入时间不合理,请重新输入?"); scanf("%d",&date); } printf("输入你想要修改的课程课次(1~10):"); scanf("%d",&time); while(time<1||time>10) //确保输入课次合理 { 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); //如果选择不保存,course.txt中的数据不变 }}//保存课程表void saveCourse(){ FILE * fp; int i,j; if((fp=fopen("d:\\course.txt","w"))==NULL) //创建文件保存课程数据,文件路径可以任意选择 { printf("cannot open this file\n"); exit(1); } for(i=0;i<10;i++) { for(j=0;j<7;j++) { fprintf(fp,"%-8s ",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<10;j++) { scanf("%s",course[i][j]); } } saveCourse();}void main(){ int select; int sign=1; char contin; FILE * fp; int i,j; if((fp=fopen("d:\\course.txt","r"))==NULL) { printf("cannot open this file\n"); exit(1); } for(i=0;i<10;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>4) { printf("您的输入不合法,请重新再输入!\n"); scanf("%d",&select); } switch(select) { case 1: PrintCourse(); break; case 2: modifyCourse(); break; case 3: saveCourse(); break; case 4: newCourse(); break; case 0: printf("谢谢使用!\n"); sign=0; break; } printf("是否继续操作(Y|y表示继续,其它任意键表示退出)? "); getchar(); scanf("%c",&contin); if(contin!='Y'&&contin!='y') { sign=0; } }} 关 键 词: 计算机 语言 课程表 源代码
天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。