求一段C++控制台模式下原地变化输出的源代码,大家多多帮忙,谢谢!

CONAN1986 2008-05-26 12:10:22
有一个10*10的字符二维数组(通过迭代不断变化的),在控制台模式下,现在我想输出它。
要输出200+次。
要能看得出每次的数组变化。

要能在原地变化,不是那种输出一遍接着在后面又输出一遍,这样翻页的不行。

希望大家帮帮忙!!
谢谢大家了!
...全文
230 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
CONAN1986 2008-05-26
  • 打赏
  • 举报
回复
请问:为什么要建一个线程呢?
我不会写线程,不知道怎么写,返回值是什么?
谢谢!~
冷月清晖 2008-05-26
  • 打赏
  • 举报
回复
//修改后

#define KEYDOWN(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000) ? 1 : 0)

void main()
{
if (NULL==CreateThread(NULL,
0,
(LPTHREAD_START_ROUTINE )function,
NULL,
0,
NULL))
{
// failed to create a thread break while
}

while (TRUE)
{
if (KEYDOWN(VK_ESCAPE))//ESC 键退出
{
Flag=FALSE;
break;
}
Sleep(60);
}
}

return;

DWORD WINAPI function()
{
while(Flag)
{
for (int i = 1; i < 255; ++i)
{
cout << i << endl;
}
Sleep(1000);
system("cls");
}
Flag=TRUE;
return 0;
}
liyinlei 2008-05-26
  • 打赏
  • 举报
回复
顶2楼
冷月清晖 2008-05-26
  • 打赏
  • 举报
回复
system("cls");//清屏
线程中的写法可以根据 飞雪 的代码

还可以定义一个按键,如果按下这个键就退出

#define KEYDOWN(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000) ? 1 : 0)


if (NULL==CreateThread(NULL,
0,
(LPTHREAD_START_ROUTINE )function,
(void *)(Count+1),
0,
ThreadID+Count))
{
Flag=FALSE;// failed to create a thread break while
}
else
{
Flag=TRUE;
}

while (TRUE)
{
if (KEYDOWN(VK_ESCAPE))//ESC 键退出
{
Flag=FALSE;
break;
}
Sleep(60);
}
return;
baihacker 2008-05-26
  • 打赏
  • 举报
回复
#include	<iostream>
#include <windows.h>
#include <cstdlib>
using namespace std;


int main(int argc, char* argv[])
{
for (int i = 1; i < 255; ++i)
{
cout << i << endl;
Sleep(200);
system("cls");
}
return 0;
}
冷月清晖 2008-05-26
  • 打赏
  • 举报
回复
需要新建一个线程,进行 不停的重新输出,你可以设置为 Sleep(1000);//一秒 重新绘制,就能动态看
stephenxu111 2008-05-26
  • 打赏
  • 举报
回复
同一行的话,输出退格符backspace就可以达到效果。
codeangel 2008-05-26
  • 打赏
  • 举报
回复
在同一行输出的时候,其实可以不用system("cls")
冷月清晖 2008-05-26
  • 打赏
  • 举报
回复
project--> setting->Use MFC
CONAN1986 2008-05-26
  • 打赏
  • 举报
回复
我一加上#include <windows.h>就出错,说我原本正确的
const int MAXWORD=10000;const前少“;”,又说unexpected end of file found.
怀疑控制台下是不是不能加这个呢?还是什么别的原因,弄不明白。。。
冷月清晖 2008-05-26
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 CONAN1986 的回复:]
请问:为什么要建一个线程呢?
我不会写线程,不知道怎么写,返回值是什么?
谢谢!~
[/Quote]
建立线程的目的:
1. 你的主线程(main)需要做其它操作,比如你说的改变数组的值或其它,如果直接在主线程做的话影响其它操作。
2. 随时监控,随时退出

线程的建立其实就是一个CreateThread方法,不是什么高深的东西,例子上面已经给出
calss_cyl 2008-05-26
  • 打赏
  • 举报
回复
不用线程也行撒,2楼写的你修改一下就能用了嘛。

64,676

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧