学生选课系统说明书.docx

上传人:b****2 文档编号:2233656 上传时间:2023-05-03 格式:DOCX 页数:23 大小:287.47KB
下载 相关 举报
学生选课系统说明书.docx_第1页
第1页 / 共23页
学生选课系统说明书.docx_第2页
第2页 / 共23页
学生选课系统说明书.docx_第3页
第3页 / 共23页
学生选课系统说明书.docx_第4页
第4页 / 共23页
学生选课系统说明书.docx_第5页
第5页 / 共23页
学生选课系统说明书.docx_第6页
第6页 / 共23页
学生选课系统说明书.docx_第7页
第7页 / 共23页
学生选课系统说明书.docx_第8页
第8页 / 共23页
学生选课系统说明书.docx_第9页
第9页 / 共23页
学生选课系统说明书.docx_第10页
第10页 / 共23页
学生选课系统说明书.docx_第11页
第11页 / 共23页
学生选课系统说明书.docx_第12页
第12页 / 共23页
学生选课系统说明书.docx_第13页
第13页 / 共23页
学生选课系统说明书.docx_第14页
第14页 / 共23页
学生选课系统说明书.docx_第15页
第15页 / 共23页
学生选课系统说明书.docx_第16页
第16页 / 共23页
学生选课系统说明书.docx_第17页
第17页 / 共23页
学生选课系统说明书.docx_第18页
第18页 / 共23页
学生选课系统说明书.docx_第19页
第19页 / 共23页
学生选课系统说明书.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

学生选课系统说明书.docx

《学生选课系统说明书.docx》由会员分享,可在线阅读,更多相关《学生选课系统说明书.docx(23页珍藏版)》请在冰点文库上搜索。

学生选课系统说明书.docx

学生选课系统说明书

 

山东建筑大学计算机科学与技术学院

课程设计说明书

 

题目:

学生选课系统

课程:

C/C++课程设计

院(部):

计算机科学与技术学院

专业:

计算机科学与技术

班级:

计科143

学生姓名:

肖洋

学号:

20141111099

指导教师:

夏传良

完成日期:

2015//12//30

目录

1、课程设计目的1

2、课程设计任务1

3、学生选课系统2

4、参考文献12

5、课程设计总结13

1、课程设计目的

本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学习完《C/C++语言》课程后进行的一次全面的综合练习。

本课程设计的目的和任务:

(1)巩固和加深学生对C/C++课程的基本知识的理解和掌握;

(2)掌握C/C++编程和程序调试的基本技能;(3)利用C/C++进行简单软件设计的基本思路和方法,初步理解面向过程和面向对象的编程思想;(4)提高运用C/C++解决实际问题的能力;(5)掌握书写程序设计说明文档的能力。

(6)培养实际操作能力,为以后的工作打下坚实的基础

2、课程设计任务

设计题目

学生选课系统

已知技术参数和设计要求

假定有N门课程,每门课程有课程编号,课程名称,课程性质,学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于15)自由选课。

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

1、系统以菜单方式工作

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

3、课程信息浏览功能

4、查询功能

5、按学分查询

6、某门课程学生选修情况(可选项)

设计内容与步骤

1、模块化程序设计。

2、具体数据结构的定义及其处理数据算法的设计。

3、锯齿型程序书写格式。

4、程序设计、实现、调试。

5、课程设计说明书。

设计工作计划与进度安排

1、程序设计10学时。

2、实现与调试6学时。

3、课程设计说明书4学时。

设计考核要求

1、考勤20%。

2、课程设计说明书50%。

3、答辩、成果演示30%。

3、学生选课系统

3.1问题描述与功能设计

第一步:

分析问题

a)对于不同的函数,luru(),luru2(),xxqingkuang(),liulan(),find(),确定要产生的数据(输出),应定义表示输入和输出的各种符合类型的变量。

c)根据需要,定义结构体,并通过顺序操作,通过循环操作完成包括许多文本和图象处理操作。

Structkech[N]

课程的结构数组

charname[10];

课程名称

charxz[20];

课程性质

intnum;

课程编号

inttime;

学时

intAtime;

授课学时

intBtime;

实验或上机学时

intbegintime;

开课学期

intscore;

学分

intpeople;

该课程选课人数

 

Structxuanke[N]

选课信息的结构数组

doublexuehao;

学号

intbianhao[10]

选课课程编号

inthdxf;

可获得学分

学生选修课程系统主要功能有

录入课程信息(并保存文件):

录入学生选课信息(也可以保存在文件中)

课程信息浏览功能

按学分查询功能

某门课程学生选修情况功能

各种功能之间以菜单方式工作,实现信息对信息的灵活获取和操作。

3.2概要设计

总体框图

3.3详细设计

流程图

 

 

 

3.4测试数据与测试情况

 

4、参考文献

[1]何钦铭、颜晖著,C语言程序设计,高等教育出版社,2011年12月。

[2]杜茂康、李昌兵著,C++面向对象程序设计(第二版),电子工业出版社,2009年11月。

[3]钱能,C/C++程序设计教程(修订版)—设计思想与实现,清华大学出版社,2013年1月。

[4]郑秋生:

C/C/C++程序设计教程,电子工业出版社,2007年10月。

5、课程设计总结

通过这次课程设计,认识了C语言结构的用法和各种流程的控制输出样式:

1、设计课程结构和学生选课的结构元素时应考虑存储字节大小其中char型数组,整型数据,其中存储学号的整形数组在存储例如20141111099学号时内存不足会导致运行出错。

2、对异常的处理能力也得到提升,在按学分查询课程时,首先没有录入数据时应该输出“你还没有录入课程”其次查询录入的数据中,如果存在则输出在该结构数组,如果不存在则输出“没有该课程”。

3、在一次次的修改文件的执行代码和编辑时,在菜单显示的功能上也需要排列整齐和有序,在完成设计功能的同时也增加了一些相应的小功能,对学生的选课信息进行可获得学分的计算。

4、通过本次课程设计也培养了我独立思考、综合运用所学有关相应知识能力,掌握工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关。

在这次课程设计中也知道了自己的动手能力不强有待进一部的提高,只是掌握的还不够,还需强化知识。

 

6.附件(源程序)

#include

#include

#include

usingnamespacestd;

#defineN5

structkech{//定义课程结构

charname[10];//课程名称

charxz[20];//课程性质

intnum;//课程编号

inttime;//学时

intAtime;//授课学时

intBtime;//实验或上机学时

intscore;//学分

intbegintime;//开课学期

intpeople;

}kech[N];

structxuanke{//定义学生选课结构

doublexuehao;//学号

intbianhao[10];//选课编号

inthdxf;//可获得学分

}xuanke[N];

intsubject=0,index=0;

voidluru()//录入课程信息

{

inti=subject;

ofstreamofile("e:

\\ksfiles\\text.txt",ios:

:

app);

cout<<"/******请输入课程信息******/\n";

cout<<"课程编号:

";//输入课程编号

cin>>kech[i].num;

ofile<

cout<<"课程名称:

";//输入课程名称

cin>>kech[i].name;

ofile<

cout<<"课程性质:

";//输入课程性质

cin>>kech[i].xz;

ofile<

cout<<"总学时:

";//输入总学时

cin>>kech[i].time;

ofile<

cout<<"授课学时:

";//输入授课学时

cin>>kech[i].Atime;

ofile<

cout<<"实验或上机学时:

";//输入实验或上机学时

cin>>kech[i].Btime;

ofile<

cout<<"学分:

";//输入学分

cin>>kech[i].score;

ofile<

cout<<"开课学期:

";//输入开课学期

cin>>kech[i].begintime;

ofile<

kech[i].people=0;

ofile<

ofile.close();

subject++;

}

voidluru2()//录入学生选课信息

{

inti=index;

intn;

if(subject==0)

{

cout<<"你还没有录入课程信息!

"<

return;

}

ofstreamopen("e:

\\ksfiles\\class.txt",ios:

:

app);//保存文件

cout<<"/******请输入选课学生信息******/"<

cout<<"学生学号:

";//输入学号

cin>>xuanke[i].xuehao;

open<

cout<<"请输入该生所选课程数量:

";

cin>>n;

intj=0;

intpanduan=0;

xuanke[i].hdxf=0;

while(j!

=n)

{

cout<<"第"<

";

cin>>xuanke[i].bianhao[j];

open<

for(intk=0;k

{

if(xuanke[i].bianhao[j]==kech[k].num)

{

panduan=1;

xuanke[i].hdxf+=kech[k].score;

kech[k].people++;//对可获得学分进行计算

}

}

if(panduan==0)

cout<<"该课程编号不存在!

请重新输入"<

elsej++;

}

cout<<"该学生可获得"<

open<

open.close();

index++;

}

 

voidliulan()//浏览课程信息

{

inti;

if(subject!

=0)

{

cout<

for(i=0;i

{

cout<<""<

}

}

else

{

cout<<"你还没有录入课程信息!

"<

return;

}

}

intfind()//查询功能

{

ints;

intpanduan=0;

cout<<"请输入你所要查询课程的学分为:

";

cin>>s;

if(subject==0)

cout<<"你还没有录入课程信息!

"<

else

{

for(inti=0;i

{

if(s==kech[i].score)

{

panduan=1;

cout<

cout<<""<

}

}

if(panduan==0)cout<<"没有该学分的课程!

"<

}

return-1;

}

 

voidxxqingkuang()//某课程的选课情况统计

{

intm;

intpanduan=0;

cout<<"请输入您要查询的的课程编号:

";

cin>>m;

if(subject==0)

cout<<"你还没有录入课程信息!

"<

else

for(inti=0;i

{

if(m==kech[i].num)

{

panduan=1;

cout<<"该课程的选课人数为"<

}

}

if(panduan==0)

cout<<"抱歉,还没有该课程编号!

"<

}

voidmain()//主函数

{

intchoice=0;

while(choice!

=6)

{

cout<<"/*************欢迎使用本系统,请根据需要进行操作!

*************/"<

cout<<"/**********主菜单**********/"<

cout<<"1.课程录入"<

cout<<"2.课程浏览"<

cout<<"3.课程查询"<

cout<<"4.学生选课"<

cout<<"5.学生选修情况"<

cout<<"6.系统退出"<

cout<<"请选择:

"<

cin>>choice;

switch(choice)

{

case1:

luru();break;

case2:

liulan();break;

case3:

find();break;

case4:

luru2();break;

case5:

xxqingkuang();break;

case6:

cout<<"/*************感谢使用本系统!

*************/\n";break;

default:

cout<<"选择错误,请重新选择!

"<

}

}

}

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2