《程序设计语言》word文档.docx

上传人:b****5 文档编号:7527585 上传时间:2023-05-11 格式:DOCX 页数:19 大小:39.42KB
下载 相关 举报
《程序设计语言》word文档.docx_第1页
第1页 / 共19页
《程序设计语言》word文档.docx_第2页
第2页 / 共19页
《程序设计语言》word文档.docx_第3页
第3页 / 共19页
《程序设计语言》word文档.docx_第4页
第4页 / 共19页
《程序设计语言》word文档.docx_第5页
第5页 / 共19页
《程序设计语言》word文档.docx_第6页
第6页 / 共19页
《程序设计语言》word文档.docx_第7页
第7页 / 共19页
《程序设计语言》word文档.docx_第8页
第8页 / 共19页
《程序设计语言》word文档.docx_第9页
第9页 / 共19页
《程序设计语言》word文档.docx_第10页
第10页 / 共19页
《程序设计语言》word文档.docx_第11页
第11页 / 共19页
《程序设计语言》word文档.docx_第12页
第12页 / 共19页
《程序设计语言》word文档.docx_第13页
第13页 / 共19页
《程序设计语言》word文档.docx_第14页
第14页 / 共19页
《程序设计语言》word文档.docx_第15页
第15页 / 共19页
《程序设计语言》word文档.docx_第16页
第16页 / 共19页
《程序设计语言》word文档.docx_第17页
第17页 / 共19页
《程序设计语言》word文档.docx_第18页
第18页 / 共19页
《程序设计语言》word文档.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

《程序设计语言》word文档.docx

《《程序设计语言》word文档.docx》由会员分享,可在线阅读,更多相关《《程序设计语言》word文档.docx(19页珍藏版)》请在冰点文库上搜索。

《程序设计语言》word文档.docx

《程序设计语言》word文档

《程序设计语言(C++)》课程设计

 

设计题目:

学生选修课选课系统

班级:

14信计1班

姓名:

但昕

学号:

1411111115

设计日期:

第19周

设计地点:

科技楼804,805

 

1.需求分析

网上选课系统是针对在校学生和教师使用的,从学生的角度来说,由于教学制度的改革,现在大部分的高等院校开始实行学生自主选课模式,传统的教学模式已经不能适应新的教学模式,如果还只是通过纸上的方式选课,一方面浪费大量的人力、物力,另一方面浪费时间以及在统计过程中不可避免的会出现差错。

随着高校的人数增加,暴露出来的弊端会越来越多。

因此,利用网络,使学生只要在计算机前输入自己的个人选课信息即可完成原来几倍的作业量。

从教室的角度来讲,同样可以节约大量的时间和减少工作量以及减少错误的发生率。

 

2.程序结构图

3.主功能函数设计

(1)选课函数voidselectCourse(Students1[10],Coursec1[M],ints_num1)对当前学生对象进行操作,覆盖其选修课对象成员c1或c2,即学生的选课。

(2)两种输出所需选修课函数按学分输出选修课函数voidselectScore(Coursec1[M])按类型输出选修课voidselectNature(Coursec1[M])对传递进来的选修课数组进行扫描,输出符合要求的选修课。

(3)选修课排序函数voidxu(Coursec1[M])使用冒泡排序法对选修课数组进行编号从小到大的排序。

(4)主菜单函数voidmenu(Coursec1[6],Students1[10])所有菜单循环都在其中,调用其他函数来实现具体功能。

 

4.源程序

#include

#include

#defineM10

classCourse//选修课课程类

{private:

char*id;

char*name;

char*nature;

char*date;

intshours;

intahours;

intzhours;

doublescore;

public:

Course()

{

id="unknown";

name="unknown";

nature="unknown";

zhours=0;

shours=0;

ahours=0;

date="unknown";

score=0;

}

Course(char*a,char*b,char*c,char*d,inte,intf,doubleg)

{

id=a;

name=b;

nature=c;

date=d;

shours=e;

ahours=f;

score=g;

zhours=e+f;

}

voidset(char*a,char*b,char*c,char*d,inte,intf,doubleg)

{

id=a;

name=b;

nature=c;

date=d;

shours=e;

ahours=f;

score=g;

zhours=e+f;

}

char*getDate()

{returndate;}

intgetZhours()

{returnzhours;}

intgetShours()

{eturnshours;}

intgetAhours()

{returnahours;}

doublegetScore()

{returnscore;}

char*getNature()

{returnnature;}

char*getId()

{eturnid;}

char*getName()

{returnname;}

voidprint()

{

cout<<"编号:

"<

cout<<"名称:

"<

cout<<"类型:

"<

cout<<"上课时间:

"<

cout<<"总学时:

"<

cout<<"授课学时"<

cout<<"实验学时:

"<

cout<<"学分:

"<

}

};

classStudent//学生类

{

private:

//学生选的课程是对象的成员

char*id;

char*name;

Coursec1;

Coursec2;

doublezscore;

public:

Student()

{id="unknown";

name="unknown";

zscore=0;

}

voidsetId(char*a1)

{d=a1;}

voidsetName(char*a1)

{name=a1;}

char*getName()

{returnname;}

voidprint()

{

cout<<"\n学号"<

cout<<"姓名:

"<

cout<<"您已选的选修课:

\n1.";

c1.print();

cout<<"2.";

c2.print();

cout<<"选修课总学分:

"<

}

voidselectCourse_1(Coursecc)//修改对象的课程成员

{

c1.set(cc.getId(),cc.getName(),cc.getNature(),cc.getDate(),cc.getShours(),cc.getAhours(),cc.g

etScore());

}

voidselectCourse_2(Coursecc)

{

c2.set(cc.getId(),cc.getName(),cc.getNature(),cc.getDate(),cc.getShours(),cc.getAhours(),cc.g

etScore());

}

};

voidselectCourse(Students1[10],Coursec1[M],ints_num1)//选课

{

charid[2][10],select1;

inti,j,k;

for(j=0;j<2;j++)

{

cout<<"\n您想选您的第几门选修课(1or2):

";

cin>>k;

cout<<"请输入您想要选的选修课的编号:

";

cin>>id[j];

for(i=0;i

=0;i++)//扫描所有选修课,如果当前选修课为空则跳出循环

{

if(strcmp(id[j],c1[i].getId())==0)

{

if(1==k)

{

s1[s_num1].selectCourse_1(c1[i]);

break;

}

if(2==k)

{

s1[s_num1].selectCourse_2(c1[i]);

break;

}

}

}

if(0==j)

{

cout<<"\n您是否想要继续选课?

(y/n):

";

cin>>select1;

if('n'==select1)break;

}

}

cout<<"\n选课成功!

"<

}

voidselectScore(Coursec1[M])//按学分查询选修课

{

intselect,num,i;

cout<<"\n请输入选修课的学分:

";

cout<<"\n1.0.5\n2.1.0"<

cout<<"请选择:

";

cin>>select;

num=1;

if(1==select);

{

for(i=0;i

=0;i++)

{

if(0.5==c1[i].getScore())

{

cout<

c1[i].print();

cout<

num++;

}

}

}

elseif(2==select)

{

for(i=0;i

=0;i++)

{

if(1.0==c1[i].getScore())

{

cout<

c1[i].print();

cout<

num++;

}

}

}

elsecout<<"对不起,您的输入有误,请重新输入!

\n\n";

}

voidselectNature(Coursec1[M])//按类型查询选修课

{

intselect,num,i;

charn1[10]="艺术类",n2[10]="学术类";

cout<<"请输入选修课的学分:

";

cout<<"\n1.艺术类\n2.学术类"<

cout<<"请选择:

";

cin>>select;

num=1;

if(1==select)

{

for(i=0;i

=0;i++)

{

if(strcmp(n1,c1[i].getNature())==0)

{

cout<

c1[i].print();

cout<

num++;

}

}

}

elseif(2==select)

{

for(i=0;i

=0;i++)

{

if(strcmp(n2,c1[i].getNature())==0)

{

cout<

c1[i].print();

cout<

num++;

}

}

}

elsecout<<"对不起,您的输入有误,请重新输入!

\n\n";

}

voidxu(Coursec1[M])//当前所有选修课进行排序(编号从小到大)

{

inti,j,k=0,num=0;

Coursecc;

for(j=0;j

=0;j++)

{

for(i=num;i

=0;i++)

{

if(strcmp(c1[i].getId(),c1[i+1].getId())>0)

{

k++;

cc.set(c1[i].getId(),c1[i].getName(),c1[i].getNature(),c1[i].getDate(),c1[i].getShours(),c1[i].

etAhours(),c1[i].getScore());

c1[i].set(c1[i+1].getId(),c1[i+1].getName(),c1[i+1].getNature(),c1[i+1].getDate(),c1[i+1].get

Shours(),c1[i+1].getAhours(),c1[i+1].getScore());

c1[i+1].set(cc.getId(),cc.getName(),cc.getNature(),cc.getDate(),cc.getShours(),cc.getAhours(

),cc.getScore());

}

elsek=2;

if(1==k)num=i;

}

k=0;

}

}

voidmenu(Coursec1[6],Students1[10])//菜单

{

intflag0,flag1,flag2,flag3,flag4,password=0

intselect,s_num=0,i,j,num,newNum;

charid[10][10];

charselect1;

charid1[10];

charname1[10];

charda[20];

charna[10];

intsh;

intah;

doublesc;

flag0=1;

while(flag0)

{

cout<<"\n============"<

cout<<"|菜单|"<

cout<<"============"<

cout<<"|1.管理员|"<

cout<<"|2.学生|"<

cout<<"|3.退出|"<

cout<<"============"<

cout<<"\n请选择:

:

;

cin>>select;

switch(select)

{

case1:

flag3=1;

while

(1)

{

cout<<"请输入密码(输入-1退出):

";

cin>>password;

if(-1==password)

{

flag3=0;

break;

}

if(123==password)

{

cout<<"\n管理员,你好!

欢迎登录!

"<

break;

}

cout<<"密码错误,请重新输入!

\n";

}

while(flag3)

{

cout<<"\n================"<

cout<<"丨菜单|"<

cout<<"================"<

cout<<"|1.添加选修课|"<

cout<<"|2.删除选修课|"<

cout<<"|3.查看选修课|"<

cout<<"|4.返回上一层|"<

cout<<"================"<

cout<<"\n请选择:

";

cin>>select;

switch(select)

{

case1:

newNum=0;

for(i=0;i

=0;i++)newNum++;

cout<<"\n请按格式依次输入选修课的编号、名称、上课时间(x.xx-x.xx)、类型(艺术类或学术类)、授课学时、实验学时、学分:

"<

cin>>id1>>name1>>da>>na>>sh>>ah>>sc;

c1[newNum].set(id1,name1,da,na,sh,ah,sc);

xu(c1);

cout<<"添加成功!

"<

break;

case2:

flag4=1;

j=0;

num=0;

while(flag4)

{

cout<<"\n请输入您想要删除课程的编号:

";

cin>>id[j];

for(i=0;i

=0;i++)

{

if(strcmp(id[j],c1[i].getId())==0)

{

for(num=i;num

=0;num++)

{

c1[num].set(c1[num+1].getId(),c1[num+1].getName(),c1[num+1].getNature(),c1[num+1].get

Date(),c1[num+1].getShours(),c1[num+1].getAhours(),c1[num+1].getScore());

}

c1[num]=Course();

break;

}

cout<<"删除成功!

\n";

cout<<"\n您是否想要继续删除?

(y/n):

";

cin>>select1;

if('n'==select1)break;

j++;

}

break;

case3:

flag2=1;

while(flag2)

{

cout<<"\n============================"<

cout<<"|菜单|"<

cout<<"============================"<

cout<<"|1.按学分查询选修课|"<

cout<<"|2.按选修课类型查询选修课|"<

cout<<"|3.显示全部|"<

cout<<"|4.返回上一层|"<

cout<<"============================"<

cout<<"请选择:

";

cin>>select;

switch(select)

{

case1:

selectScore(c1);

break;

case2:

selectNature(c1);

break;

case3:

for(i=0;i

=0;i++)

{

cout<

c1[i].print();

cout<

}

break;

case4:

flag2=0;

break;

default:

cout<<"对不起,您的输入有误,请重新输入!

\n\n";

}

}

break;

case4:

flag3=0;

break;

default:

cout<<"对不起,您的输入有误,请重新输入!

\n\n";

}

}

break;

case2:

chara[10],b[10];

s1[s_num]=Student();

cout<<"\n请输入您的学号:

";

cin>>a;

s1[s_num].setId(a);

cout<<"请输入您的姓名:

";

cin>>b;

s1[s_num].setName(b);

flag1=1;

while(flag1)

{

cout<<"\n================"<

cout<<"|菜单|"<

cout<<"================"<

cout<<"|1.选课|"<

cout<<"|2.个人信息|"<

cout<<"|3.返回上一层|"<

cout<<"================"<

cout<<"请选择:

";

cin>>select;

switch(select)

{

case1:

flag2=1;

cout<<"\n"<

欢迎登录!

"<

while(flag2)

{

cout<<"\n============================"<

cout<<"|菜单|"<

cout<<"============================="<

cout<<"|1.按学分查询选修课|"<

cout<<"|2.按选修课类型查询选修课|"<

cout<<"|3.显示全部|"<

cout<<"|4.返回上一层|"<

cout<<"============================="<

cout<<"请选择:

";

cin>>select;

switch(select)

{

case1:

selectScore(c1);

selectCourse(s1,c1,s_num);

break;

case2:

selectNature(c1);

selectCourse(s1,c1,s_num);

break;

case3:

for(i=0;i

=0;i++)

{

cout<

c1[i].print();

cout<

selectCourse(s1,c1,s_num);

break;

}

case4:

flag2=0;

break;

default:

cout<<"对不起,您的输入有误,请重新输入!

\n\n";

}

}

break;

case2:

s1[s_num].print();

break;

case3:

flag1=0;

s_num++;

break;

default:

cout<<"对不起,您的输入有误,请重新输入!

\n\n";

}

}

break;

case3:

flag0=0;

cout<<"谢谢使用!

\n再见!

"<

break;

de

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

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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