最近学习MFC,通过自己做一个win10版本的计算器,目前做的这个是标准计算器,这个计算器的一些逻辑运算也是根据win10标准计算器逻辑来写的,所以基于vs和标准C++的MFC实现了这个标准计算器。

功能实现

根据输入数字进行无优先级运算。

运算功能:+,-,×,÷。

特殊功能:输入框归零(CE),全部归零(C),退格,等于。

布局特点:对字体进行了调整,数字与其他按钮大小不同,两个显示框输出数字大小不同,含有最小化窗口按钮。

效果图

界面图

实际运算图

CounterDlg.h代码:

CounterDlg.h主要是定义各种变量。


// CounterDlg.h : 头文件
//#pragma onceenum Equal_Flag {FLAG_JIA=1,FLAG_JIAN,FLAG_CHENG,FLAG_CHU,
};
// CCounterDlg 对话框
class CCounterDlg : public CDialogEx
{
// 构造
public:CCounterDlg(CWnd* pParent = NULL);  // 标准构造函数void SaveFirstValue();void SaveSecondValue();void Equal();void Clear();void Clear1();CFont fontButton;CFont    fontButton1;CFont   fontFirstshow;CFont fontSecondshow;// 对话框数据enum { IDD = IDD_COUNTER_DIALOG };protected:virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持// 实现
protected:HICON m_hIcon;// 生成的消息映射函数virtual BOOL OnInitDialog();afx_msg void OnSysCommand(UINT nID, LPARAM lParam);afx_msg void OnPaint();afx_msg HCURSOR OnQueryDragIcon();DECLARE_MESSAGE_MAP()
public:afx_msg void OnBnClickedButnum0();afx_msg void OnBnClickedButnum1();afx_msg void OnBnClickedButnum2();afx_msg void OnBnClickedButnum3();afx_msg void OnBnClickedButnum4();afx_msg void OnBnClickedButnum5();afx_msg void OnBnClickedButnum6();afx_msg void OnBnClickedButnum7();afx_msg void OnBnClickedButnum8();afx_msg void OnBnClickedButnum9();afx_msg void OnBnClickedButpoint();afx_msg void OnBnClickedButsign();afx_msg void OnBnClickedButadd();afx_msg void OnBnClickedButdel();afx_msg void OnBnClickedButcheng();afx_msg void OnBnClickedButchu();afx_msg void OnBnClickedButback();afx_msg void OnBnClickedButclear();afx_msg void OnBnClickedButclear1();afx_msg void OnBnClickedButsin();afx_msg void OnBnClickedButcos();afx_msg void OnBnClickedButtan();afx_msg void OnBnClickedButpf();afx_msg void OnEnChangeEditShow();afx_msg void OnEnChangeEditShow1();afx_msg void OnBnClickedButequal();
public:CString m_str;       //第一个屏幕变量CString m_str1;        //第二个屏幕变量CString m_str2;        //屏幕变量double m_Num1;        //运算中的第一个变量double m_Num2;       //double m_Num3;        //后续输入存值空间double m_Result;      //结果值Equal_Flag mFlag;};

CounterDlg.cpp代码


// CounterDlg.cpp : 实现文件
//#include "stdafx.h"
#include "Counter.h"
#include "CounterDlg.h"
#include "afxdialogex.h"#ifdef _DEBUG
#define new DEBUG_NEW
#endif// 用于应用程序“关于”菜单项的 CAboutDlg 对话框class CAboutDlg : public CDialogEx
{
public:CAboutDlg();// 对话框数据enum { IDD = IDD_ABOUTBOX };protected:virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持// 实现
protected:DECLARE_MESSAGE_MAP()
};CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD)
{
}void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{CDialogEx::DoDataExchange(pDX);
}BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx)
END_MESSAGE_MAP()// CCounterDlg 对话框CCounterDlg::CCounterDlg(CWnd* pParent /*=NULL*/): CDialogEx(CCounterDlg::IDD, pParent)
{m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);}void CCounterDlg::DoDataExchange(CDataExchange* pDX)
{CDialogEx::DoDataExchange(pDX);DDX_Text(pDX, IDC_EDIT_SHOW1, m_str1);
}BEGIN_MESSAGE_MAP(CCounterDlg, CDialogEx)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_BUTNum0, &CCounterDlg::OnBnClickedButnum0)ON_BN_CLICKED(IDC_BUTNum1, &CCounterDlg::OnBnClickedButnum1)ON_BN_CLICKED(IDC_BUTNum2, &CCounterDlg::OnBnClickedButnum2)ON_BN_CLICKED(IDC_BUTNum3, &CCounterDlg::OnBnClickedButnum3)ON_BN_CLICKED(IDC_BUTNum4, &CCounterDlg::OnBnClickedButnum4)ON_BN_CLICKED(IDC_BUTNum5, &CCounterDlg::OnBnClickedButnum5)ON_BN_CLICKED(IDC_BUTNum6, &CCounterDlg::OnBnClickedButnum6)ON_BN_CLICKED(IDC_BUTNum7, &CCounterDlg::OnBnClickedButnum7)ON_BN_CLICKED(IDC_BUTNum8, &CCounterDlg::OnBnClickedButnum8)ON_BN_CLICKED(IDC_BUTNum9, &CCounterDlg::OnBnClickedButnum9)ON_BN_CLICKED(IDC_BUTPoint, &CCounterDlg::OnBnClickedButpoint)ON_BN_CLICKED(IDC_BUTSign, &CCounterDlg::OnBnClickedButsign)ON_BN_CLICKED(IDC_BUTADD, &CCounterDlg::OnBnClickedButadd)ON_BN_CLICKED(IDC_BUTDEL, &CCounterDlg::OnBnClickedButdel)ON_BN_CLICKED(IDC_BUTCHENG, &CCounterDlg::OnBnClickedButcheng)ON_BN_CLICKED(IDC_BUTCHU, &CCounterDlg::OnBnClickedButchu)ON_BN_CLICKED(IDC_BUTBACK, &CCounterDlg::OnBnClickedButback)ON_BN_CLICKED(IDC_BUTClear, &CCounterDlg::OnBnClickedButclear)ON_BN_CLICKED(IDC_BUTClear1, &CCounterDlg::OnBnClickedButclear1)ON_BN_CLICKED(IDC_BUTSin, &CCounterDlg::OnBnClickedButsin)ON_BN_CLICKED(IDC_BUTCos, &CCounterDlg::OnBnClickedButcos)ON_BN_CLICKED(IDC_BUTTan, &CCounterDlg::OnBnClickedButtan)ON_BN_CLICKED(IDC_BUTPF, &CCounterDlg::OnBnClickedButpf)ON_EN_CHANGE(IDC_EDIT_SHOW, &CCounterDlg::OnEnChangeEditShow)ON_EN_CHANGE(IDC_EDIT_SHOW1, &CCounterDlg::OnEnChangeEditShow1)ON_BN_CLICKED(IDC_BUTEqual, &CCounterDlg::OnBnClickedButequal)
END_MESSAGE_MAP()// CCounterDlg 消息处理程序BOOL CCounterDlg::OnInitDialog()
{CDialogEx::OnInitDialog();// 将“关于...”菜单项添加到系统菜单中。// IDM_ABOUTBOX 必须在系统命令范围内。ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX < 0xF000);CMenu* pSysMenu = GetSystemMenu(FALSE);if (pSysMenu != NULL){BOOL bNameValid;CString strAboutMenu;bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);ASSERT(bNameValid);if (!strAboutMenu.IsEmpty()){pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);}}// 设置此对话框的图标。  当应用程序主窗口不是对话框时,框架将自动//  执行此操作SetIcon(m_hIcon, TRUE);           // 设置大图标SetIcon(m_hIcon, FALSE);        // 设置小图标// TODO:  在此添加额外的初始化代码fontButton.CreatePointFont(150, "Arial Black", NULL);fontButton1.CreatePointFont(150, "宋体", NULL);fontFirstshow.CreatePointFont(200, "宋体", NULL);fontSecondshow.CreatePointFont(100, "宋体", NULL);GetDlgItem(IDC_BUTNum1)->SetFont(&fontButton);GetDlgItem(IDC_BUTNum2)->SetFont(&fontButton);GetDlgItem(IDC_BUTNum3)->SetFont(&fontButton);GetDlgItem(IDC_BUTNum4)->SetFont(&fontButton);GetDlgItem(IDC_BUTNum5)->SetFont(&fontButton);GetDlgItem(IDC_BUTNum6)->SetFont(&fontButton);GetDlgItem(IDC_BUTNum7)->SetFont(&fontButton);GetDlgItem(IDC_BUTNum8)->SetFont(&fontButton);GetDlgItem(IDC_BUTNum9)->SetFont(&fontButton);GetDlgItem(IDC_BUTNum0)->SetFont(&fontButton);GetDlgItem(IDC_BUTADD)->SetFont(&fontButton1);GetDlgItem(IDC_BUTDEL)->SetFont(&fontButton1);GetDlgItem(IDC_BUTCHENG)->SetFont(&fontButton1);GetDlgItem(IDC_BUTCHU)->SetFont(&fontButton1);GetDlgItem(IDC_BUTBACK)->SetFont(&fontButton1);GetDlgItem(IDC_BUTClear)->SetFont(&fontButton1);GetDlgItem(IDC_BUTClear1)->SetFont(&fontButton1);//GetDlgItem(IDC_BUTSin)->SetFont(&fontButton1);//GetDlgItem(IDC_BUTCos)->SetFont(&fontButton1);//GetDlgItem(IDC_BUTTan)->SetFont(&fontButton1);//GetDlgItem(IDC_BUTPF)->SetFont(&fontButton1);GetDlgItem(IDC_BUTSign)->SetFont(&fontButton1);GetDlgItem(IDC_BUTEqual)->SetFont(&fontButton1);GetDlgItem(IDC_EDIT_SHOW)->SetFont(&fontFirstshow);GetDlgItem(IDC_EDIT_SHOW1)->SetFont(&fontSecondshow);return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
}void CCounterDlg::OnSysCommand(UINT nID, LPARAM lParam)
{if ((nID & 0xFFF0) == IDM_ABOUTBOX){CAboutDlg dlgAbout;dlgAbout.DoModal();}else{CDialogEx::OnSysCommand(nID, lParam);}
}// 如果向对话框添加最小化按钮,则需要下面的代码
//  来绘制该图标。  对于使用文档/视图模型的 MFC 应用程序,
//  这将由框架自动完成。void CCounterDlg::OnPaint()
{if (IsIconic()){CPaintDC dc(this); // 用于绘制的设备上下文SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);// 使图标在工作区矩形中居中int cxIcon = GetSystemMetrics(SM_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(&rect);int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;// 绘制图标dc.DrawIcon(x, y, m_hIcon);}else{CDialogEx::OnPaint();}
}//当用户拖动最小化窗口时系统调用此函数取得光标
//显示。
HCURSOR CCounterDlg::OnQueryDragIcon()
{return static_cast<HCURSOR>(m_hIcon);
}void CCounterDlg::OnBnClickedButnum0()
{// TODO:  在此添加控件通知处理程序代码double str = 0.0f;if (0 == m_str.Find(L' ')){m_str = "";}if (-1 == m_str.Find(L'.')){str = atof(m_str);if (str == 0){m_str = m_str.Left(m_str.GetAllocLength() - 1);}}m_str = m_str + _T("0");SetDlgItemText(IDC_EDIT_SHOW, m_str);
}void CCounterDlg::OnBnClickedButnum1()
{// TODO:  在此添加控件通知处理程序代码if (0 == m_str.Find(L' ')){m_str = "";}m_str = m_str + _T("1");SetDlgItemText(IDC_EDIT_SHOW, m_str);
}void CCounterDlg::OnBnClickedButnum2()
{// TODO:  在此添加控件通知处理程序代码if (0 == m_str.Find(L' ')){m_str = "";}m_str = m_str + _T("2");SetDlgItemText(IDC_EDIT_SHOW, m_str);
}void CCounterDlg::OnBnClickedButnum3()
{// TODO:  在此添加控件通知处理程序代码if (0 == m_str.Find(L' ')){m_str = "";}m_str = m_str + _T("3");SetDlgItemText(IDC_EDIT_SHOW, m_str);
}void CCounterDlg::OnBnClickedButnum4()
{// TODO:  在此添加控件通知处理程序代码if (0 == m_str.Find(L' ')){m_str = "";}m_str = m_str + _T("4");SetDlgItemText(IDC_EDIT_SHOW, m_str);
}void CCounterDlg::OnBnClickedButnum5()
{// TODO:  在此添加控件通知处理程序代码if (0 == m_str.Find(L' ')){m_str = "";}m_str = m_str + _T("5");SetDlgItemText(IDC_EDIT_SHOW, m_str);
}void CCounterDlg::OnBnClickedButnum6()
{// TODO:  在此添加控件通知处理程序代码if (0 == m_str.Find(L' ')){m_str = "";}m_str = m_str + _T("6");SetDlgItemText(IDC_EDIT_SHOW, m_str);
}void CCounterDlg::OnBnClickedButnum7()
{// TODO:  在此添加控件通知处理程序代码if (0 == m_str.Find(L' ')){m_str = "";}m_str = m_str + _T("7");SetDlgItemText(IDC_EDIT_SHOW, m_str);
}void CCounterDlg::OnBnClickedButnum8()
{// TODO:  在此添加控件通知处理程序代码if (0 == m_str.Find(L' ')){m_str = "";}m_str = m_str + _T("8");SetDlgItemText(IDC_EDIT_SHOW, m_str);
}void CCounterDlg::OnBnClickedButnum9()
{// TODO:  在此添加控件通知处理程序代码if (0 == m_str.Find(L' ')){m_str = "";}m_str = m_str + _T("9");SetDlgItemText(IDC_EDIT_SHOW, m_str);
}void CCounterDlg::OnBnClickedButpoint()
{// TODO:  在此添加控件通知处理程序代码if (-1 == m_str.Find(L'.')){m_str = m_str + _T('.');}SetDlgItemText(IDC_EDIT_SHOW, m_str);
}void CCounterDlg::OnBnClickedButsign()
{// TODO:  在此添加控件通知处理程序代码double str;str = atof(m_str);str = -str;m_str.Format(_T("%lg"), str);SetDlgItemText(IDC_EDIT_SHOW, m_str);
}void CCounterDlg::SaveFirstValue()
{m_Num1 = atof(m_str);m_str.Format(_T("%lg"), m_Num1);
}void CCounterDlg::SaveSecondValue()
{if (m_str==""){m_str = "";}else{m_Num3 = atof(m_str);m_str.Format(_T("%lg"), m_Num3);}
}void CCounterDlg::OnBnClickedButadd()
{// TODO:  在此添加控件通知处理程序代码m_str1 += m_str;if (m_Num1 == 0){SaveFirstValue();}else{SaveSecondValue();}//在firstvalue和secondvalue中进行计算。if (m_str==""){}else{Equal();}m_str2 = m_str1 + _T("+");if (m_str != ""){m_str1 += _T("+");mFlag = FLAG_JIA;}else  if (m_str1.GetLength()!= m_str2.GetLength()){m_str1 = m_str1.Left(m_str1.GetLength() - 1);m_str1 += _T("+");m_str2 = m_str1;}SetDlgItemText(IDC_EDIT_SHOW1, m_str1);m_str.Format(_T("%lg"), m_Result);m_str = "";}void CCounterDlg::OnBnClickedButdel()
{// TODO:  在此添加控件通知处理程序代码m_str1 += m_str;if (m_Num1 == 0){SaveFirstValue();}else{SaveSecondValue();}//在firstvalue和secondvalue中进行计算。if (m_str == ""){}else{Equal();}m_str2 = m_str1 + _T("-");if (m_str != ""){m_str1 += _T("-");mFlag = FLAG_JIAN;}else if (m_str1.GetLength() != m_str2.GetLength()){m_str1 = m_str1.Left(m_str1.GetLength() - 1);m_str1 += _T("-");m_str2 = m_str1;}SetDlgItemText(IDC_EDIT_SHOW1, m_str1);m_str = "";
}void CCounterDlg::OnBnClickedButcheng()
{// TODO:  在此添加控件通知处理程序代码m_str1 += m_str;if (m_Num1 == 0){SaveFirstValue();}else{SaveSecondValue();}//在firstvalue和secondvalue中进行计算。if (m_str == ""){}else{Equal();}m_str2 = m_str1 + _T("×");if (m_str != ""){m_str1 += _T("×");mFlag = FLAG_CHENG;}else    if (m_str1.GetLength() != m_str2.GetLength()){m_str1 = m_str1.Left(m_str1.GetLength() - 1);m_str1 += _T("×");m_str2 = m_str1;}SetDlgItemText(IDC_EDIT_SHOW1, m_str1);m_str = "";
}void CCounterDlg::OnBnClickedButchu()
{// TODO:  在此添加控件通知处理程序代码m_str1 += m_str;if (m_Num1 == 0){SaveFirstValue();}else{SaveSecondValue();}//在firstvalue和secondvalue中进行计算。if (m_str == ""){}else{Equal();}m_str2 = m_str1 + _T("÷");if (m_str != ""){m_str1 += _T("÷");mFlag = FLAG_CHU;}else  if (m_str1.GetLength() != m_str2.GetLength()){m_str1 = m_str1.Left(m_str1.GetLength() - 1);m_str1 += _T("÷");m_str2 = m_str1;}SetDlgItemText(IDC_EDIT_SHOW1, m_str1);m_str = "";
}void CCounterDlg::OnBnClickedButback()
{// TODO:  在此添加控件通知处理程序代码if (m_str!=""){m_str=m_str.Left(m_str.GetLength() - 1);SetDlgItemText(IDC_EDIT_SHOW, m_str);}else{CString Str;Str = m_str+_T("0");SetDlgItemText(IDC_EDIT_SHOW, Str);}
}void CCounterDlg::Clear()
{CString Str;m_str = "";         m_str1 = "";     m_str2 = "";     m_Num1 = 0;            m_Num2 = 0;            m_Num3 = 0;            m_Result = 0;Str.Format(_T("%lg"), m_Num1);SetDlgItemText(IDC_EDIT_SHOW, Str);SetDlgItemText(IDC_EDIT_SHOW1, m_str1);
}void CCounterDlg::OnBnClickedButclear()
{// TODO:  在此添加控件通知处理程序代码Clear();
}void CCounterDlg::OnBnClickedButclear1()
{CString  str;str = "0";m_str = "";SetDlgItemText(IDC_EDIT_SHOW, str);// TODO:  在此添加控件通知处理程序代码
}void CCounterDlg::OnBnClickedButsin()
{// TODO:  在此添加控件通知处理程序代码CString Str;CString Str1;double Num;GetDlgItemText(IDC_EDIT_SHOW, m_str);Str1 = m_str;Num=atof(m_str);Num = sin(Num);m_str.Format(_T("%.5f"), Num);SaveSecondValue();Str = m_str;SetDlgItemText(IDC_EDIT_SHOW, Str);m_str1 += _T("sin(")+Str1+_T(") ");m_str = "";SetDlgItemText(IDC_EDIT_SHOW1,m_str1);
}void CCounterDlg::OnBnClickedButcos()
{// TODO:  在此添加控件通知处理程序代码CString Str;CString Str1;double Num;GetDlgItemText(IDC_EDIT_SHOW, m_str);Str1 = m_str;Num = atof(m_str);Num = cos(Num);m_str.Format(_T("%.5f"), Num);SaveSecondValue();Str = m_str;SetDlgItemText(IDC_EDIT_SHOW, Str);m_str1 += _T("cos(") + Str1 + _T(") ");m_str = "";SetDlgItemText(IDC_EDIT_SHOW1, m_str1);
}void CCounterDlg::OnBnClickedButtan()
{// TODO:  在此添加控件通知处理程序代码CString Str;CString Str1;double Num;GetDlgItemText(IDC_EDIT_SHOW, m_str);Str1 = m_str;Num = atof(m_str);Num = tan(Num);m_str.Format(_T("%.5f"), Num);SaveSecondValue();Str = m_str;SetDlgItemText(IDC_EDIT_SHOW, Str);m_str1 += _T("tan(") + Str1 + _T(") ");m_str = "";SetDlgItemText(IDC_EDIT_SHOW1, m_str1);
}void CCounterDlg::OnBnClickedButpf()
{// TODO:  在此添加控件通知处理程序代码CString Str;CString Str1;double Num;double Num1 = 0;GetDlgItemText(IDC_EDIT_SHOW, m_str);Str1 = m_str;Num = atof(m_str);Num = Num*Num;m_str.Format(_T("%.5f"), Num);SaveSecondValue();Str = m_str;SetDlgItemText(IDC_EDIT_SHOW, Str);m_str1 += _T("sqr(") + Str1 + _T(") ");m_str = "";SetDlgItemText(IDC_EDIT_SHOW1, m_str1);}void CCounterDlg::OnEnChangeEditShow()
{// TODO:  如果该控件是 RICHEDIT 控件,它将不// 发送此通知,除非重写 CDialogEx::OnInitDialog()// 函数并调用 CRichEditCtrl().SetEventMask(),// 同时将 ENM_CHANGE 标志“或”运算到掩码中。// TODO:  在此添加控件通知处理程序代码
}void CCounterDlg::OnEnChangeEditShow1()
{// TODO:  如果该控件是 RICHEDIT 控件,它将不// 发送此通知,除非重写 CDialogEx::OnInitDialog()// 函数并调用 CRichEditCtrl().SetEventMask(),// 同时将 ENM_CHANGE 标志“或”运算到掩码中。// TODO:  在此添加控件通知处理程序代码
}void CCounterDlg::OnBnClickedButequal()
{   CString Str;CString Str1;CString Str2;double NUM;SaveSecondValue();m_str1 += m_str;m_str1 += _T("=");//加\t 空格Equal();GetDlgItemText(IDC_EDIT_SHOW, Str);m_str1 += Str;Str1 = m_str1;m_str1 = "";NUM = atof(Str);m_str.Format(_T("%lg"), NUM);SaveFirstValue();Str2 = m_str;Clear();m_str = Str2;SetDlgItemText(IDC_EDIT_SHOW, Str2);SetDlgItemText(IDC_EDIT_SHOW1, Str1);// TODO:  在此添加控件通知处理程序代码
}void CCounterDlg::Equal()
{CString Str;switch (mFlag){case FLAG_JIA:m_Result = m_Num1 + m_Num3;m_Num1 = m_Result;Str.Format(_T("%lg"), m_Result);SetDlgItemText(IDC_EDIT_SHOW, Str);break;case FLAG_JIAN:m_Result = m_Num1 - m_Num3;m_Num1 = m_Result;Str.Format(_T("%lg"), m_Result);SetDlgItemText(IDC_EDIT_SHOW, Str);break;case FLAG_CHENG:m_Result = m_Num1 * m_Num3;m_Num1 = m_Result;Str.Format(_T("%lg"), m_Result);SetDlgItemText(IDC_EDIT_SHOW, Str);break;case FLAG_CHU:m_Result = m_Num1 / m_Num3;m_Num1 = m_Result;Str.Format(_T("%lg"), m_Result);SetDlgItemText(IDC_EDIT_SHOW, Str);break;}
}

原版本是有sin,cos,tan,平方的,也在代码里面,bug但是没有让他们显示出来,各位大佬可以交流交流。

后续有人想了解具体实现方法和想法可以留言,互相交流。

主要是以学习为目的发这次文章

C++MFC实现win10标准计算器相关推荐

  1. C#窗体实现的仿WIN10标准计算器

    上周C#的第一节winform课结束后老师布置了一个计算器的作业.由于之前学过C++所以语法方面都没什么问题,只是以前的代码练习都不怎么多,所以也想趁着这次学习语言的机会多练习.这是我的第一篇博客,若 ...

  2. python+tkinter仿制win10标准型计算器(中文版)完美教学

    前言 马上就要实习了,而我却没有拿得出手的项目..哎实力不够啊.还有六个月时间,先从简单开始吧,一步一个脚印,大家一起加油! "设计很难,模仿不易."这是我创作计算器时内心的独白. ...

  3. MFC 简单的MD5计算器

    MFC 简单的MD5计算器 一.简述 记--使用开源MD5计算代码+MFC实现简单的文件MD5计算器. 1.支持拖拽文件或目录.         2.支持拖拽多个文件或目录.         3.支持 ...

  4. 如何用计算机快速计算方法有哪些,win10快速打开计算器工具的两种方法(图文)...

    windows10系统内置许多小工具,比如常见的计算器,一般需要使用的时候大家都会在开始菜单-附件里找到它,这样就不太方便了,有什么办法能快速打开它?大家可以将计算器固定在任务栏,或者使用命令窗口输入 ...

  5. 戴尔win10桌面 计算机,戴尔笔记本上win10的计算器在哪

    其它网友回答: 开始的附件里找,要不就进控制面板! 其它网友回答: 去控制面板里看看试试 其它网友回答: 附件.控制面板都可以找得到. 其它网友回答: 七月底,微软正式发布了新一代Windows10正 ...

  6. win10进不去计算机配置,win10系统计算器打不开的解决方法

    很多小伙伴都遇到过win10系统计算器打不开的困惑吧,一些朋友看过网上零散的win10系统计算器打不开的处理方法,并没有完完全全明白win10系统计算器打不开是如何解决的,今天小编准备了简单的解决办法 ...

  7. win10安装计算器

    win10安装计算器 1.搜索框输入 powershell ,以管理员身份运行 2.执行命令1 Get-AppxPackage -allusers | Select Name, PackageFull ...

  8. win10的计算机工具,win10系统如何打开计算器工具?win10打开计算器工具的四种方法...

    win10打开计算器工具的四种方法: 方法一:使用组合快捷键 1.同时按下Win+R组合快捷键打开运行操作框,然后在打开后面输入命令:Calc.exe,如下图所示: 2.点击确定,就可以快速打开Win ...

  9. win10计算机服务打不开,win10系统计算器打不开闪退的解决方法

    win10系统想必大家都非常熟悉吧,然而有时候可能会碰到win10系统计算器打不开闪退的问题,比如近日有用户到本站反映说win10系统计算器打不开闪退的问题,该怎么处理win10系统计算器打不开闪退的 ...

  10. win10计算机闪退,大神解答win10系统计算器打不开闪退的步骤

    如今还有很多用户不知道如何处理win10系统计算器打不开闪退的情况,于是就有网友向我留言询问到win10系统计算器打不开闪退的处理步骤,针对win10系统计算器打不开闪退的问题,我给大家整理总结了详细 ...

最新文章

  1. 192. Word Frequency 使用shell统计词频
  2. 火狐的萤火虫JavaScript,HTML,CSS调试捕获器
  3. Java中getMessage()和printStackTrace方法
  4. 上一局APP玩边画边猜,第1次见人使用道具,我的游戏体验上升了
  5. 20155209 林虹宇 Exp9 Web安全基础
  6. 最新最详细最简洁Eclipse调试PHP配置详解(Xdebug,Zend Debugger)
  7. LAMP源代码编译整理
  8. easypoi导出excel 效率_Spring Boot 入门(十二):报表导出,对比poi、jxl和esayExcel的效率...
  9. 单片机如何用普通电池供电?
  10. windows下sublime2 clojure环境配置
  11. win7硬盘分区软件_系统软件
  12. Pix4Dmapper系列教程(一):Pix4D模型成果导出OSGB并加载到CASS3D进行三维测图
  13. pdg是什么格式文件怎么打开
  14. 获取google chrome浏览器的安装位置
  15. 计算机的指令格式通常是由两部分组成,计算机指令由两部分组成,它们是什么...
  16. 第7章 CustomView绘图进阶
  17. VMware宿主机与虚拟机之间的文件夹相互共享(看图操作)
  18. 陀螺仪、加速计和磁力计
  19. Win10 下报错 WerFault.exe -解决方法亲测有效
  20. 我的奋斗之黑马第一天

热门文章

  1. 杀软EAV/ESS不用“用户名密码”就能更新的方法【各版、6.0.308依然可用】
  2. fastboot驱动安装问题——文件哈希值不在指定目录
  3. 【XJTUSE 计算机组成与结构笔记】第十四章 指令级并行性和超标量处理
  4. 【蓝桥杯2015Java】奇妙的数字、打印大叉
  5. 2018-3-18CCF小球碰撞问题
  6. MySQL table 添加_「primarykey」MySQL中为table添加primary key的两种方法 - seo实验室
  7. 色鬼色狼和色仙的区别
  8. Android签名证书:jks和keystore
  9. gaster字体转换器_wingdings
  10. 中职学生计算机学情分析报告,中职学校学生学情分析及对策