学生选课系统Word文件下载.docx

上传人:b****5 文档编号:20456853 上传时间:2023-01-23 格式:DOCX 页数:12 大小:50.67KB
下载 相关 举报
学生选课系统Word文件下载.docx_第1页
第1页 / 共12页
学生选课系统Word文件下载.docx_第2页
第2页 / 共12页
学生选课系统Word文件下载.docx_第3页
第3页 / 共12页
学生选课系统Word文件下载.docx_第4页
第4页 / 共12页
学生选课系统Word文件下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

学生选课系统Word文件下载.docx

《学生选课系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《学生选课系统Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。

学生选课系统Word文件下载.docx

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年月日

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

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

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

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