peri_jin 发表于 2009-3-30 20:21

向会用VC(MFC界面编程)的高手请教个问题!

我今天才刚接触 Visual C++的MFC界面编程。教授给了一篇题,等着交呢。
我刚刚也下了几本这方面的书,可是远水解不了近渴。请各位哥哥姐姐们,帮帮忙!{:4_298:}
题目是这样的:
在Eingabefeld里任意给出字母或是数字。建立一个Button叫做Berechnen。在Ausgabefeld里,如果是字母,就显示它的原形。如果是数字,要是它的倍数。
z.B. Eingabefeld:aGh
       Ausgabefeld: aGh

      Eingabefeld: 3
      Ausgabefeld:9

请帮我写一下,语句应该是什么。用C++写出来也行,我再慢慢揣摩!{:4_298:}
谢谢了!{:5_381:}

ithillad 发表于 2009-3-30 22:29

看到C++,MFC,就晕了,唉。只会用java做。给 berechnen 添加一个点击触发的 event,触发以后执行 get eingabefeld 的内容,然后判断是否是数字,然后把相应的内容set 到 ausgabefeld 里面就可以了

ps. 这几天在学C++,感觉好难啊

peri_jin 发表于 2009-3-31 08:58

看到C++,MFC,就晕了,唉。只会用java做。给 berechnen 添加一个点击触发的 event,触发以后执行 get eingabefeld 的内容,然后判断是否是数字,然后把相应的内容set 到 ausgabefeld 里面就可以了

ps. 这几天在学 ...
ithillad 发表于 2009-3-30 23:29 http://www.dolc.de/forum/images/common/back.gif

那请教mm怎么判断是zahl还是string型呢?{:4_299:}

ithillad 发表于 2009-3-31 09:16

本帖最后由 ithillad 于 2009-3-31 10:25 编辑

因为不会C++,帮你google了一下,两种方法。第一种蛮容易懂得,如果没错的话,就用第一种吧(原来C++可以直接str呀。。。)
//逐个比较字符
bool isAllDigit(const string& str)
{
    int i ;
    for(i = 0; i != str.length(); i++)
    {
      if(!isdigit(str))
      {
            return false;
      }
    }
    return true;
}

// 转化成数字
bool isAllDigit(const string& str)
{
    unsigned longi;
    const char *ch1 = str.c_str();
    char ch2;
    i = atol(ch1);
    sprintf(ch2,"%ld",i);   
    if(strlen(ch2) == strlen(ch1))          //若含有非数字字符串,则长度发生变化
    {
      return true;
    }
    else
    {
      return false;
    }
}
页: [1]
查看完整版本: 向会用VC(MFC界面编程)的高手请教个问题!