请教VC++中MFC排序程序
想写个MFC排序的程序,目标是得到如下图所示的效果(在上面的编辑框输入待排序的数字,点排序按钮后,排序后的数字就显示在下面的编辑框),可是不知道该怎么写,不知道要用些什么...
想写个MFC排序的程序,目标是得到如下图所示的效果(在上面的编辑框输入待排序的数字,点排序按钮后,排序后的数字就显示在下面的编辑框),可是不知道该怎么写,不知道要用些什么函数?
例如:不知道用什么函数把 字符串 按格式分割成 字符串数组,再把 字符串数组 转化成 整型数组...... 请高手指教
自学MFC,我的思路是:(1)把字符串转换成字符串数组,(2)把字符串数组转换成整型数组,(3)用冒泡法从小到大排序,(4)把排序后的整型数组用逗号连接成字符串
最头疼的是(1)(2)步都搞不定,求高手或专业人士指教! 展开
例如:不知道用什么函数把 字符串 按格式分割成 字符串数组,再把 字符串数组 转化成 整型数组...... 请高手指教
自学MFC,我的思路是:(1)把字符串转换成字符串数组,(2)把字符串数组转换成整型数组,(3)用冒泡法从小到大排序,(4)把排序后的整型数组用逗号连接成字符串
最头疼的是(1)(2)步都搞不定,求高手或专业人士指教! 展开
4个回答
展开全部
用一个编辑框一个一个的输入数据,用数组储存排序好的结果,再把数组转化成字符串类型输出。另外,输出可以改用listbox,这样可以用一个listbox显示原来的数据,另一个显示排序后的结果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CString str = "99,5,7,3,21";
CString temp;
temp = str(99),判断到逗号前面的字符,然后转换成数字,再排序连起来
CString temp;
temp = str(99),判断到逗号前面的字符,然后转换成数字,再排序连起来
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CString str = "99,5,7,3,21";
int posBegin = str.begin();
int pos = str.find(',');
循环一下
atoi()可以将字符转成数字
基本内容全了
int posBegin = str.begin();
int pos = str.find(',');
循环一下
atoi()可以将字符转成数字
基本内容全了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
(1)标准C++库中有strtok()这个函数,函数原型为
char * strtok ( char * str, const char * delimiters );
(2)atoi()函数
不明白可以问我。
char * strtok ( char * str, const char * delimiters );
(2)atoi()函数
不明白可以问我。
追问
不好意思,请问能把这几行代码写写吗?不太会用这两个函数,特别第一个,真的不会用。
追答
std::string src_str("99,5,7,3,21");
std::vector str_array();
char *p_str = NULL;
p_str = strtok(src_str.c_str(), ",");
while(p_str){
str_array.push_back(*(new std::string(p_str)));
p_str = strtok(NULL, ",");
}
std::vector int_array();
for (std::vector::iterator iter=src_str.begin(); iter!=src_str.end(); iter++)
int_array.push_back(atoi(*iter));
sort(int_array.begin(), int_array.end()); //如果要冒泡,调用自己写的冒泡排序
str_array.clear();
char buf[32];
std::string result("");
for(std::vector::iterator iter=int_array.begin(); iter!=int_array.end(); iter++)
result.append(itoa(*iter,buf,10)).append(",");
result.assign(result.c_str(), result.length());
则result中就是你所要的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询