C语言中的一个程序

gotoloop4 2008-05-06 04:27:41
如何实现跑马灯效果呢?不要用下边这种种方法
★☆☆☆☆☆☆☆☆☆☆☆
☆          ☆
☆          ☆
☆          ☆
☆☆☆☆☆☆☆☆☆☆☆☆

☆★☆☆☆☆☆☆☆☆☆☆
☆          ☆
☆          ☆
☆          ☆
☆☆☆☆☆☆☆☆☆☆☆☆
☆☆★☆☆☆☆☆☆☆☆☆
☆          ☆
☆          ☆
☆          ☆
☆☆☆☆☆☆☆☆☆☆☆☆
☆☆☆★☆☆☆☆☆☆☆☆
☆          ☆
☆          ☆
☆          ☆
☆☆☆☆☆☆☆☆☆☆☆☆
☆☆☆☆★☆☆☆☆☆☆☆
☆          ☆
☆          ☆
☆          ☆
☆☆☆☆☆☆☆☆☆☆☆☆
☆☆☆☆☆★☆☆☆☆☆☆
☆          ☆
☆          ☆
☆          ☆
☆☆☆☆☆☆☆☆☆☆☆☆
要用C语言编的哟!
...全文
357 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
ken547315 2008-05-24
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 tbocd 的回复:]
引用 18 楼 pwangeng311 的回复:
"☆","★" 是怎么打出来的?


printf("☆")?? ☆可由输入法软键盘的特殊字符输出……
[/Quote]????????
特殊字符输出在那???
hendin 2008-05-21
  • 打赏
  • 举报
回复
TKS!
lxhdj2008 2008-05-10
  • 打赏
  • 举报
回复
用刷屏
Treazy 2008-05-07
  • 打赏
  • 举报
回复
提供一个思路:

在linux下,终端支持回行
也就是光标可以移动到上一行,这是在windows上较难实现的
所以可以设计父子进程
在父进程中输出图形
☆☆☆☆☆☆☆☆☆☆☆☆
☆          ☆
☆          ☆
☆          ☆
☆☆☆☆☆☆☆☆☆☆☆☆
另外在子进程中将

进行轮置
这样就可以实现你要的跑灯效果

难点:
由于使用了多进程,因此进程间的同步问题需要解决
也就是这2个显示需要协调好

以上是个人的一个解决方案,估算了下代码量相对较少,可供参考
baihacker 2008-05-07
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 hendin 的回复:]
我在编译时出错:unresolved external symbol _WinMain@16
是什么问题?
[/Quote]
#pragma comment(linker, "/subsystem:console")
加一句这个

原因是你的工程没有建对
hendin 2008-05-07
  • 打赏
  • 举报
回复
Linking...
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
Debug/paomadeng.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

paomadeng.exe - 2 error(s), 0 warning(s)
hendin 2008-05-07
  • 打赏
  • 举报
回复
我在编译时出错:unresolved external symbol _WinMain@16
是什么问题?
sinxy 2008-05-07
  • 打赏
  • 举报
回复
我直接用的是TurboC
include文件夹里没有包含 windos.h 的头文件
谁能告诉可以到那里down到这个头文件

ps:我没有安装VC
zhangbin_115 2008-05-07
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 Treazy 的回复:]
提供一个思路:

在linux下,终端支持回行
也就是光标可以移动到上一行,这是在windows上较难实现的
所以可以设计父子进程
在父进程中输出图形
☆☆☆☆☆☆☆☆☆☆☆☆
☆          ☆
☆          ☆
☆          ☆
☆☆☆☆☆☆☆☆☆☆☆☆
另外在子进程中将

进行轮置
这样就可以实现你要的跑灯效果

难点:
由于使用了多进程,因此进程间的同…
[/Quote]
佩服
candy110 2008-05-07
  • 打赏
  • 举报
回复
一个一个print出来.
刷屏幕的时候InvalidateRect (hwndNP, &rc, TRUE);
RC是一个矩形范围.这样感觉没那么闪:)
nunifor 2008-05-07
  • 打赏
  • 举报
回复
看看效果怎么样。
tbocd 2008-05-07
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 pwangeng311 的回复:]
"☆","★" 是怎么打出来的?
[/Quote]

printf("☆")?? ☆可由输入法软键盘的特殊字符输出……
pwangeng311 2008-05-07
  • 打赏
  • 举报
回复
"☆","★" 是怎么打出来的?
zgmary 2008-05-07
  • 打赏
  • 举报
回复
★☆☆☆☆☆☆☆☆☆☆☆
☆          ☆
☆          ☆
☆          ☆
☆☆☆☆☆☆☆☆☆☆☆☆

//要是以这个为模型,顺时针循环,★逐个替换☆可以实现吗?
jiangxiaokang 2008-05-07
  • 打赏
  • 举报
回复
不错哦啊啊
zgmary 2008-05-07
  • 打赏
  • 举报
回复
关注、学习中···
dahua010 2008-05-07
  • 打赏
  • 举报
回复


#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

void main()
{
char *c = "☆";
char *b = "★";
char *space = " ";
int x = 0;
int y = 0;

int oldx = 0;
int oldy = 0;
COORD pos = {0, 0};
// SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
for(int j=0; j<4; j++)
{
for(int i=0; i<10; i++)
{
if(j == 0 || j == 3)
printf("%s", c);
else if(i == 0 || i == 9)
printf("%s", c);
else
printf("%s", space);
}
printf("\n");
}
while(true)
{
COORD icoord = {oldx, oldy};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), icoord);
printf("%s", c);
icoord.X = x;
icoord.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), icoord);
printf("%s", b);
oldx = x;
oldy = y;
switch (x)
{
case 0:
if( y != 0)
y--;
else
x += 2;
break;
case 18:
if( y == 3)
x -= 2;
if( y <= 2)
y++;
break;
default:
if(y == 3)
x -= 2;
if(y == 0)
x += 2;
}
Sleep(100);
}

}


把自己在7楼的改了下, 改成每次只刷新前一次画的那个.
还是只能在windows下运行
gotoloop4 2008-05-06
  • 打赏
  • 举报
回复
只能跑到一半,不知道能不能再改一下呢?
gotoloop4 2008-05-06
  • 打赏
  • 举报
回复
#include"stdio.h"
#include"windows.h"
#include"conio.h"
void main()
{
int i,j,k=0,s=0,n;
do
{
for(n=0;n<15;n++)
{
system("cls");
s++;
for(i=0;i<15;i++)
{
k++;
printf("☆");
if(s==k)
{
printf("\b\b★");
}
}
k=0;
Sleep(150);
}
for(i=0;i<5;i++)
{
printf("\b\b☆");
Sleep(150);
printf("\n☆");
for(n=0;n<26;n++)
printf(" ");
printf("★");
Sleep(150);
s=0;
}
}while(1);
}
chlaws 2008-05-06
  • 打赏
  • 举报
回复
关键是不停的刷屏
加载更多回复(9)

69,372

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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