完整word版简单学生管理系统设计word文档良心出品.docx

上传人:b****6 文档编号:3029023 上传时间:2022-11-17 格式:DOCX 页数:26 大小:137.77KB
下载 相关 举报
完整word版简单学生管理系统设计word文档良心出品.docx_第1页
第1页 / 共26页
完整word版简单学生管理系统设计word文档良心出品.docx_第2页
第2页 / 共26页
完整word版简单学生管理系统设计word文档良心出品.docx_第3页
第3页 / 共26页
完整word版简单学生管理系统设计word文档良心出品.docx_第4页
第4页 / 共26页
完整word版简单学生管理系统设计word文档良心出品.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

完整word版简单学生管理系统设计word文档良心出品.docx

《完整word版简单学生管理系统设计word文档良心出品.docx》由会员分享,可在线阅读,更多相关《完整word版简单学生管理系统设计word文档良心出品.docx(26页珍藏版)》请在冰豆网上搜索。

完整word版简单学生管理系统设计word文档良心出品.docx

完整word版简单学生管理系统设计word文档良心出品

广州大学学生实验报告

开课学院及实验室:

计算机科学与工程实验室2011年12月28日

学院

计算机科学于教育软件学院

年级/专业/班

计算机02

姓名

杨华奇

学号

1006100096

实验课程名称

程序设计课程设计

成绩

实验项目名称

简单学生管理系统设计

指导老师

田际平

王建雄

(***报告只能为文字和图片,老师评语将添加到此处,学生请勿作答***)

一、实验目的

通过本课程的教学实践,使学生达到加深对计算机高级语言程序设计特点、结构化程

序设计方法和面向对象程序设计的理解、提高学生对可视化编程的动手能力之目的

2、实验内容

“简单学生管理系统设计”

1.系统功能简介:

本系统有包括7个主要功能供给用户,用于管理学生信息。

输入和储存学生信息

用户可以使用系统储存学生信息,包括学生姓名,学号,性别,成绩(物理,英语,数学,计算机导论,C程序)

2.查看学生信息

通过使用系统可以查看已统计好的学生信息

3.学生成绩统计:

使用系统可以浏览学生已排好的成绩统计,包括名次,总分,平均分,最高和最低分。

4.查找学生信息:

使用系统可以浏览单个学生的信息,分为按学号和姓名查找。

5.修改学生信息:

当学生信息有误时就可以通过系统来修改。

6.删除学生信息:

使用系统可以要删除某个学生信息。

7.增加学生信息:

不能在第一个功能上增加学生信息,只能在这个功能上实现。

8.退出。

 

 

三、实验原理

本设计内容可用程序设计基础方法完成,参考程序设计课程设计实验指导书

四、实验设备

软件VisualStudio2010

五、实验要求

必修

6、实验程序

#include"StdAfx.h"

#include

#include

#include

usingnamespacestd;

//全局量

intn=0;

intnk=0;

char*filename;

longnum[1000];

intwork_l=0;

intlevel=1;

intbuild=0;

fstreamf;

//成绩类

structstudent

{

public:

//个人信息

charname[20];

charsex[10];

longnumber;

//各科成绩变量

floatm_english;

floatm_math;

floatm_computer;

floatm_programming;

floatm_phisic;

floatm_total;

floatm_reverage;

floatm_highest;

floatm_lowest;

}s;

//1.11求平均分

voidreverage(student&st)

{

st.m_reverage=st.m_total/5;

}

//1.12求总分

voidtotal(student&st)

{

st.m_total=st.m_math+st.m_english+st.m_computer+st.m_programming+st.m_phisic;

reverage(st);

}

//1.13显示各科成绩

voids_show(student&st)

{

cout<<"\t英语\t数学\t物理\t导论\t程序\t"<<"总分\t"<<"平均分\n";;

cout<<"\t"<

cout<

}

//1.2显示数据函数

voidshow(student&st)

{

if(work_l==1&&level<=n)

{

cout<<"名次:

"<

++level;

}

cout<<"\t姓名\t性别\t学号\n";

cout<<"\t"<

s_show(st);

}

//1.3判断成绩十分符合逻辑

floatjudge(floatgrade)

{

if(!

(grade>=0&&grade<=150))

{

cout<<"成绩不符合要求!

请输入0~150之间的数。

\n";

cin>>grade;

}

returngrade;

}

//判断学号是否重复

longjudge1(longs_num)

{

if(nk)

{

intwork01=1;

intl=0;

for(;l

{

if(s_num==num[l])

{

cout<<"学号重复!

重新输入学号:

";

cin>>s_num;

num[nk]=s_num;

s_num=judge1(s_num);

work01=0;

}

elsework01=1;

}

if(work01==1)

{

returns_num;

}

}

returns_num;

}

//1.4输入

voidinput(student&st)

{

intsex;

char*ss;

//输入各项信息

cout<<"姓名:

";

cin>>st.name;

cout<<"学号:

";

//输入学号。

cin>>st.number;

num[nk]=st.number;

st.number=judge1(st.number);

cout<<"性别(男:

1,女:

0):

";

cin>>sex;

if(sex==1)

ss="男";

elseif(sex==0)

ss="女";

else

ss="未知";

strcpy_s(st.sex,ss);

cout<<"英语:

";

cin>>st.m_english;

st.m_english=judge(st.m_english);

cout<<"数学:

";

cin>>st.m_math;

st.m_math=judge(st.m_math);

cout<<"物理:

";

cin>>st.m_phisic;

st.m_phisic=judge(st.m_phisic);

cout<<"导论:

";

cin>>st.m_computer;

st.m_computer=judge(st.m_computer);

cout<<"程序:

";

cin>>st.m_programming;

st.m_programming=judge(st.m_programming);

cout<

total(st);

f.write((char*)&st,sizeof(student));

}

//1.5判断是否已经创建操作员输入的文件名的文件

intjudge()

{

if(!

build)

{

cout<<"还未创建文件!

请重新选择操作!

"<

return0;

}

else

return1;

}

//1.5写入信息

voidset()

{

cout<<"人数:

";

cin>>n;

//打开文件

f.open(filename,ios:

:

out);

for(inti=0;i

{

nk=i;

input(s);

}

//表明已经创建了文件

build=1;

//关闭文件

f.close();

}

//2浏览

voidskim(student&st)

{

intwork0=1;

work0=judge();

if(work0==0)

{

return;

}

f.open(filename,ios:

:

in);

if(!

f)

{

cerr<<"打不开文件。

\n";

abort();

}

//移动流指针到文件头

f.seekg(0,ios:

:

beg);

for(inti=0;i

{

f.read((char*)&st,sizeof(student));

cout<<"第"<

show(st);

}

f.close();

}

//3统计

voidmanage()

{

intwork0=1;

work0=judge();

if(work0==0)

{

return;

}

f.open(filename,ios:

:

in|ios:

:

out);

if(!

f)

{

cerr<<"打不开文件。

\n";

abort();

}

//将真值赋给名次工作机制判断变量

work_l=1;

//移动流指针到文件头

f.seekg(0,ios:

:

beg);

student*temp=newstudent[n];

intwork;

for(inti=0;i

{

f.read((char*)&temp[i],sizeof(student));

}

//对数组排序

for(intpass=1;pass

{

work=0;

intp=0;

for(p;p

if(temp[p].m_total

{

studentst;

//比较总分,进行相应操作

st=temp[p];

temp[p]=temp[p+1];

temp[p+1]=st;

work=0;

}

//若没有重新排序则证明已排序好,退出当前操作

if(work)

break;

}

f.seekp(0,ios:

:

beg);

for(intp=0;p

f.write((char*)&temp[p],sizeof(student));

f.close();

//浏览统计后的数据信息

skim(s);

if(n)

{

cou

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

当前位置:首页 > 农林牧渔 > 畜牧兽医

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

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