C语言课程设计题目 学生成绩管理系统设计 5

说明及要求:有N个学生,每个学生的数据包括学号(不重复)、姓名、三门课的成绩及平均成绩,试设计一个学生成绩管理系统,使之能提供以下功能:1主菜单。2个菜单项功能:(1)成... 说明及要求:有N个学生,每个学生的数据包括学号(不重复)、姓名、三门课的成绩及平均成绩,试设计一个学生成绩管理系统,使之能提供以下功能:
1主菜单。
2个菜单项功能:
(1)成绩录入:输入学生的学号、姓名及三门课的成绩。
(2):成绩查询(至少一种查询方式):按学号查询学生记录;查询不及格学生的记录。
(3):计算学生的平均分;根据学生的平均分高低,对学生的数据进行排序后输出;对学生单科成绩排序,输出学生姓名与该科成绩。
(4)退出系统:退出整个系统(即主菜单)。
顺便请附加一下流程图。急急急!!谢谢!!!
展开
 我来答
匿名用户
2013-06-19
展开全部
附件:(程序代码)

#include<iostream>
#include<fstream> //输入输出文件
#include<string>
#include<iomanip> //输出格式控制
using namespace std;
char press;int choose;int n;
class Student
{public:
int num;//学号
string name;//姓名
int bj;// 班级
char sex;//性别
float Math;//高数
float English;//英语
float Cjj;//C++
float sum;//总分
float average;//平均分
};
Student stud[100];
//----------------读取资料------------------
void read()
{char filename[20];
cout<<"从文件中读取信息!"<<endl;
cout<<"请输入文件名:"<<endl;
cin>>filename;
ifstream infile(filename,ios::in|ios::out); 磁盘文件
if(!infile)
{cerr<<"open error!"<<endl; exit(1); }//输出出错信
do {int i=0;
infile>>stud[i].num>>stud[i].name>>stud[i].sex>>stud[i].bj;
infile>>stud[i].Math>>stud[i].English>>stud[i].Cjj;
cout<<"学生的学号:"<<stud[i].num<<" "
<<"姓名:"<<stud[i].name<<" "
<<"性别(男m/女w):"<<stud[i].sex<<" "
<<"班级(数字如:03):"<<stud[i].bj<<" "
<<"高数成绩:"<<stud[i].Math<<" "
<<"大学英语成绩:"<<stud[i].English<<" "
<<"C++成绩:"<<stud[i].Cjj<<endl; i++;}
while(!infile.eof());
infile.close();
cout<<"读取成功!"<<endl;}
//----------------保存资料------------------
void save()
{int i;
char filename[20];
for(i=0;i<n;i++)
{cout<<"学生的学号:"<<stud[i].num<<" "
<<"姓名:"<<stud[i].name<<" "
<<"性别:"<<stud[i].sex<<" "
<<"班级:"<<stud[i].bj<<" "
<<"高数成绩:"<<stud[i].Math<<" "
<<"大学英语成绩:"<<stud[i].English<<" "
<<"C++成绩:"<<stud[i].Cjj<<endl;}
cout<<"将记录保存在文件夹!"<<endl;
cout<<"请输入文件名:";
cin>>filename;
ofstream outfile(filename);
if(!outfile){cerr<<"open error!"<<endl;}//输出出错信
for(i=0;i<n;i++)//向保存文件保存学生的信息
{outfile<<" "<<stud[i].num<<" "<<stud[i].name<<" "<<stud[i].sex<<" "<<stud[i].bj<<" ";
outfile<<stud[i].Math<<" "<<stud[i].English<<" "<<stud[i].Cjj; }
outfile.close();cout<<"保存成功!"<<endl;}

void SR()
{cout<<"请根据你的需要输入学生的个数[(人数)>=2]:";
cin>>n;for(int a=0;a<n;a++)
{cout<<"请输入第"<<a+1<<"个学生资料:"<<endl;
cout<<"学号:"<<' ';cin>>stud[a].num;
cout<<"姓名:"<<' ';cin>>stud[a].name;
cout<<"性别(男m/女w):"<<' ';cin>>stud[a].sex;
cout<<"班级(数字如:03):"<<' ';cin>>stud[a].bj;
cout<<"高数成绩:"<<' ';cin>>stud[a].Math;
cout<<"大学英语成绩:"<<' ';cin>>stud[a].English;
cout<<"C++成绩:"<<' ';cin>>stud[a].Cjj;
stud[a].sum=stud[a].Math+stud[a].English+stud[a].Cjj;
stud[a].average=(stud[a].Math+stud[a].English+stud[a].Cjj)/3;}
cout<<"输入成功,学生资料是否保存?(y/n)"<<endl;cin>>press;
switch(press)
{case 'y' : save();break;default: cout<<"不保存!";break;}}
//----------------删除资料------------------
void SC()
{do{string SC_name;
cout<<"请输入你要删除的学生名字:"<<endl;int i=0;cin>>SC_name;
while(stud[i].name!=SC_name&&i<n) i++; //查找判断
if(stud[i].name==SC_name)
{for(int j=i;j<n-1;j++)
{stud[i].num=stud[i+1].num;
stud[i].name=stud[i+1].name;
stud[i].sex=stud[i+1].sex;
stud[i].bj=um<<" "<<stud[k].name<<" "<<stud[k].sex<<" "<<stud[k].bj<<" "<<stud[k].average<<endl;cout<<endl;}
//----i].
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式