一道c语言编程题目 !急!!! 160
编程实现一个字数统计工具,要求可以直接在程序的文字区域输入文字,然后开始统计相关字数,也可以将要统计的文本粘贴到该程序中,然后进行统计。点击“开始统计”按钮,对应文本的字...
编程实现一个字数统计工具,要求可以直接在程序的文字区域输入文字,然后开始统计相关字数,也可以将要统计的文本粘贴到该程序中,然后进行统计。点击“开始统计”按钮,对应文本的字母字数和汉字字数就可以在程序窗口中的编辑框中显示出来
C++,只要能在visual c++运行就可以 展开
C++,只要能在visual c++运行就可以 展开
7个回答
展开全部
总共三个文件:count.c,cout.rc,resource.h,VC6.0下编译通过,运行正常
count.c////
#include <windows.h>
#include <string.h>
#include "resource.h"
LRESULT CALLBACK DlgProc(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
DialogBox(hInstance,(LPCTSTR)IDD_DIALOG1, NULL, (DLGPROC)DlgProc);
return 0;
}
LRESULT CALLBACK DlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
char s[1024],tmp[20];
int i,len,letter,cn;
switch (message)
{
case WM_INITDIALOG:
return TRUE;
case WM_COMMAND:
if (LOWORD(wParam) == IDCANCEL)
{
EndDialog(hDlg, LOWORD(wParam));
return TRUE;
}
else
{
if(LOWORD(wParam) == IDOK)
{
GetDlgItemText(hDlg,IDC_EDIT_TEXT,s,sizeof(s));
len=strlen(s);
letter=cn=0;
for(i=0;i<len;i++)
{
if(s[i]<0)
{
cn++;
i++;
}
else
{
if((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z'))
letter++;
}
}
SetDlgItemText(hDlg,IDC_EDIT_LETTER,itoa(letter,tmp,10));
SetDlgItemText(hDlg,IDC_EDIT_CN,itoa(cn,tmp,10));
return TRUE;
}
}
}
return FALSE;
}
cout.rc////
//Microsoft Developer Studio generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// Chinese (中国) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
#ifdef _WIN32
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
#pragma code_page(936)
#endif //_WIN32
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE DISCARDABLE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE DISCARDABLE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
IDD_DIALOG1 DIALOG DISCARDABLE 0, 0, 187, 156
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "对话"
FONT 10, "System"
BEGIN
DEFPUSHBUTTON "统计",IDOK,26,128,50,14
PUSHBUTTON "退出",IDCANCEL,108,128,50,14
EDITTEXT IDC_EDIT_TEXT,20,14,146,71,ES_MULTILINE | ES_AUTOVSCROLL
LTEXT "字母个数",IDC_STATIC,16,99,33,8
LTEXT "汉字个数",IDC_STATIC,96,99,33,8
EDITTEXT IDC_EDIT_LETTER,53,97,34,15,ES_AUTOHSCROLL | NOT
WS_TABSTOP
EDITTEXT IDC_EDIT_CN,136,97,34,15,ES_AUTOHSCROLL
END
/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO DISCARDABLE
BEGIN
IDD_DIALOG1, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 180
TOPMARGIN, 7
BOTTOMMARGIN, 149
END
END
#endif // APSTUDIO_INVOKED
#endif // Chinese (中国) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
resource.h///
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by count.rc
//
#define IDD_DIALOG1 101
#define IDC_EDIT_TEXT 1000
#define IDC_EDIT_LETTER 1001
#define IDC_EDIT_CN 1002
#define IDC_STATIC -1
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 102
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1003
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
count.c////
#include <windows.h>
#include <string.h>
#include "resource.h"
LRESULT CALLBACK DlgProc(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
DialogBox(hInstance,(LPCTSTR)IDD_DIALOG1, NULL, (DLGPROC)DlgProc);
return 0;
}
LRESULT CALLBACK DlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
char s[1024],tmp[20];
int i,len,letter,cn;
switch (message)
{
case WM_INITDIALOG:
return TRUE;
case WM_COMMAND:
if (LOWORD(wParam) == IDCANCEL)
{
EndDialog(hDlg, LOWORD(wParam));
return TRUE;
}
else
{
if(LOWORD(wParam) == IDOK)
{
GetDlgItemText(hDlg,IDC_EDIT_TEXT,s,sizeof(s));
len=strlen(s);
letter=cn=0;
for(i=0;i<len;i++)
{
if(s[i]<0)
{
cn++;
i++;
}
else
{
if((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z'))
letter++;
}
}
SetDlgItemText(hDlg,IDC_EDIT_LETTER,itoa(letter,tmp,10));
SetDlgItemText(hDlg,IDC_EDIT_CN,itoa(cn,tmp,10));
return TRUE;
}
}
}
return FALSE;
}
cout.rc////
//Microsoft Developer Studio generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// Chinese (中国) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
#ifdef _WIN32
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
#pragma code_page(936)
#endif //_WIN32
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE DISCARDABLE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE DISCARDABLE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
IDD_DIALOG1 DIALOG DISCARDABLE 0, 0, 187, 156
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "对话"
FONT 10, "System"
BEGIN
DEFPUSHBUTTON "统计",IDOK,26,128,50,14
PUSHBUTTON "退出",IDCANCEL,108,128,50,14
EDITTEXT IDC_EDIT_TEXT,20,14,146,71,ES_MULTILINE | ES_AUTOVSCROLL
LTEXT "字母个数",IDC_STATIC,16,99,33,8
LTEXT "汉字个数",IDC_STATIC,96,99,33,8
EDITTEXT IDC_EDIT_LETTER,53,97,34,15,ES_AUTOHSCROLL | NOT
WS_TABSTOP
EDITTEXT IDC_EDIT_CN,136,97,34,15,ES_AUTOHSCROLL
END
/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO DISCARDABLE
BEGIN
IDD_DIALOG1, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 180
TOPMARGIN, 7
BOTTOMMARGIN, 149
END
END
#endif // APSTUDIO_INVOKED
#endif // Chinese (中国) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
resource.h///
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by count.rc
//
#define IDD_DIALOG1 101
#define IDC_EDIT_TEXT 1000
#define IDC_EDIT_LETTER 1001
#define IDC_EDIT_CN 1002
#define IDC_STATIC -1
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 102
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1003
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
展开全部
用C语言来编写这类的程序,真的没有太大的意义。
这样的应用,感觉用更高级的语言来编写会更方便一点。
C本身没有像一些高级语言一样,带有文本框编辑框这类的控件。真要用,肯定是借用第三方开发的。
个人感觉,方法可以这样,把输入的文字,转换为unicode格式,如果第一个字节是0x00的,那么就是字母和数字,如果不是,那么是汉字。
这样的应用,感觉用更高级的语言来编写会更方便一点。
C本身没有像一些高级语言一样,带有文本框编辑框这类的控件。真要用,肯定是借用第三方开发的。
个人感觉,方法可以这样,把输入的文字,转换为unicode格式,如果第一个字节是0x00的,那么就是字母和数字,如果不是,那么是汉字。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C#做简单,用C的话只能用API了,MFC还是C++呢。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
张一顺一看就会做了。等会我帮你问问他~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用C++哎
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |