学生选课系统C++Word下载.docx

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

学生选课系统C++Word下载.docx

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

学生选课系统C++Word下载.docx

{

doublecoursenum;

charcoursename[50];

charcoursetapy[50];

doublexuefen;

doublexueshi;

charcourseteacher[50];

六、模块分析

1.信息录入模块

按照提示输入所需数字,进入添加界面后添加课程以及学生的各类信息,最终保存到一个文件中,用以之后读取。

2.信息浏览模块

可以用来查看学生信息和课程信息以及学生的选课信息。

3.修改信息模块

4.删除信息模块

5.选择课程模块

七、比较有特色的函数

voidselectCoures()//选课函数

studentstu;

//用于保存将要选课的那名同学的信息

intcountCoures=0;

//用来统计该学生选了多少门课程

intcountStudent=0;

//用来统计学生的个数

loop:

cout<

<

endl<

"

请输入你的学生学号:

"

;

doublem_xuehao,m_coursenum;

//利用学号和课程号分别找出哪位同学选了哪门课

cin>

>

m_xuehao;

ifstreamis("

studentInfo.text"

ios:

:

binary);

is.seekg(0,ios:

beg);

while(!

is.peek())

is.read((char*)(&

stu),sizeof(stu));

//从“studentInfo.text”文件中一次读取学生的信息

if(m_xuehao==stu.xuehao)

loob:

countStudent++;

请输入学号为"

m_xuehao<

的学生想要选择的课程编码(1001-9999):

m_coursenum;

ifstreaminCourse("

courses.text"

//用于从"

文件中找出该同学想选择的课程信息

inCourse.seekg(0,ios:

inCourse.eof())

{//选课的核心代码

coursecus;

//用于此同学将要选择的课程信息

inCourse.read((char*)(&

cus),sizeof(cus));

if(m_coursenum==cus.coursenum)

{//若找到那门课程则选它

countCoures++;

strcpy(stu.coursename,cus.coursename);

ofstreamoutStu("

selectCourseResult.text"

binary|ios:

app);

//现将选课的同学信息放入选课结果的文件中

outStu.write((char*)(&

outStu.close();

学号为"

成功选了课程号为"

m_coursenum<

的课程!

endl;

}

if(countCoures>

2)

同学:

你选择的课程已经超过"

countCoures<

门了!

break;

if(countCoures==0)

没有这门课程,还要继续选择其他课程吗y/n?

charch;

ch;

if(('

y'

==ch)||('

Y'

==ch))

gotoloob;

else

inCourse.close();

if(countStudent==0)

没有这个学生,是否重新输入y/n?

gotoloop;

is.close();

menu();

}

八、存在的不足与对策

由于设计者水平有限及时间等方面的原因,该系统的功能比较简单,只能输入较少的课程以及学生信息。

些许不足请老师多多谅解。

今后会学习更多的编程技巧,不断的提高程序设计水平。

九、程序源代码

#include<

iostream>

ctype.h>

string>

iomanip>

fstream>

sstream>

usingnamespacestd;

voidmenu()//主菜单

学生选课系统"

1.信息录入"

2.信息浏览"

3.选择课程"

4.删除信息"

5.修改信息"

6.退出程序"

voidset()//学生信息录入

请输入学生学号:

stu.xuehao;

请输入学生姓名:

stu.name;

请输入学生专业:

stu.major;

ofstreamout("

app|ios:

out.write((char*)(&

out.close();

voidcheckstudent()//查询学生信息

学生学号\t学生姓名\t所学专业"

stu),sizeof(stu));

stu.xuehao<

\t\t"

stu.name<

stu.major<

voidcancleStudent()//删除学生信息

stringxueHaoNum,line,xuehao;

ifstreamfin("

studentInfo.text.text"

);

fstreamoutfile("

trunc|ios:

out);

//打开一个文件进行写操作和使同名文件被删除

请输入您要删除学生的学号:

xueHaoNum;

fin.eof())

getline(fin,line);

istringstreamstream(line);

//串流输入

xueHaoNum=line.substr(0,line.find("

0));

if(xuehao!

=xueHaoNum)

outfile<

line<

outfile.close();

fin.close();

fstreamf("

ifstreamoutf("

f<

outf.rdbuf();

outf.close();

f.close();

voidchangestudent()//修改学生信息

intmark;

请输入需要修改信息的学生学号"

xuehao;

for(inti=0;

!

is.eof();

i++)

is.seekg(48*i);

//对输入文件定位,第一个参数是偏移量,第二个参数是基地址

if(stu.xuehao==xuehao)

请输入要修改的学生姓名"

请输入要修改的学生专业"

修改完毕!

mark=48*i;

if(stu.xuehao!

=xuehao)

没有这个学生!

ofstreamos("

in|ios:

os.seekp(mark);

os.write((char*)(&

os.close();

};

classcourse//课程类

voidset()//课程信息录入

请输入课程编码:

cus.coursenum;

请输入课程名称:

cus.coursename;

请输入课程类型:

cus.coursetapy;

请输入课程学分:

cus.xuefen;

请输入课程学时:

cus.xueshi;

请输入主讲教师:

cus.courseteacher;

voidcheckcourse()//浏览课程信息

课程编码课程名称课程类型课程学分课程学时主讲教师"

//临时保存课程信息

is.peek())//检测文件结束

is.read((char*)(&

cus.coursenum<

\t"

cus.coursename<

cus.coursetapy<

cus.xuefen<

cus.xueshi<

cus.courseteacher<

//setw()是控制输入的宽度

voidcanclecourse()//删除课程信息

stringcoursenum,line,course;

//打开一个文件进行写操作和使同名文件被删除

请输入您要删除课程的编码:

coursenum;

coursenum=line.substr(0,line.find("

if(course!

=coursenum)

voidchangecourse()//修改课程信息

请输入要修改课程信息的编码"

is.seekg(28*i);

cus),sizeof(cus));

if(cus.coursenum==coursenum)

请输入要修改的课程名称"

请输入要修改的课程类型"

请输入要修改的课程学分"

请输入要修改的课程学时"

请输入要修改的主讲教师"

mark=28*i;

if(cus.coursenum!

=coursenum)

没有这门课程!

else

voidselectCoures()//选课函数

inCourse.eof())//选课核心代码

voidscanResult()//查询选课结果

学生学号\t学生姓名\t所学专业\t选课名称"

is.peek();

i++)

stu.coursename<

voidset()//信息录入菜单

﹌﹌﹌﹌﹌﹌1.录入学生信息﹌﹌﹌﹌﹌﹌"

﹌﹌﹌﹌﹌﹌2.录入课程信息﹌﹌﹌﹌﹌﹌"

﹌﹌﹌﹌﹌﹌3.返回前面菜单﹌﹌﹌﹌﹌﹌"

intchoose;

请输入选项序号:

choose;

switch(choose)

case1:

stu.set();

case2:

cus.set();

case3:

menu();

default:

cout<

没有这个选项,请重新输入,谢谢!

set();

break;

voidcheck()//查询信息

﹌﹌﹌﹌﹌﹌1.查询学生信息﹌﹌﹌﹌﹌﹌"

﹌﹌﹌﹌﹌﹌2.查询课程信息﹌﹌﹌﹌﹌﹌"

﹌﹌﹌﹌﹌﹌3.查询学生选课结果信息﹌﹌﹌﹌﹌﹌"

﹌﹌﹌﹌﹌﹌4.返回主要菜单﹌﹌﹌﹌﹌﹌"

请输入选项序号"

stu.checkstudent();

cus.checkcourse();

scanResult();

case4:

voidcancle()//删除信息

﹌﹌﹌﹌﹌﹌1.删除学生信息﹌﹌﹌﹌﹌﹌"

﹌﹌﹌﹌﹌﹌2.删除课程信息﹌﹌﹌﹌﹌﹌"

﹌﹌﹌﹌﹌﹌3.返回主要菜单﹌﹌﹌﹌﹌﹌"

请输入选项序号

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

当前位置:首页 > PPT模板 > 图表模板

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

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