定义Student学生类,其中包括3个成员变量(char[40] 姓名,char[20] 学号,float 分数),两个构造方法(一个默认无参的构造方法,一个为带三个参数姓名学号分数的构造方法用于给成员变量赋值)和ShowInfo()方法。
ShowInfo方法用于显示每个学生类对象的成员变量信息。
主函数中实例化对象:刘明,张亮,调用ShowInfo显示他们信息。
显示的格式为:姓名:XXX,学号:XXXX,分数:XX 分数保留一位小数。
(提示:按类文件+实现文件+主文件格式书写代码)
题目给你说的比较清楚了,
代码如下:
Student.h (类文件)
#pragma once
#include <iostream>
#include <cstring>
#include <iomanip>
using namespace std;
class Student
{
private:
char name[40];//姓名
char id[20]; //学号
float score; //分数
public:
//无参构造函数
Student();
//3参数构造函数
Student(const char _name[], const char _id[], float s);
void ShowInfo();
};
Student.cpp(实现文件)
#include "Student.h"
Student::Student()
{
name[0] = 0;
id[0] = 0;
score = 0;
}
//3参数构造函数
Student::Student(const char _name[], const char _id[], float s)
{
strcpy_s(name, 40,_name);
strcpy_s(id,20, _id);
score = s;
}
void Student::ShowInfo()
{
cout << "姓名:" << name << ",学号:" << id << ",分数:";
cout << fixed << setprecision(1) << score << endl; //保留1位小数
}
main.cpp(主文件)
#include "Student.h"
using namespace std;
int main()
{
Student lm("刘明", "100001", 89.5);
Student zl("张亮", "100002", 88);
lm.ShowInfo();
zl.ShowInfo();
}
哪部分不会啊?参考一下:
#include <iostream>
using namespace std;
#include<iomanip>
#include <string.h>
class Student
{
private:
char name[40];
char id[20];
float score;
public:
Student() {}
Student(char n[40],char d[20],float s)
{
strcpy_s(name,40,n);
strcpy_s(id,20,d);
score = s;
}
void ShowInfo()
{
cout<<"姓名:"<<name<<endl;
cout<<"学号:"<<id<<endl;
cout<<"成绩:"<<setiosflags(ios::fixed)<<setprecision(1)<<score<<endl;
}
};
int main()
{
Student s1("刘明","11223344",98);
Student s2("张亮","11223355",85);
s1.ShowInfo();
s2.ShowInfo();
return 0;
}