简单学生管理系统设计Word下载.docx
- 文档编号:14669359
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:22
- 大小:20.40KB
简单学生管理系统设计Word下载.docx
《简单学生管理系统设计Word下载.docx》由会员分享,可在线阅读,更多相关《简单学生管理系统设计Word下载.docx(22页珍藏版)》请在冰豆网上搜索。
3.学生成绩统计:
使用系统可以浏览学生已排好的成绩统计,包括名次,总分,平均分,最高和最低分。
4.查找学生信息:
使用系统可以浏览单个学生的信息,分为按学号和姓名查找。
5.修改学生信息:
当学生信息有误时就可以通过系统来修改。
6.删除学生信息:
使用系统可以要删除某个学生信息。
7.增加学生信息:
不能在第一个功能上增加学生信息,只能在这个功能上实现。
8.退出。
系统主程序
退出
查看学生信息
学生成绩统计
查找学生信息
修改学生信息
删除学生信息
增加学生信息
按学生学号查找
按学生姓名查找
三、实验原理
本设计内容可用程序设计基础方法完成,参考程序设计课程设计实验指导书
四、实验设备
软件VisualStudio2010
五、实验要求
必修
6、实验程序
#include"
StdAfx.h"
#include<
iostream>
fstream>
cstring>
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.m_total=st.m_math+st.m_english+st.m_computer+st.m_programming+st.m_phisic;
reverage(st);
//1.13显示各科成绩
voids_show(student&
cout<
<
"
\t英语\t数学\t物理\t导论\t程序\t"
总分\t"
<
平均分\n"
;
\t"
st.m_english<
'
\t'
st.m_math<
st.m_phisic<
st.m_computer<
st.m_programming<
'
st.m_total<
st.m_reverage<
endl<
endl;
//1.2显示数据函数
voidshow(student&
if(work_l==1&
&
level<
=n)
{
cout<
名次:
"
level<
endl;
++level;
}
\t姓名\t性别\t学号\n"
st.name<
st.sex<
st.number<
endl<
s_show(st);
//1.3判断成绩十分符合逻辑
floatjudge(floatgrade)
if(!
(grade>
=0&
grade<
=150))
成绩不符合要求!
请输入0~150之间的数。
\n"
cin>
>
grade;
returngrade;
//判断学号是否重复
longjudge1(longs_num)
if(nk)
intwork01=1;
intl=0;
for(;
l<
nk;
++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&
intsex;
char*ss;
//输入各项信息
姓名:
cin>
st.name;
学号:
//输入学号。
st.number;
num[nk]=st.number;
st.number=judge1(st.number);
性别(男:
1,女:
0):
sex;
if(sex==1)
ss="
男"
elseif(sex==0)
女"
else
ss="
未知"
strcpy_s(st.sex,ss);
英语:
st.m_english;
st.m_english=judge(st.m_english);
数学:
st.m_math;
st.m_math=judge(st.m_math);
物理:
st.m_phisic;
st.m_phisic=judge(st.m_phisic);
导论:
st.m_computer;
st.m_computer=judge(st.m_computer);
程序:
st.m_programming;
st.m_programming=judge(st.m_programming);
endl<
total(st);
f.write((char*)&
st,sizeof(student));
//1.5判断是否已经创建操作员输入的文件名的文件
intjudge()
build)
还未创建文件!
请重新选择操作!
return0;
return1;
//1.5写入信息
voidset()
人数:
n;
//打开文件
f.open(filename,ios:
:
out);
for(inti=0;
i<
n;
++i)
nk=i;
input(s);
//表明已经创建了文件
build=1;
//关闭文件
f.close();
}
//2浏览
voidskim(student&
st)
{
intwork0=1;
work0=judge();
if(work0==0)
return;
in);
f)
{
cerr<
打不开文件。
abort();
}
//移动流指针到文件头
f.seekg(0,ios:
beg);
f.read((char*)&
第"
i+1<
个人\n"
show(st);
//3统计
voidmanage()
if(work0==0)
in|ios:
//将真值赋给名次工作机制判断变量
work_l=1;
student*temp=newstudent[n];
intwork;
temp[i],sizeof(student));
//对数组排序
for(intpass=1;
pass<
++pass)
work=0;
intp=0;
for(p;
p<
n-pass;
++p)
if(temp[p].m_total<
temp[p+1].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*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简单 学生 管理 系统 设计