《C语言也能干大事》第四节
板书:
上节课作业
(8)作业:做一个面积计算器,用户输入半径,在另外一个文本框中显示面积。
void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
{
switch(id)
{
case IDC_OK:
{
TCHAR str[256];
GetDlgItemText(hwnd,IDC_EDIT1,str,sizeof(str));
int r=atoi(str);
int s=3.14*r*r;
TCHAR str1[256];
wsprintf(str1,"%d",s);
SetDlgItemText(hwnd,IDC_EDIT2,str1);
}
break;
default:
break;
}
}
(10)作业:用户输入十进制整数,在另外一个文本框中显示整数的二进制形式。做一个十进制到二进制的转换小工具。
void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
{
switch(id)
{
case IDC_OK:
{
TCHAR str[256];
GetDlgItemText(hwnd,IDC_EDIT1,str,sizeof(str));
int i=atoi(str);
TCHAR str1[256];
itoa(i,str1,2);
SetDlgItemText(hwnd,IDC_EDIT2,str1);
}
break;
default:
break;
}
}
(10)作业:计算两个数的差。不要总认为看很多书、学高深技术、看很多视频就是牛人,能把一个最简单的程序快速写出来的才是牛人!!!
void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
{
switch(id)
{
case IDC_OK:
{
TCHAR str1[256];
TCHAR str2[256];
GetDlgItemText(hwnd,IDC_EDIT1,str1,sizeof(str1));
GetDlgItemText(hwnd,IDC_EDIT2,str2,sizeof(str2));
int i1=atoi(str1);
int i2=atoi(str2);
int i3=i1-i2;
TCHAR str3[256];
//wsprintf(str3,"%d",i3);
itoa(i3,str3,10);
SetDlgItemText(hwnd,IDC_EDIT3,str3);
}
break;
default:
break;
}
}
(11)思考:这个计算两个数的和程序有什么缺陷?没有阻止用户输入非数字。怎么解决。
//*BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam)
{
return TRUE;
}*//
BOOL IsInt(TCHAR* str)
{
int i=atoi(str);
TCHAR strtemp[256];
wsprintf(strtemp,"%i",i);
if(strcmp(str,strtemp)!=0)
{
return FALSE;
}
else
{
return TRUE;
}
}
//*void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
{
switch(id)
{
case IDC_OK:*//
{
TCHAR str1[256];
TCHAR str2[256];
GetDlgItemText(hwnd,IDC_EDIT1,str1,sizeof(str1));
GetDlgItemText(hwnd,IDC_EDIT2,str2,sizeof(str2));
if(IsInt(str1)==FALSE)
{
MessageBox(hwnd,TEXT("第一个数不是合法的数!"),
TEXT("错误提示"),MB_OK|MB_ICONERROR);
return;
}
if(IsInt(str2)==FALSE)
{
MessageBox(hwnd,TEXT("第二个数不是合法的数!"),
TEXT("错误提示"),MB_OK|MB_ICONERROR);
return;
}
int i1=atoi(str1);
int i2=atoi(str2);
int i3=i1+i2;
TCHAR str3[256];
wsprintf(str3,"%i",i3);
SetDlgItemText(hwnd,IDC_EDIT3,str3);
调试的技巧,断点:执行到断点的时候程序暂停住。
展开阅读全文