STL(vector)를 사용한 C++코드를 작성중인데 오류가 나서 문의 드립니다.

조회수 975회
#include <iostream>
#include <string>
#include <vector>

using namespace std;

inline void InputValue(int& i) {
    cin >> i;
}
inline void InputValue(string& str) {
    getline(cin, str);
    if (str.empty())
        getline(cin, str);
}

struct Students {
    vector<string> Names;
    vector<int> Hakbuns;
};

inline void PrintMenu() {
    cout << "===== 메뉴 =====" << endl;
    cout << "1. 학생 정보 입력" << endl;
    cout << "2. 학생 정보 보기" << endl;
    cout << "3. 학생 정보 삭제" << endl;
    cout << "4. 프로그램 종료" << endl << endl;
    cout << "원하는 기능을 입력하세요 : ";
}

int main() {
    Students St;
    int selected_menu = 0;

    while (selected_menu != 4) {
        PrintMenu();
        InputValue(selected_menu);
        cout << endl;

        switch (selected_menu) {
        case 1:

            InputData(St);
            break;
        case 2:

            PrintData(St);
            break;
        case 3:

            DeleteData(St);
            break;
        }
    }

    return 0;
}

void InputData(Students& St) {
    cout << "교과목명 : ";
    InputValue(Names);   <=여기서 부터 Names와 Hakbuns 식별자 오류가 납니다.
    cout << "과목학점수 : ";
    InputValue(Hakbuns);

    Names.push_back();
    Hakbuns.push_back();
}

void PrintData(const Students& St) {
        cout << "이름" << St.Names << endl;
        cout << "학번" << St.Hakbuns << endl;
}

void DeleteData(Students& St) {
    Names.pop_back();
    Hakbuns.pop_back();
}

이렇게 학생 정보 관리 코드를 작성해보았습니다. 그런데 STL(vector)함수를 처음 사용하여서 Names와 Hakbuns가 선언되지 않는 식별자라고 뜨면서 실행되지 않습니다. 그래서 코드를 어떤씩으로 수정을 해야되는지나 vector 문법 틀린 부분을 알려주시면 감사하겠습니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 벡터의 문제가 아니네요. 선언이 안 되어 있잖아요. nowp 2020.6.10 23:40
  • 다시확인해보니 그렇네요 설명감사합니다. 덕분에 해결했습니다. 알 수 없는 사용자 2020.6.13 13:50
  • 어떻게 해결하셨나요?? 저도 같은 문제를 풀고 있는데 어디 부분을 추가해야할지 모르곘네요... C++은 처음이라.. 알 수 없는 사용자 2021.6.13 23:51

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)