学生选课系统Word文件下载.docx
- 文档编号:20456853
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:12
- 大小:50.67KB
学生选课系统Word文件下载.docx
《学生选课系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《学生选课系统Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。
1.2主要任务2
2解决问题的主要思路和方法2
2.1关键问题2
2.2拟采用解决问题的方法2
2.3主要算法和处理流程图2
3程序实现3
3.1程序实现时应考虑的问题3
3.2主要源代码及说明4
4测试7
4.1测试结果及分析7
5小结8
5.1本问题解决方法及程序实现小结8
5.2尚未解决的问题以及下一步工作思路8
6致谢8
参考文献8
摘要
这次程序设计是为了锻炼大家的编程能力,进一步提高动手操作能力,小组人员齐心合力,攻克每一个难题,尽力把程序编的更准确简洁,共同完成这个小组任务,培养了团结合作的能力,这次编程取得了巨大的成功,离不开大家的共同努力和相互帮助。
1随着社会的发展,学生的人数和课程的种类急速增加,传统的选课管理模式已经无法满足当前的实际需求,为此,我们开发了学生选课管理系统。
2系统可以实现学生选课的一些重要功能,如:
课程的添加、删除,信息查询、选课、生成课表,以及学生选课管理人员、用户个人信息的维护等。
3本人结合学生选课管理的实际需要,完成了对学生选课管理系统的需求分析、功能模块划分,并由此设计了应用程序。
关键词:
学生选课系统课程信息学生信息
1问题要求及任务描述
1.1题目要求
1.2主要任务
(1)系统以菜单方式工作。
(2)课程信息和学生选课信息录入功能。
(3)课程信息浏览功能。
(4)查询功能。
(5)按学分查询。
(6)某门课程学生选修情况。
2解决问题的主要思路和方法
2.1关键问题
2.2拟采用解决问题的方法
在此陈述解决问题的思路,准备使用的算法和数据结构等等。
1.使用文件指针存储学生信息和课程信息。
2.建立菜单主函数实现程序的运行。
3.使用函数嵌套、递归等方法。
4.建立数据库存储相应的信息。
2.3主要算法和处理流程图
关键的数据流程图
退出
图1-1流程图
3程序实现
3.1程序实现时应考虑的问题
函数调用关系
1,课程管理主函数
(1)录入课程主函数
(2)课程管理子函数
a,增加课程
b,删除课程
(3)录入学生信息子函数
2,学生信息管理主函数
(1)录入学生信息子函数
a,从键盘录入
b,从文件录入
(2)学生信息管理子函数
a,添加学生信息
b,删除学生信息
3,学生选课主函数
(1)学生选课子函数
a,查询可选课程
b,查询已选课程
4,信息主函数
(1)储存课程信息
(2)储存学生信息
(3)输出课程信息
(4)输出学生信息
3.2主要源代码及说明
voidfilec()//录入键盘子函数(从文件录入)
{
FILE*fp;
charfilepath[20];
structcouse*p1,*p2;
N1=0;
printf("
输入要读入的文件路径:
"
);
getchar();
gets(filepath);
if((fp=fopen(filepath,"
r"
))==NULL)
{
找不到%s文件!
\n"
filepath);
exit(0);
}
p1=p2=(structcouse*)malloc(sizeof(structcouse));
fscanf(fp,"
%d%s%d%d%d"
&
p1->
num1,p1->
name1,&
score,&
nelepeo,&
Melepeo);
head1=NULL;
while(!
feof(fp))
{
N1=N1+1;
if(N1==1)head1=p1;
elsep2->
next=p1;
p2=p1;
p1=(structcouse*)malloc(sizeof(structcouse));
p2->
next=NULL;
}
voidfiles()//录入学生信息子函数(从文件录入)
inti=0;
structstudent*p1,*p2;
N2=0;
p1=p2=(structstudent*)malloc(sizeof(structstudent));
fread(p1,sizeof(structstudent),1,fp);
head2=NULL;
i=0;
N2=N2+1;
if(N2==1)head2=p1;
p1=(structstudent*)malloc(sizeof(structstudent));
voidinserts(structstudent*incouse)//学生信息管理子函数(填加学生信息)
structstudent*p0,*p1,*p2;
p1=head2;
p0=incouse;
if(head2==NULL)
head2=p0;
p0->
}
else
while((p0->
num2>
p1->
num2)&
&
(p1->
next!
=NULL))
p1=p1->
next;
if(p0->
num2<
=p1->
num2)
if(head2==p1)head2=p0;
next=p0;
voiddels(intnum2)//学生信息管理子函数(删除学生信息)
\n没有该学生信息,无法删除!
gotoend;
while(num2!
=p1->
num2&
=NULL)
if(num2==p1->
if(p1==head2)head2=p1->
next=p1->
已删除该学生信息!
N2=N2-1;
elseprintf("
无该学号的学生!
end:
;
4测试
4.1测试结果及分析
图4-1菜单
图4-2查询
图4-3学生选课
图4-4课程管理
图4-5学生信息管理
5小结
5.1本问题解决方法及程序实现小结
本系统以菜单方式工作,简单易操作;
使用文件指针储存学生信息和课程信息,使用函数嵌套,递归等方法设计程序,从学生的角度思考程序所需要实现的一些功能,例如:
课程信息浏览,某门课程学生选修情况,以及相关的查询功能。
需要声明的部分,如:
intnum1;
charname1[20];
intscore;
intnelepeo;
//课程已选人数intMelepeo;
//课程人数上限都已在程序中做了很好的声明。
使程序更好的执行,看起来也更简单明了。
5.2尚未解决的问题以及下一步工作思路
该程序设计的功能不够强大,如:
不能给学生一些选课的建议或推荐一些课程的组合。
下一步的工作,小组会进一步改进程序,使之具有更加强大的功能,以及增加它的实用性,让这个程序能够发挥它最大的作用。
6致谢
首先要感谢学校为我们提供这一周的C语言实训机会,这让我们对于C语言有了更加深刻的认识,在平时我们上课有些不懂的地方也通过这次的实训懂了更多。
其次要感谢我们的指导老师刘莉,在这次实训中我们遇到许多困难和不懂的地方,但是刘莉老师耐心的为我们解答,才能让我们的实训进行的更加顺利。
最后要感谢的是我的两位组员,在本次实训中,每个组员分工明确,每个人都付出了汗水和努力,也让我们明白了只有团结,才能更好的解决问题。
参考文献
[1]AndrewS.Tanenbaum.计算机网络.北京:
清华大学出版设.1998.
[2]关丽荣,张晓坤.Java经典实例.北京:
中国电力出版社.2009.
[3]许勇,李杰C语言程序设计教程.重庆大学出版设.2011.
[4]裘宗燕著,从问题到程序科学出版设.北京大学出版设.1999.
[5]谭浩强.C语言设计(第二版),清华大学出版社.1999.
[6]刘瑞挺.计算机二级教程,南京大学出版设.1998.
安徽师范大学皖江学院
课程设计成绩评定单
题目:
计算机组装与维护
学生姓名
学号
成绩
指导教师
刘莉
张俊
1371100
吴鸿飞
1371
张涛
1371104
徐超
1371085
指导教师评语:
指导教师评定
设计成绩等级
指导教师(签章):
201年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 选课 系统