学生学籍信息管理系统C++Word格式.docx

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

学生学籍信息管理系统C++Word格式.docx

《学生学籍信息管理系统C++Word格式.docx》由会员分享,可在线阅读,更多相关《学生学籍信息管理系统C++Word格式.docx(28页珍藏版)》请在冰点文库上搜索。

学生学籍信息管理系统C++Word格式.docx

//性别

intdomNum;

//宿舍号

chartel[12];

//电话号码

};

//学生基本信息结构体

structStuGraInfo{

charcourseName[10];

//课程名称

intcourseNo;

//课程编号

intcreditHour;

//学分

structscore

{

floattriGrade;

//平时成绩

floatexamGrade;

//卷面成绩

floattotalGrade;

//综合总评成绩

}score_talbe[N];

//成绩单基本信息结构体

voidcreate();

voidsearch();

voidinsert();

voidrepin();

voiddel();

voidhelp();

voidrecreate();

StuGraInfop[3];

StuInfod[N];

intstuNum=0;

intmain()

charch;

do{

cout<

<

setw(60)<

"

"

endl;

cout<

---------欢迎进入系统!

--------------"

setw(40)<

1:

创建"

endl<

2:

查询"

3:

修改"

4:

排序"

5:

删除"

6:

添加"

7:

帮助"

0:

退出"

--------------------------------------"

请选择(0~7):

;

cin>

>

ch;

while(!

(ch<

='

7'

&

ch>

0'

))/*输入不在0到5之间无效*/

{

cout<

数据输入错误,请重新选择(0~7):

cin>

}

switch(ch)

{

case'

1'

:

create();

break;

2'

search();

3'

insert();

4'

repin();

5'

del();

case'

6'

recreate();

help();

}

}while(ch!

);

return0;

}

voidcreate()

{//模块一录入学生信息

inti,j,t=0;

charm;

StuGraInfos[3]={{"

数学"

10,5},{"

英语"

11,4},{"

程序设计"

12,4}};

fstreamfile;

for(i=0;

i<

N;

i++)//输入学生基本信息到内存

请输入学号"

d[i].stuNo;

for(intk=0;

k++)

{

for(j=0;

j<

i;

j++)

if(d[i].stuNo==d[j].stuNo)

{

cout<

此学号已存在,请重新输入!

t=1;

cin>

break;

}

if(d[i].stuNo==0)

学号不能为0,请重新输入!

t=1;

break;

if(t==0)

请输入姓名"

d[i].name;

请输入性别"

d[i].sex;

请输入宿舍号"

d[i].domNum;

请输入电话号"

d[i].tel;

stuNum++;

是否继续?

是y,否n"

m;

if(m!

y'

//输入学生的成绩信息到内存s[i]中

3;

i++)

请开始输入"

s[i].courseName<

成绩"

for(j=0;

stuNum;

学号"

cin>

s[i].score_talbe[j].stuNo;

平时成绩"

s[i].score_talbe[j].triGrade;

卷面成绩"

s[i].score_talbe[j].examGrade;

s[i].score_talbe[j].totalGrade=s[i].score_talbe[j].triGrade*0.3+s[i].score_talbe[j].examGrade*0.7;

//声明文件流对象

ofstreamoutFile;

//将基本信息写入文件test

outFile.open("

D:

\\test.txt"

ios:

out|ios:

binary);

if(!

outFile)//使用错误流对象输出错误信息

文件无法打开"

abort();

else

//将内存中从a[i]地址开始的sizeof(d[i])的内容写入文件中

i++)

outFile.write((char*)&

d[i],sizeof(StuInfo));

outFile.close();

//关闭文件

\\data.txt"

{

outFile.write((char*)&

s[i],sizeof(StuGraInfo));

outFile.close();

voidsearch()

{intn,k,i,j,sum=0,t=0;

charm,a[20];

ifstreaminfile;

查询基本信息"

查询成绩"

n;

(n<

=3&

n>

=1))/*输入不在1到3之间无效*/

数据输入错误,请重新选择(1~3):

infile.open("

in|ios:

infile)

test.txt文件不能打开"

for(i=0;

infile.peek()!

=EOF;

i++)//将文件中的数据读出放在d[i]

//从文件中读字节到指定的存储器区域。

infile.read((char*)&

infile.close();

switch(n)

case1:

按学号查询请输入a,按姓名查询输入b,按宿舍号查询输入c"

if(m=='

a'

{

k;

for(i=0;

if(d[i].stuNo==k)

{

cout<

该学生学号:

d[i].stuNo<

cout<

该学生姓名:

d[i].name<

该学生性别:

d[i].sex<

该学生宿舍号:

d[i].domNum<

该学生电话:

d[i].tel<

t=1;

}

if(t==0)//容错处理

没找到"

}

elseif(m=='

b'

请输入要查找学生的姓名"

a;

if(strcmp(d[i].name,a)==0)

}

else

请输入好查找的学生的宿舍号"

cin>

if(d[i].domNum==k)

{

cout<

t=1;

}

break;

case2:

infile.open("

data.txt文件不能打开"

for(i=0;

i++)//将文件中的数据读出放在p[i]内

infile.read((char*)&

p[i],sizeof(StuGraInfo));

infile.close();

请输入要查找的学生的学号"

if(d[i].stuNo==k)

该学生姓名为:

i++)//找到该学生,输出成绩信息并记录实得学分

for(j=0;

{

if(p[i].score_talbe[j].stuNo==k)

{

cout<

p[i].courseName<

\t"

平时成绩:

p[i].score_talbe[j].triGrade;

卷面成绩:

p[i].score_talbe[j].examGrade;

总分:

p[i].score_talbe[j].totalGrade<

if(p[i].score_talbe[j].totalGrade>

=60)

sum+=p[i].creditHour;

//用sum记录及格科目的学分

该学生实得学分为"

sum<

}

case3:

voidinsert()

{

//模块三修改学生信息

fstreaminfile,outFile;

intn,i,j,t=0;

charcourse[10];

infile.open("

for(i=0;

i++)//将文件中的数据读出放在p[i]内,并输出

//从文件中读字节到指定的存储器区域。

infile.read((char*)&

infile.close();

请输入要修改学生的学号:

if(p[i].score_talbe[j].stuNo==n)

t=1;

break;

if(t==0)

找不到该学生!

return;

输入要修改的科目的课程名称"

课程包括数学、英语、程序设计"

course;

if(strcmp(p[i].courseName,course)==0)

t=0;

if(t==1)//容错处理

没找到该科目!

return;

{

请输入该学生平时成绩"

请输入该学生卷面成绩"

p[i].score_talbe[j].totalGrade=p[i].score_talbe[j].triGrade*0.3+p[i].score_talbe[j].examGrade*0.7;

outFile.open("

//打开文件

if(!

abort();

else//输出数据到与对象outFile关联的文件中

//把新信息写入文件

outFile.write((char*)&

outFile.close();

修改成功!

}

voiddel()

intnum,i=0,j=0,t=0;

请输入要输入学生的学号"

num;

//提示错误信息

for(i=0;

infile.close();

if(d[i].stuNo==num)

t=1;

d[i].stuNo=0;

d[i].domNum=0;

strcpy(d[i].sex,"

\0"

for(j=0;

12;

d[i].tel[j]=0;

strcpy(d[i].name,"

未找到该学生!

if(p[i].score_talbe[j].stuNo==num)

p[i].score_talbe[j].examGrade=0;

p[i].score_talbe[j].stuNo=0;

p[i].score_talbe[j].totalGrade=0;

p[i].score_talbe[j].triGrade=0;

//将内存中从d[i]地址开始的sizeof(d[i])的内容写入文件中

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

当前位置:首页 > PPT模板 > 其它模板

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

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