65,211
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
#include<vector>
#include<iomanip>
using namespace std;
struct Student
{
char Sno_[20];
char Sname_[20];
int mathGrade_;
int engGrade_;
int lineGrade_;
int progGrade_;
};
int main()
{
int n;
cout<<"请输入想录入信息的学生人数:";
cin>>n;
vector<Student> Stu;
Student tmp;
for(int i=0;i!=n;++i)
{
cout<<"请输入第"<<i+1<<"个学生的学号:";
cin>>tmp.Sno_;
cout<<"请输入第"<<i+1<<"个学生的姓名:";
cin>>tmp.Sname_;
cout<<"请输入第"<<i+1<<"个学生的高数成绩:";
cin>>tmp.mathGrade_;
cout<<"请输入第"<<i+1<<"个学生的英语成绩:";
cin>>tmp.engGrade_;
cout<<"请输入第"<<i+1<<"个学生的线代成绩:";
cin>>tmp.lineGrade_;
cout<<"请输入第"<<i+1<<"个学生的程序成绩:";
cin>>tmp.progGrade_;
Stu.push_back(tmp);
}
cout<<"输入完毕!下面是全部学生信息:"<<endl;
cout<<setw(8)<<"学号"
<<setw(8)<<"姓名"
<<setw(8)<<"高数"
<<setw(8)<<"英语"
<<setw(8)<<"线代"
<<setw(8)<<"程序"<<endl;
for(vector<Student>::iterator iter=Stu.begin();iter!=Stu.end();++iter)
{
cout<<setw(8)<<iter->Sno_
<<setw(8)<<iter->Sname_
<<setw(8)<<iter->mathGrade_
<<setw(8)<<iter->engGrade_
<<setw(8)<<iter->lineGrade_
<<setw(8)<<iter->progGrade_<<endl;
}
return 0;
}
#include <iostream>
#include <string>
using namespace std;
class Course{
static const string CourseName[5];
public:
static enum CourseId{NA,AM,EN,LA,PD};
typedef CourseId ID;
Course(){ courseId = NA;}
Course(Course::ID id){ courseId = id; }
friend ostream& operator<<(ostream &out,Course c){
return out << CourseName[c.courseId];
}
protected:
CourseId courseId;
};
const string Course::CourseName[5] = {"Not Available","Advanced math","English","Linear Algebra","Program Design"};
class Grade{
static const string GradeCode[];
public:
static enum GradeId{NA,F,CM,C,CP,BM,B,BP,AM,A,AP};
typedef GradeId ID;
Grade(){ gradeId = NA; }
Grade(Grade::ID id){ gradeId = id; }
friend ostream& operator<<(ostream &out,Grade g){
return out << GradeCode[g.gradeId];
}
protected:
GradeId gradeId;
};
const string Grade::GradeCode[]={"N/A","Fail","C-","C","C+","B-","B","B+","A-","A","A+"};
class StudentId{
static const string emptyId;
public:
StudentId(){ studentId = emptyId;}
StudentId(string id){
if(id.length() != 6) {
cerr << "Error: student id length\n";
exit(1);
}else{
for(int i=0; i<6; i++)
if(!isdigit(id[i])){
cerr << "Error: student id format\n";
exit(1);
}
}
studentId = id;
}
friend ostream& operator<<(ostream &out, StudentId id){
return cout << id.studentId;
}
protected:
string studentId;
};
const string StudentId::emptyId=" ";
class StudentInfor{
public:
StudentInfor():ID(),course(),grade(){
name = "";
}
StudentInfor(string I, string n, Course::ID c, Grade::ID g):ID(I),course(c),grade(g){
name = n;
}
friend ostream& operator<<(ostream &out, StudentInfor s){
return out << s.ID << '\t'<< s.name << '\t'<< s.course << '\t'<< s.grade << endl;
}
protected:
StudentId ID;
string name;
Course course;
Grade grade;
};
int main(int argc, char *argv[])
{
StudentInfor student[2]={StudentInfor("001001","machel jackson",Course::AM, Grade::AP),
StudentInfor("001002","williams sonoma",Course::EN,Grade::BM)};
cout << student[0];
cout << student[1];
}
哇,又是这种问题
晕死.....