大神,设计一个Student类,类中包含学生基本数据:学号、姓名、性别、数学成绩、英语成绩、计算机成绩。 5
基本功能:1)输入一些学生的基本信息(包括学号,姓名,性别,3门课程成绩)。2)按姓名或者学号查找、修改、删除和保存各个学生的信息。3)可根据输入的学号计算该学生的总成绩...
基本功能:
1)输入一些学生的基本信息(包括学号,姓名,性别,3门课程成绩)。
2)按姓名或者学号查找、修改、删除和保存各个学生的信息。
3)可根据输入的学号计算该学生的总成绩和平均分。
4)可将课程成绩分数段作为查询条件,查看学生成绩。比如可选择查看不及格(0-59分)的学生信息和90分以上(90-100分)的学生信息。
选做内容:计算每个学生各门功课总分和平均分,可按学号或总分排序输出每个学生的基本信息及总分、平均分和名次;设置系统登陆密码,只有正确输入密码方可进入管理系统;可更改和保存登录密码;重载插入(<<)和提取(>>)运算符,使得对学生信息可以直接输入输出。
求救!!!!急急急急!!!!
需要c++解决 展开
1)输入一些学生的基本信息(包括学号,姓名,性别,3门课程成绩)。
2)按姓名或者学号查找、修改、删除和保存各个学生的信息。
3)可根据输入的学号计算该学生的总成绩和平均分。
4)可将课程成绩分数段作为查询条件,查看学生成绩。比如可选择查看不及格(0-59分)的学生信息和90分以上(90-100分)的学生信息。
选做内容:计算每个学生各门功课总分和平均分,可按学号或总分排序输出每个学生的基本信息及总分、平均分和名次;设置系统登陆密码,只有正确输入密码方可进入管理系统;可更改和保存登录密码;重载插入(<<)和提取(>>)运算符,使得对学生信息可以直接输入输出。
求救!!!!急急急急!!!!
需要c++解决 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏5(财富值+成长值)
展开全部
#include <iostream>
#include <istream>
#include <string>
#include <list>
#include <fstream>
using std::string;
using std::cin;
using std::cout;
using std::istream;
using std::ostream;
using std::list;
using std::ofstream;
using std::ios;
class Score{
int cpp;
int math;
int english;
friend istream& operator >> (istream& in, Score& score);
friend ostream& operator << (ostream& out, const Score& score);
};
class Student{
string name;
string sex;
int age;
Score score;
friend istream& operator >> (istream&, Student&);
friend ostream& operator << (ostream& out, const Student& stu);
public:
void setScore(Score score);
};
void Student::setScore(Score score)
{
Student::score = score;
}
istream& operator >> (istream& in, Student& stu)
{
in >> stu.name
>> stu.sex
>> stu.age;
return in;
}
ostream& operator << (ostream& out, const Student& stu)
{
out << stu.name << " "
<< stu.sex << " "
<< stu.age << " "
<< stu.score << " ";
return out;
}
istream& operator >> (istream& in, Score& score)
{
in >> score.cpp
>> score.math
>> score.english;
return in;
}
ostream& operator << (ostream& out, const Score& score)
{
out << score.cpp << " "
<< score.math << " "
<< score.english << std::endl;
return out;
}
void save_student_info(list<Student> &stu_list)
{
ofstream file;
file.open("student.dat", ios::out | ios::app);
list<Student>::iterator iter;
if(file.is_open()){
for(iter = stu_list.begin(); iter != stu_list.end(); iter++)
{
file << *iter;
}
file.close();
}else{
cout << "can't open file!";
}
}
void type_in_student_info(list<Student> &stu_list)
{
char ch;
while(true){
cout << "是否录入(Y/N):";
cin >> ch;
if('N' == ch || 'n' == ch){
break;
}
cout << "请输入学生信息(姓名、性别、年龄):";
Student stu;
cin >> stu;
cout << "请输入学生成绩(c++、数学、英语):";
Score score;
cin >> score;
stu.setScore(score);
stu_list.push_back(stu);
}
save_student_info(stu_list);
}
int main()
{
list<Student> stu_list;
//输入学生信息
type_in_student_info(stu_list);
return 0;
#include <istream>
#include <string>
#include <list>
#include <fstream>
using std::string;
using std::cin;
using std::cout;
using std::istream;
using std::ostream;
using std::list;
using std::ofstream;
using std::ios;
class Score{
int cpp;
int math;
int english;
friend istream& operator >> (istream& in, Score& score);
friend ostream& operator << (ostream& out, const Score& score);
};
class Student{
string name;
string sex;
int age;
Score score;
friend istream& operator >> (istream&, Student&);
friend ostream& operator << (ostream& out, const Student& stu);
public:
void setScore(Score score);
};
void Student::setScore(Score score)
{
Student::score = score;
}
istream& operator >> (istream& in, Student& stu)
{
in >> stu.name
>> stu.sex
>> stu.age;
return in;
}
ostream& operator << (ostream& out, const Student& stu)
{
out << stu.name << " "
<< stu.sex << " "
<< stu.age << " "
<< stu.score << " ";
return out;
}
istream& operator >> (istream& in, Score& score)
{
in >> score.cpp
>> score.math
>> score.english;
return in;
}
ostream& operator << (ostream& out, const Score& score)
{
out << score.cpp << " "
<< score.math << " "
<< score.english << std::endl;
return out;
}
void save_student_info(list<Student> &stu_list)
{
ofstream file;
file.open("student.dat", ios::out | ios::app);
list<Student>::iterator iter;
if(file.is_open()){
for(iter = stu_list.begin(); iter != stu_list.end(); iter++)
{
file << *iter;
}
file.close();
}else{
cout << "can't open file!";
}
}
void type_in_student_info(list<Student> &stu_list)
{
char ch;
while(true){
cout << "是否录入(Y/N):";
cin >> ch;
if('N' == ch || 'n' == ch){
break;
}
cout << "请输入学生信息(姓名、性别、年龄):";
Student stu;
cin >> stu;
cout << "请输入学生成绩(c++、数学、英语):";
Score score;
cin >> score;
stu.setScore(score);
stu_list.push_back(stu);
}
save_student_info(stu_list);
}
int main()
{
list<Student> stu_list;
//输入学生信息
type_in_student_info(stu_list);
return 0;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询