Better Sudoku Solver Input Method

I have been working on a sudoku solver for some time now. The major problem is that inputting the values using cin is a pain, typing in the row, column, and value one by one as shown:
1
2
3
4
5
6
7
cout << "Column: ";
cin >> Input_Column;
cout << "Row: ";
cin >> Input_Row;
cout << "Value: ";
cin >> Input_Value;
cout << "\n";


All i want to do is make a 9x9 set of input boxes and a display method. GUI's are not my kind of thing, so I do not deal with them that much. I have some example code to start out, but I don't know how to elaborate on it or get the numerical values. Any help would be appreciated

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
/*
 * The example Code I found
 */
#include <windows.h>

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
static char gszClassName[] = "db Tutorial";
static HINSTANCE ghInstance = NULL;

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
	WNDCLASSEX WndClass;
	HWND hwnd;
	MSG Msg;

	ghInstance = hInstance;

	WndClass.cbSize    = sizeof(WNDCLASSEX);
	WndClass.style     = NULL;
	WndClass.lpfnWndProc  = WndProc;
	WndClass.cbClsExtra  = 0;
	WndClass.cbWndExtra  = 0;
	WndClass.hInstance   = ghInstance;
	WndClass.hIcon     = LoadIcon(NULL, IDI_APPLICATION);
	WndClass.hCursor    = LoadCursor(NULL, IDC_ARROW);
	WndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
	WndClass.lpszMenuName = NULL;
	WndClass.lpszClassName = gszClassName;
	WndClass.hIconSm    = LoadIcon(NULL, IDI_APPLICATION);

	if(!RegisterClassEx(&WndClass))
	{
		MessageBox(0, "Error Registering Window!", "Error!", MB_ICONSTOP | MB_OK);
		return 0;
	}

	hwnd = CreateWindowEx(
		WS_EX_STATICEDGE,
		gszClassName,
		"Jake's title!",
		WS_OVERLAPPEDWINDOW,
		CW_USEDEFAULT,
		CW_USEDEFAULT,
		720, 480,
		NULL, NULL,
		ghInstance,
		NULL);

	if(hwnd == NULL)
	{
		MessageBox(0, "Window Creation Failed!", "Error!", MB_ICONSTOP | MB_OK);
		return 0;
	}

	ShowWindow(hwnd, nCmdShow);
	UpdateWindow(hwnd);

	while(GetMessage(&Msg, NULL, 0, 0))
	{
		TranslateMessage(&Msg);
		DispatchMessage(&Msg);
	}
	return Msg.wParam;
}

LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
{
	HWND hEdit;

	switch(Message)
	{
	case WM_CREATE:
		hEdit  = CreateWindowEx(
			NULL,
			"Edit", "edit box 1",
			WS_BORDER | WS_CHILD | WS_VISIBLE,
			50, 60,
			100, 30,
			hwnd,
			NULL,
			ghInstance,
			NULL);
		break;
	case WM_CLOSE:
		DestroyWindow(hwnd);
		break;
	case WM_DESTROY:
		PostQuitMessage(0);
		break;
	default:
		return DefWindowProc(hwnd, Message, wParam, lParam);
	}
	
	return 0;
}
Topic archived. No new replies allowed.