01/10/2018, 00:43
Lấy dữ liệu second dựa theo dữ liệu first trong unordered_map
Mình có chương trình như sau. Có một danh sách môn kiểu dữ liệu unordered_map, nhập vào mã môn học, lấy ra được tên môn học tương ứng. Nhưng chương trình chạy lỗi
#include "stdio.h"
#include "conio.h"
#include "string"
#include "windows.h"
#include "unordered_map"
#include "iostream"
using namespace std;
void init( unordered_map<char *, char *> & DSMon )
{
DSMon[ "INF0434" ] = "Nhap mon lap trinh";
DSMon[ "INF0184" ] = "Ky thuat lap trinh";
DSMon[ "INF0074" ] = "Cau truc du lieu va giai thuat";
DSMon[ "INF0204" ] = "Lap trinh huong doi tuong";
DSMon[ "INF0084" ] = "Co so du lieu";
}
int main()
{
unordered_map<char *, char *> DSMon;
char strMaMon[30];
init( DSMon );
for ( auto m : DSMon )
printf("%s - %s
", m.first, m.second );
fflush( stdin );
printf("Nhap vao ma mon hoc muon chon: ");
gets( strMaMon );
printf("
%s", DSMon.find( strMaMon )->second );
getch();
return 0;
}
Bài liên quan