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
0