c程序设计学生选修课程系统.docx

上传人:b****1 文档编号:23127044 上传时间:2023-05-08 格式:DOCX 页数:14 大小:140.77KB
下载 相关 举报
c程序设计学生选修课程系统.docx_第1页
第1页 / 共14页
c程序设计学生选修课程系统.docx_第2页
第2页 / 共14页
c程序设计学生选修课程系统.docx_第3页
第3页 / 共14页
c程序设计学生选修课程系统.docx_第4页
第4页 / 共14页
c程序设计学生选修课程系统.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

c程序设计学生选修课程系统.docx

《c程序设计学生选修课程系统.docx》由会员分享,可在线阅读,更多相关《c程序设计学生选修课程系统.docx(14页珍藏版)》请在冰豆网上搜索。

c程序设计学生选修课程系统.docx

c程序设计学生选修课程系统

一、课程设计的题目和意义

题目五:

学生选修课程系统设计

假定有n门课程,每门课程有:

课程编号,课程名称,课程性质(公共课、必修课、选修课),总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。

试设计一选修课程系统,使之能提供以下功能:

1、系统以菜单方式工作

2、课程信息录入功能(课程信息用文件保存)

3、课程信息浏览功能

4、课程信息查询功能

查询方式

按学分查询

按课程性质查询

5、学生选修课程(可选项)

通过课程设计的实践环节的教学,可以加深学生对课堂所学基础知识的掌握与理解,提高学生对所学内容的综合运用能力;同时也可以通过查询相关资料,培养学生自学能力、接受新知识的能力,提高学习兴趣;增强学生程序设计能力,掌握编程技巧,并可培养学生实际上机调试程序的能力。

“理论与实践”相结合,使学生得到很好的锻炼,为以后学习、工作打下坚实的基础。

 

二、详细设计

1、模块功能介绍

题目:

学生选修课程系统设计:

课程信息包括:

课程编号、课程名称、课程性质、总学时、授课学时、实验或上机学时、学分、开课学期等。

试设计一学生选课系统,使之能提供以下功能:

选课信息录入功能(学生信息用文件保存)---输入

选课信息浏览功能---输出

查询功能---算法

按学分查询

按课程性质查询

进入选课信息操作

 

2、程序流程图

3、程序清单

#include

#include

#include

structcourse

{

intnum;

charname[20];

charkind[10];

inttime;

intttime;

intetime;

intmark;

intterm;

};

structstudent

{

intsnum;

intcnum;

charcname[20];

};

/*课程信息录入*/

voidinsert()

{

voidmain();

FILE*fp;

structcoursec;

intcount;

inti;

if((fp=fopen("course.txt","a+"))==NULL)

{

printf("cannotopenfile\n");

}

printf("\n请输入课程门数:

\n");

scanf("%d",&count);

printf("课程编号课程名称课程性质总学时授课学时实验或上机学时学分开课学期:

\n");

for(i=0;i

{

scanf("%d%s%s%d%d%d%d%d",&c.num,&c.name,&c.kind,&c.time,&c.ttime,&c.etime,&c.mark,&c.term);

fprintf(fp,"%d%s%s%d%d%d%d%d\n",c.num,c.name,c.kind,c.time,c.ttime,c.etime,c.mark,c.term);

}

fclose(fp);

main();

}

/*课程信息浏览*/

voidbrowser()

{

voidmain();

FILE*fp;

structcoursec;

inta;

if((fp=fopen("course.txt","r"))==NULL)

{

printf("\nCannotopencourse!

\n");

}

printf("课程编号课程名称课程性质总学时授课学时实验或上机学时学分开课学期:

\n");

for(;!

feof(fp);)

{

fscanf(fp,"%d%s%s%d%d%d%d%d\n",&c.num,&c.name,&c.kind,&c.time,&c.ttime,&c.etime,&c.mark,&c.term);

printf("%5d%12s%9s%9d%9d%11d%11d%11d\n",c.num,c.name,c.kind,c.time,c.ttime,c.etime,c.mark,c.term);

}

fclose(fp);

printf("\n1-返回主菜单;2-退出选课系统\n");

scanf("%d",&a);

if(a==1)

main();

else

exit(0);

}

/*课程信息查询*/

voidsearch()

{

voidmain();

FILE*fp;

structcoursec;

intscore;

charkind[10];

inta;

intb;

printf("1.按学分查询,2.按课程性质查询.\n");

printf("请选择查询方式,输入选项数字:

");

scanf("%d",&b);

if(b==1)

{

printf("\n请输入您要查询的学分:

\n");

scanf("%d",&score);

if((fp=fopen("course.txt","r"))==NULL)

{

printf("\nCannotopencourse!

\n");

}

printf("课程编号课程名称课程性质总学时授课学时实验或上机学时学分开课学期:

\n");

for(;!

feof(fp);)

{

fscanf(fp,"%d%s%s%d%d%d%d%d\n",&c.num,&c.name,&c.kind,&c.time,&c.ttime,&c.etime,&c.mark,&c.term);

if(c.mark==score)

printf("%5d%12s%9s%9d%9d%11d%11d%11d\n",c.num,c.name,c.kind,c.time,c.ttime,c.etime,c.mark,c.term);

}

}

elseif(b==2){

printf("\n请输入您要查询的课程性质:

\n");

scanf("%s",&kind);

if((fp=fopen("course.txt","r"))==NULL)

{

printf("\nCannotopencourse!

\n");

}

printf("课程编号课程名称课程性质总学时授课学时实验或上机学时学分开课学期:

\n");

for(;!

feof(fp);)

{

fscanf(fp,"%d%s%s%d%d%d%d%d\n",&c.num,&c.name,&c.kind,&c.time,&c.ttime,&c.etime,&c.mark,&c.term);

if(strcmp(c.kind,kind)==0)

printf("%5d%12s%9s%9d%9d%11d%11d%11d\n",c.num,c.name,c.kind,c.time,c.ttime,c.etime,c.mark,c.term);

}

}

else{

printf("输入错误!

");

exit

(1);

}

fclose(fp);

printf("\n1-返回主菜单;2-退出选课系统\n");

scanf("%d",&a);

if(a==1)

main();

else

exit(0);

}

/*统计选课情况*/

voidxuanke_information()

{

voidmain();

inttotal=0;

inta;

FILE*fp;

structstudents;

if((fp=fopen("student.txt","r"))==NULL)

{

printf("\nCannotopenstudent!

\n");

}

printf("学号课程编号课程名称\n");

for(;!

feof(fp);)

{

fscanf(fp,"%d%d%s\n",&s.snum,&um,&ame);

total++;

printf("%7d%9d%13s\n",s.snum,um,ame);

}

printf("\n选课学生总人数为:

%d人",total);

fclose(fp);

printf("\n1-返回主菜单;2-退出选课系统\n");

scanf("%d",&a);

if(a==1)

main();

else

exit(0);

}

/*学生选修课程*/

voidxuan_ke()

{

voidmain();

structstudents;

structcoursec;

inta;

FILE*fp;

printf("\n请输入您的学号及您要选择的课程编号:

");

scanf("%d%d",&s.snum,&um);

if((fp=fopen("course.txt","r"))==NULL)

{

printf("\nCannotopencourse!

\n");

}

for(;!

feof(fp);)

{

fscanf(fp,"%d%s%s%d%d%d%d%d\n",&c.num,&c.name,&c.kind,&c.time,&c.ttime,&c.etime,&c.mark,&c.term);

if(um==c.num)

break;

}

fclose(fp);

if((fp=fopen("student.txt","a+"))==NULL)

{

printf("\nCannotopenstudent!

\n");

}

fprintf(fp,"%d%d%s\n",s.snum,um,c.name);

fclose(fp);

printf("\n1-返回主菜单;2-退出选课系统\n");

scanf("%d",&a);

if(a==1)

main();

else

exit(0);

}

/*主菜单*/

voidmain()

{

intn,w=0;

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

printf("学生选课系统菜单\n");

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

printf("1-录入选课信息\n");

printf("2-浏览选课信息\n");

printf("3-查询选课信息\n");

printf("4-统计选课情况\n");

printf("5-进入选课操作\n");

printf("0-退出选课系统\n");

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

printf("请选择输入选项前数字:

");

scanf("%d",&n);

do

{

if(n>5||n<0)

{

printf("\n输入错误!

请重新输入!

\n");

scanf("%d",&n);

}

elsew=1;

}while(w==0);

switch(n)

{

case1:

insert();break;

case2:

browser();break;

case3:

search();break;

case4:

xuanke_information();break;

case5:

xuan_ke();break;

case0:

exit(0);

}

return;

}

4、系统运行结果

主菜单功能

选课信息录入

选课信息查询

选课学生统计

进入选课操作

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

当前位置:首页 > PPT模板 > 商务科技

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

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