이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date |
2006/10/13 20:10:10 |
Name |
비타민C |
Subject |
C++ 프로그래밍 기초 질문입니다.. |
지금 학교에서 MFC를 배우고 있는데 c++ 언어를 배운지가 오래되기도 했고 군대갔다오면서 완전 백지화 되는 바람에 진도 따라가기가 무척 힘이 드네요 ㅠㅠ
과제를 내주셨는데 한문제를 가지고 몇시간동안 싸웠더니 머리에 쥐도 나구요.
이렇게 했는데도 해결을 못해서 도움요청합니다 ㅠ_ㅠ
이름 키
홍길동 172
박철수 164
신여정 172
위 표의 데이터를 보관하고 이름을 입력하면 키를 출력하고, 키를 입력하면 관련된 이름을 모두 출력하라.
....
이게 문제입니다.
맵클래스를 이용해서 푸는 문제인데요... 기초가 안되어있으니 힘드네요...
참고로 밑의 소스를 수정하여 푸는 문제입니다..
#include "stdafx.h"
#include "Console.h"
#include <afxtempl.h>
CWinApp theApp;
using namespace std;
UINT AFXAPI HashKey(CString& str)
{
LPCTSTR key = (LPCTSTR) str;
UINT nHash = 0;
while(*key)
nHash = (nHash<<5) + nHash + *key++;
return nHash;
}
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
cerr << _T("Fatal Error: MFC initialization failed") << endl;
nRetCode = 1;
}
else
{
CMap<CString, CString&, UINT, UINT&> map;
map[CString ("홍길동")] = 172;
map[CString ("박철수")] = 164;
map[CString ("오영희")] = 166;
map[CString ("구오성")] = 182;
map[CString ("김윤희")] = 159;
map[CString ("최성주")] = 162;
map[CString ("신여정")] = 172;
UINT nCount;
if(map.Lookup(CString ("홍길동"), nCount))
cout << "홍길동" << nCount << "cm입니다." << endl;
}
return nRetCode;
}
|
통합규정 1.3 이용안내 인용
"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
|