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 문법 틀린 부분을 알려주시면 감사하겠습니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력