Student.h
#pragma once
#include <iostream>
#include <string>
using namespace std;
class Student {
string name; int kor, math, eng, avr;
public:
static int count;
Student();
double getAvr();
string getName();
static int getcount() { return count; }
~Student() {}
};
Student.cpp
#include "Student.h"
#include <iostream>
using namespace std;
Student ::Student()
{
cout << " 이름: ";
cin >> name;
cout << " 국어: ";
cin >> kor;
cout << " 수학: ";
cin >> math;
cout << " 영어: ";
cin >> eng;
++count; //생성시 증가
}
double Student :: getAvr()
{
return avr = kor + math + eng;
}
string Student::getName() { return name; }
int Student::count = 0;
main.cpp
#include <iostream>
#include <string>
#include "Student.h"
using namespace std;
int main()
{
Student s[2] = {};
int win = 0; int lose = 0;
int num = Student::count;
for (int i = 0; i < num - 1; i++) {
if (s[i].getAvr() > s[i + 1].getAvr()){
win = i; lose = i + 1;
}else {
lose = i; win = i + 1;
}
}
cout << "최다 득점자 : " << s[win].getName() << endl;
cout << "최소 득점자 : " << s[lose].getName() << endl;
return 0;
}
//최고 득점자 최저 득점자
도중 발생한 오류
헤더에 초기화 시킨 것이 원인
마지막 실행결과
댓글