没有合适的资源?快使用搜索试试~ 我知道了~
学生学籍信息管理系统--C++.doc
需积分: 9 3 下载量 200 浏览量
2022-07-15
08:52:06
上传
评论
收藏 58KB DOC 举报
温馨提示
试读
18页
学生学籍信息管理系统--C++.doc
资源详情
资源评论
资源推荐
一、学生学籍信息管理系统设计
1、需求分析
学生基本信息、学生成绩基本信息要存入文件当中,因而要提供文件的输入输出操作;
查询功能要求提供查找和显示操作;删除功能要求实现删除操作;排序功能要求实现排序操
作;另外还应该提供键盘式选择菜单以实现功能选择。
2、总体设计
整个系统可以设计为数据录入模块、数据修改模块、数据查询模块、数据删除模块和数
据排序模块。
成绩包括数学、英语、程序设计基础三门课成绩
基本信息存放在一个文件,成绩信息存放在另一个文件。
(1)数据录入模块
学生基本信息文件可以在磁盘建立,采用写文件方式录入学生基本信息、各门课程的成
绩单.综合成绩通过平时成绩和卷面成绩获得计算得到(平时 30%,卷面 70%)。
(2)数据修改模块
采用读文件方式读入学生成绩基本信息,进行修改后,以写文件方式写回原文件中。修
改时,首先询问要修改信息学生的姓名或学号,然后选择要修改的内容,并输入新的数据进
行修改.
(3)查询模块
通过菜单选择查询功能,再选择学生基本情况查询和成绩查询,若选择前者,再通过菜
单选择学号、姓名或宿舍号码,然后把查找结果输出。若选择后者,则先查找学号对应的姓名,
再查找该学生的课程情况,并统计科目和实得总学分,输出结果。
(3)删除模块
通过菜单选择删除学生的功能,输入要删除学生的学号,则分别在两个文件中查找该生
信息,删除之。
(4)排序模块
通过菜单选择排序依据,采用排序算法(冒泡、插入、选择等)对数据进行排序并输出
结果,排序标准包括总分、某课成绩、某课卷面成绩等。
(5)追加模块
追加学生信息
#include<iostream。h〉
#include<fstream.h〉
#include<string。h>
#include〈stdlib.h〉
#include〈iomanip。h〉
#define N 80
struct StuInfo
{
int stuNo; //学号
char name[20]; //姓名
char sex[3]; //性别
int domNum; //宿舍号
char tel[12]; //电话号码
}; //学生基本信息结构体
struct StuGraInfo{
char courseName[10]; //课程名称
int courseNo; //课程编号
int creditHour; //学分
struct score
{
int stuNo; //学号
float triGrade; //平时成绩
float examGrade; //卷面成绩
float totalGrade; //综合总评成绩
}score_talbe[N];
}; //成绩单基本信息结构体
void create();
void search();
void insert();
void repin();
void del();
void help();
void recreate();
StuGraInfo p[3];
StuInfo d[N];
int stuNum=0;
int main( )
{
char ch;
do{
cout〈〈setw(60)〈<" ”〈<endl;
cout<〈setw(60)<<”———————-— 欢迎进入系统!-—————--—-——--”
<<endl;
cout<〈setw(40)〈<”1:创建”〈〈endl〈<setw(40)〈〈"2:查询"<<endl〈〈setw
(40)<<”3:修改”〈〈endl<〈setw(40)<〈”4:排序”〈〈endl〈〈setw(40)〈<”5:删除”
〈〈endl〈〈setw(40)〈<”6:添加”<〈endl〈<setw(40)<〈"7:帮助"〈〈endl〈〈setw(40)
〈〈”0:退出”<〈endl;
cout 〈 <setw(60)
〈<"-——--—-—————---————-—-———-———————-—-——”<<endl;
cout〈〈" 请选择(0~7): ”;
cin>〉ch;
while(!(ch〈='7’&&ch>='0’)) /*输入不在 0 到 5 之间无效*/
{
cout〈<” 数据输入错误,请重新选择(0~7):”;
cin〉〉ch;
}
switch(ch)
{
case '1’: create(); break;
case '2’: search(); break;
case ’3': insert(); break;
case ’4’: repin(); break;
case '5': del(); break;
case ’6’: recreate(); break;
case '7’: help();
}
}while(ch!=’0');
return 0;
}
void create()
{ //模块一录入学生信息
int i,j,t=0;
char m;
StuGraInfo s[3]={{”数学”,10,5},{"英语",11,4},{”程序设计",12,4}};
fstream file;
for(i=0;i<N;i++) //输入学生基本信息到内存
{
cout〈〈"请输入学号”<〈endl;
cin>>d[i].stuNo;
for(int k=0;;k++)
{
for(j=0;j<i;j++)
if(d[i]。stuNo==d[j].stuNo)
{
cout〈〈”此学号已存在,请重新输入!”〈〈endl;
t=1;
cin>〉d[i]。stuNo;
break;
}
if(d[i].stuNo==0)
{
cout〈〈"学号不能为 0,请重新输入!"<〈endl;
cin>〉d[i].stuNo;
t=1;
break;
}
if(t==0)
break;
}
cout〈<”请输入姓名"〈〈endl;
cin>〉d[i].name;
cout〈<"请输入性别"<〈endl;
cin〉〉d[i]。sex;
cout<<"请输入宿舍号”<〈endl;
cin〉>d[i]。domNum;
cout〈<”请输入电话号”〈〈endl;
cin〉〉d[i].tel;
stuNum++;
cout<〈”是否继续?是 y,否 n”〈〈endl;
cin〉〉m;
if(m!=’y')
break;
}
//输入学生的成绩信息到内存 s[i]中
for(i=0;i〈3;i++)
{
cout〈〈”请开始输入”<〈s[i]。courseName<〈”成绩”〈<endl;
for(j=0;j<stuNum;j++)
{
cout<〈”学号”〈〈endl;
cin>>s[i]. score_talbe[j].stuNo;
cout<〈s[i].courseName〈〈”平时成绩"<〈endl;
cin〉〉s[i]。 score_talbe[j]. triGrade;
cout〈<s[i].courseName〈〈”卷面成绩”〈<endl;
cin>>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;
}
}
//声明文件流对象
剩余17页未读,继续阅读
智慧安全方案
- 粉丝: 3607
- 资源: 59万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0