C语言课程设计个人课程表管理系统报告.docx

上传人:b****5 文档编号:26441034 上传时间:2023-06-19 格式:DOCX 页数:33 大小:248.17KB
下载 相关 举报
C语言课程设计个人课程表管理系统报告.docx_第1页
第1页 / 共33页
C语言课程设计个人课程表管理系统报告.docx_第2页
第2页 / 共33页
C语言课程设计个人课程表管理系统报告.docx_第3页
第3页 / 共33页
C语言课程设计个人课程表管理系统报告.docx_第4页
第4页 / 共33页
C语言课程设计个人课程表管理系统报告.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

C语言课程设计个人课程表管理系统报告.docx

《C语言课程设计个人课程表管理系统报告.docx》由会员分享,可在线阅读,更多相关《C语言课程设计个人课程表管理系统报告.docx(33页珍藏版)》请在冰豆网上搜索。

C语言课程设计个人课程表管理系统报告.docx

C语言课程设计个人课程表管理系统报告

个人课程表管理系统

专业:

通信工程

班级:

通信1401

团队:

C.F

指导老师:

刘少昌

队长:

陈志强

队员:

蔡晶晶、陈超、刘勤、盛玉霞

设计时间:

2015年7月9日星期四

说明

*我们的课题是:

个人课程表管理系统

*选题的目的与意义:

我们的系统是为了更加方便的查询课程表,方便我们的大学校园生活而创建。

这个项目符合我们大一学生c语言水平,而且此课题新颖,可以充分锻炼我们团队思维能力。

*项目的主要功能描述:

一输入课程:

可根据个人需求,填写课程表信息。

二显示课程:

按照时间顺序显示。

三查询课表:

有以时间、课程名、查询。

四修改课程:

可以按照已有的课程信息,选择要修改课程的序号,可以修改已选序号的全部信息、时间、课程名、教室。

五删除课程:

可以按照已有的课程信息,选择要修改课程的序号,进行删除。

六保存文件保存文件

七退出程序:

退出程序。

 

*数据结构设计:

结构体设计structschedule

{

chartime[8];字符型课程时间

charlessonname[12];字符型课程名

charteacher[10];字符型授课老师

charclassroom[10];字符型教室

charhours[4];字符型第几节课

intweeks;整型周时

};

全局变量structschedulestr[100];

*函数原型设计

a)voidinput();/*声明输入函数*/

b)voidmenu1();/*声明主菜单函数*/

c)voidrank();/*声明显示时间顺序函数*/

d)voidquerymenu3();/*声明查询函数*/

e)voidlooktime();/*声明按照时间查询函数*/

f)voidlooklessonname();/*声明按照课程名查询函数*/

g)voidadd();/*声明保存函数*/

h)voidamend();/*声明修改课程函数*/

i)voidamend1();/*声明修改课程子函数*/

j)voidamendnews(inti);/*声明修改整个课程信息函数

k)voidamendtime(inti);/*声明修改课程时间函数*/

l)voidlessonname(inti);/*声明修改课程课程名函数*/

m)voidamendclassroom(inti);/*声明修改课程教室函数

n)voiddeleted();/*声明删除函数*/

程序

登陆界面

用户界面

输入课程表

保存文件表

显示课程表

查询课程表

修改课程表

删除课程表

课程时间

课程名

修改教室

修改课程名

总周时

授课老师

修改时间

教室

课程所有信息

第几节课

返回主菜单

按照课程查询

按照时间查询

*程序结构图:

 

voidmain()

登陆函数

voidmenu1();

显示用户界面函数

voidinput()输入函数

voidquerymenu3()查询函数

voiddeleted()删除函数

voidamend()修改函数

voidadd();保存函数

voidrank()显示函数

amendclassroom(inti)

修改教室函数

voamendlessonname(i

i);修改课程函数

voidamendtime(inti);

修改时间函数

voidamendnews(inti);

修改所有信息哈

voidlooklessonname()

课程查询函数

voidlooktime()时间查询函数

*函数结构图

 

*项目流程图

 

 

 

 

 

*登陆界面

*用户界面

*各项功能实现

输入课程表

显示课程表

查询课程表

修改课程表

删除课程表

保存文件

*运行程序注意事项、须知:

一、打开程序,登陆界面密码为:

123。

二、打开输入项目,输入的周时必须是整数且大于0,负责无法保存。

三、当输入菜单选项时,务必输入是整数,若不是,系统会错误,需按照程序提示输入。

 

*程序代码:

#include

#include

#include

#include

voidinput();/*声明输入函数*/

voidmenu1();/*声明主菜单函数*/

voidrank();/*声明显示时间顺序函数*/

voidquerymenu3();/*声明查询函数*/

voidlooktime();/*声明按照时间查询函数*/

voidlooklessonname();/*声明按照课程名查询函数*/

voidadd();/*声明保存函数*/

voidamend();/*声明修改课程函数*/

voidamend1();/*声明修改课程子函数*/

voidamendnews(inti);/*声明修改整个课程信息函数*/

voidamendtime(inti);/*声明修改课程时间函数*/

voidamendlessonname(inti);/*声明修改课程课程名函数*/

voidamendclassroom(inti);/*声明修改课程教室函数*/

voiddeleted();/*声明删除函数*/

structstudent

{

chartime[10];/*字符型时间*/

charlessonname[20];/*字符型课程名*/

charteacher[20];/*字符型授课老师*/

charclassroom[10];/*字符型教室*/

charhours[10];/*字符型第几节课*/

intweeks;/*字符型周时*/

};

structstudentstr[30];/*全局变量*/

voidmain()

{

charpassword[20];

inti,j;

system("color1a");/*设置颜色源网络资源*/

printf("\n");

printf("\t*************欢迎使用〖个人课程表管理系统〗程序************\n");

printf("\t*请输入登陆密码(三次输入机会)!

*\n");

printf("\t***********************************************************\n");

printf("\t用户名:

CombinedProgammingLanguage.Family\n");

for(i=1;i<4;i++)/*密码输入三次for循环*/

{

printf("\t第%d次输入密码:

",i);

for(j=0;(password[j]=getch())!

='\r';j++)/*输入密码*/

putch('*');/*每次输入的密码以*号覆盖隐藏*/

printf("\n");

password[j]='\0';/*字符串最后加结束符号*/

if((strcmp(password,"123"))==0)

{

printf("\t*密码正确,打开程序!

\n");

menu1();/*调用子函数meun1()*/

}

else

{

printf("\t*密码错误,请重新输入\n");

}

if(i==3)

{

printf("\t*您已输入三次,请重新登陆程序\n");

exit(0);

}

}

}

voidmenu1()/*主菜单*/

{

intnumber;

system("cls");

while

(1)

{

printf("\t**************欢迎使用〖课程表管理系统〗程序**************\n");

printf("\t*1.☆输入课程表☆*\n");

printf("\t*2.☆显示课程表☆*\n");

printf("\t*3.☆查询课程表☆*\n");

printf("\t*4.☆修改课程表☆*\n");

printf("\t*5.☆删除课程表☆*\n");

printf("\t*6.☆保存文件表☆*\n");

printf("\t*7.☆退出课程表☆*\n");

printf("\t┏********************************************************┓\n");

printf("\t*团队名:

c.f(CombinedProgammingLanguage.Family);*\n");

printf("\t*成员负责任务*\n");

printf("\t*1.蔡晶晶》》》》》》ppt制作程序项目分析*\n");

printf("\t*2.陈超》》》》》》ppt制作*\n");

printf("\t*3.陈志强》》》》》》代码编写*\n");

printf("\t*4.刘勤》》》》》》文档制作程序项目分析*\n");

printf("\t*5.盛玉霞》》》》》》文档制作*\n");

printf("\t*****************请输入选择的功能编号(1-7):

******************\n");

printf("\t输入:

");

scanf("%d",&number);

if(number<0||number>7)

{

printf("\t\t你输入的功能号错误,请重新输入,按Enter键继续!

!

\n");

system("cls");

continue;

}

switch(number)

{

case1:

input();break;/*调用输入函数*/

case2:

rank();break;/*调用显示函数*/

case3:

querymenu3();break;/*调用查询函数*/

case4:

amend();break;/*调用修改函数*/

case5:

deleted();break;/*调用删除函数*/

case6:

add();break;/*调用保存函数*/

case7:

printf("\t\t\t谢谢你的使用!

任意键退出程序!

\n");exit(0);

}

}

}

voidinput()/**/

{

inti=0,flag=1;

chara;

system("cls");

printf("\t****************************************************************\n");

printf("\t**您将会输入:

课程时间课程名授课老师教室第几节课总周时**\n");

printf("\t**输入内容如:

星期一C语言刘老师a1n2051-32**\n");

printf("\t****************************************************************\n");

while(flag)/*输入数据*/

{

printf("\t\t第%d个课程信息:

\n",i+1);

printf("\t\t课程时间:

");

scanf("%s",&str[i].time);

printf("\t\t课程名:

");

scanf("%s",str[i].lessonname);

printf("\t\t授课老师:

");

scanf("%s",str[i].teacher);

printf("\t\t教室:

");

scanf("%s",str[i].classroom);

printf("\t\t第几节课:

");

scanf("%s",str[i].hours);

printf("\t\t总周时:

");

scanf("%d",&str[i].weeks);

printf("\t*****************************************\n");

printf("\t**您好!

是否继续输入下个课程?

(Y/N)!

输入:

");

getchar();

scanf("%c",&a);

if(a=='y'||a=='Y')/*如果输入是y则输入下个数据*/

flag=1;

if(a=='n'||a=='N')/*如果输入是n则结束输入*/

{

flag=0;

printf("\t****************输入完成,任意键返回主菜单!

*************\n");

system("pause");

system("cls");

}

i++;

}

}

voidrank()

{

inti,j,flag;

structstudenttemp;

system("cls");

for(j=0;j<29;j++)/*从大到小排序*/

for(i=0;i<29-j;i++)

if(strcmp(str[i].time,str[i+1].time)<0)

{

temp.weeks=str[i].weeks;/*利用strpy函数字符串覆盖*/

strcpy(temp.time,str[i].time);

strcpy(temp.lessonname,str[i].lessonname);

strcpy(temp.teacher,str[i].teacher);

strcpy(temp.classroom,str[i].classroom);

strcpy(temp.hours,str[i].hours);

str[i].weeks=str[i+1].weeks;

strcpy(str[i].time,str[i+1].time);

strcpy(str[i].lessonname,str[i+1].lessonname);

strcpy(str[i].teacher,str[i+1].teacher);

strcpy(str[i].classroom,str[i+1].classroom);

strcpy(str[i].hours,str[i+1].hours);

str[i+1].weeks=temp.weeks;

strcpy(str[i+1].time,temp.time);

strcpy(str[i+1].lessonname,temp.lessonname);

strcpy(str[i+1].teacher,temp.teacher);

strcpy(str[i+1].classroom,temp.classroom);

strcpy(str[i+1].hours,temp.hours);/*此时排序为星期一星期五星期四三二不符合*/

}

j=0;/*把星期一移到最后位置*/

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

{/*判断周时不为0的个数*/

if(str[i].weeks!

=0)

j++;

}

for(i=0;i

{

temp.weeks=str[i].weeks;/*利用strpy函数字符串覆盖*/

strcpy(temp.time,str[i].time);

strcpy(temp.lessonname,str[i].lessonname);

strcpy(temp.teacher,str[i].teacher);

strcpy(temp.classroom,str[i].classroom);

strcpy(temp.hours,str[i].hours);

str[i].weeks=str[i+1].weeks;

strcpy(str[i].time,str[i+1].time);

strcpy(str[i].lessonname,str[i+1].lessonname);

strcpy(str[i].teacher,str[i+1].teacher);

strcpy(str[i].classroom,str[i+1].classroom);

strcpy(str[i].hours,str[i+1].hours);

str[i+1].weeks=temp.weeks;

strcpy(str[i+1].time,temp.time);

strcpy(str[i+1].lessonname,temp.lessonname);

strcpy(str[i+1].teacher,temp.teacher);

strcpy(str[i+1].classroom,temp.classroom);

strcpy(str[i+1].hours,temp.hours);

}

i=0;/*将已排序显示*/

flag=1;

printf("\t********************〖时间顺序显示〗**********************\n");

printf("\t序号\t时间\t课程名\t老师\t教室\t节时\t总周时\n");

while(flag)

{

if(str[i].weeks!

=0)

printf("\t%d\t%s\t%s\t%s\t%s\t%s\t%d\n",i+1,str[i].time,str[i].lessonname,str[i].teacher,str[i].classroom,str[i].hours,str[i].weeks);

else

flag=0;

i++;

}

printf("\t**********************************************************\n");

system("pause");

system("cls");

}

voidquerymenu3()/*查询函数*/

{

intnumber;

system("cls");

while

(1)

{

printf("\t┏**********欢迎使用〖查询课程子子菜单〗程序************┓\n");

printf("\t*1.☆按照时间查询☆*\n");

printf("\t*2.☆按照课程查询☆*\n");

printf("\t*3.☆返回主菜单☆*\n");

printf("\t*****************请输入选择的功能编号(1-6):

*****************\n");

printf("\t输入:

");

scanf("%d",&number);

if(number<0||number>3)

{

printf("\t\t你输入的功能号错误,请重新输入,按任意键继续!

!

\n");

system("cls");

continue;

}

switch(number)

{

case1:

looktime();break;/*调用查询函数*/

case2:

looklessonname();break;/*调用查询课程名函数*/

case3:

menu1();break;/*调用返回主菜单函数*/

}

}

}

voidlooktime()

{

inti=0,sum=0;

chartime1[8];

system("cls");

printf("\t***********欢迎使用〖以时间查询课程〗子程序****************\n");

printf("\t*****************请输入你想查询课表的时间:

");

scanf("%s",time1);

printf("\t序号\t时间\t课程名\t老师\t教室\t节时\t总周时\n");

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

{

if((strcmp(time1,str[i].time))==0)

{

printf("\t%d\t%s\t%s\t%s\t%s\t%s\t%d\n",i+1,str[i].time,str[i].lessonname,str[i].teacher,str[i].classroom,str[i].hours,str[i].weeks);

sum=sum+1;/*如输入查询的内容和课程相同则加一*/

}

}

if(sum==0)/*如果等于0则说明没有与输入查询内容相同*/

printf("\t*********************无此时间!

查询不到!

***********************\n");

printf("\t*******************按任意键返回查询子菜单:

********************\n");

system("pause");

system("cls");

querymenu3();

}

voidlooklessonname()

{

inti=0,sum=0;

charlessonname1[12];

system("cls");

printf("\t***********欢迎使用〖以课程名查询课程〗子程序****************\n");

printf("\t*****************请输入你想查询课表的课程名:

");

scanf("%s",lessonname1);

printf("\t序号\t时间\t课程名\t老师\t教室\t节时\t总周时\n");

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

{

if((strcmp(lessonname1,str[i].lessonname))==0)

{

printf(

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1