用C语言做个简单的计算机,上面是代码,请教上资源文件在哪里编写,要新建什么文件

用C语言做个简单的计算机,下面是代码,请问下资源文件在哪里编写,要新建什么文件
还是先做界面,先写资源文件。
/***********MyCalculator.rc**************/

#include <resource.h>

#define ICO_MAIN 0X1000
#define DLG_MAIN 1

#define IDB_0 0X4400 //0
#define IDB_1 0X4401 //1
#define IDB_2 0X4402 //2
#define IDB_3 0X4403 //3
#define IDB_4 0X4404 //4
#define IDB_5 0X4405 //5
#define IDB_6 0X4406 //6
#define IDB_7 0X4407 //7
#define IDB_8 0X4408 //8
#define IDB_9 0X4409 //9
#define IDB_PLUS 0X4410 //+
#define IDB_SUB 0X4411 //-
#define IDB_EQU 0X4412 //=
#define IDB_DOT 0X4413 //.
#define IDB_PAS 0X4414 //正负号
#define IDB_EDIT 0x4415 //编辑框

ICO_MAIN ICON "xhk.ico"

DLG_MAIN DIALOG 300,150,102,140 STYLE DS_SETFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "我的计算器"
FONT 9,"宋体"
{
//定义编辑框控件
EDITTEXT IDB_EDIT,7,10,86,17,ES_RIGHT

PUSHBUTTON "7",IDB_7,5,30,23,17
PUSHBUTTON "8", IDB_8, 38,30,23,17
PUSHBUTTON "9",IDB_9,71,30,23,17

PUSHBUTTON "4",IDB_4,5,52,23,17
PUSHBUTTON "5",IDB_5,38,52,23,17
PUSHBUTTON "6",IDB_6,71,52,23,17

PUSHBUTTON "1",IDB_1,5,74,23,17
PUSHBUTTON "2",IDB_2,38,74,23,17
PUSHBUTTON "3",IDB_3,71,74,23,17

PUSHBUTTON "0",IDB_0,5,92,23,17
PUSHBUTTON "+/-",IDB_PAS,38,92,23,17
PUSHBUTTON ".",IDB_DOT,71,92,23,17

PUSHBUTTON "+",IDB_PLUS,5,114,23,17
PUSHBUTTON "-",IDB_SUB,38,114,23,17
PUSHBUTTON "=",IDB_EQU,71,114,23,17
}
下面还是主程序代码:
/***********MyCalculator.c**************/

#include <windows.h>
#include <stdio.h>

#define ICO_MAIN 0X1000
#define DLG_MAIN 1

#define IDB_0 0X4400 //0
#define IDB_1 0X4401 //1
#define IDB_2 0X4402 //2
#define IDB_3 0X4403 //3
#define IDB_4 0X4404 //4
#define IDB_5 0X4405 //5
#define IDB_6 0X4406 //6
#define IDB_7 0X4407 //7
#define IDB_8 0X4408 //8
#define IDB_9 0X4409 //9
#define IDB_PLUS 0X4410 //+
#define IDB_SUB 0X4411 //-
#define IDB_EQU 0X4412 //=
#define IDB_DOT 0X4413 //.
#define IDB_PAS 0X4414 //正负号
#define IDB_EDIT 0x4415 //编辑框


int num1=0;//定义了第一个数字
int num2=0;//定义了第二个数字
char s[10];//为了方面参数的传递,定义了这个全局变量,完全没有这个必要
UINT uFlags=1;//标识是否按下了加号或者等号,切换给num1和num2赋值
char oPration='+';//操作符标志,判断按下的是什么操作符,默认为加

//把字符串转化成数字
int StrToNum(char * str)
{
return atoi(str);
}

//把数字转化成字符串
char * NumToStr(int nNum)
{

itoa(nNum,s,10);
return s;

}

//修改编辑框控件的文字
int SetEditValue(int nNum,HWND hEdit)
{
if(uFlags==1)
{
num1 = num1*10+nNum;//可以使数字进位(向左移)
SetWindowText(hEdit,NumToStr(num1));
}
else
{
num2 = num2*10+nNum;//可以使数字进位(向左移)
SetWindowText(hEdit,NumToStr(num2));
}
return 0;
}

LRESULT WINAPI DialogProc(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam)
{
HICON hIcon;
HWND hEdit = GetDlgItem(hWnd,IDB_EDIT);
switch(Msg)
{
case WM_INITDIALOG:
//设置图标
hIcon = LoadIcon(GetModuleHandle("MyCalculator.exe"),MAKEINTRESOURCE(ICO_MAIN));
SendMessage(hWnd,WM_SETICON,ICON_BIG,(long)hIcon);
SetWindowText(hEdit,"0.");//让编辑框控件的内容为"0."
return TRUE;
case WM_COMMAND:
switch(LOWORD(wParam))//LOWORD(wParam)用来取出命令ID
{
//一下处理过程可以更简单的,大家自己想想,看怎样处理好
//自己完成计算器可以满足支持小数点和正负号
case IDB_0:
SetEditValue(0,hEdit);
break;
case IDB_1:
SetEditValue(1,hEdit);
break;
case IDB_2:
SetEditValue(2,hEdit);
break;
case IDB_3:
SetEditValue(3,hEdit);