怎样用C语言在并口屏上显示进度条0逐步加到100,然后再由100减到0的程序
时间: 2023-05-11 15:02:26 浏览: 85
以下是一个简单的C语言程序,可以在并口屏上显示进度条从0到100再到0的效果:
```c
#include <stdio.h>
#include <conio.h>
#include <dos.h>
void delay(int ms) {
// 延时函数,单位为毫秒
long t = clock() + ms;
while (clock() < t);
}
int main() {
int i;
int n = 100; // 进度条总长度
int m = 20; // 进度条显示宽度
int x = 10; // 进度条左上角的横坐标
int y = 10; // 进度条左上角的纵坐标
// 清屏
clrscr();
// 显示进度条
for (i = 0; i <= n; i++) {
int j;
int k = i * m / n; // 计算当前进度条的宽度
gotoxy(x, y); // 定位光标位置
printf("["); // 进度条左边界
for (j = 0; j < k; j++) {
printf("="); // 进度条已完成部分
}
for (j = k; j < m; j++) {
printf(" "); // 进度条未完成部分
}
printf("]"); // 进度条右边界
gotoxy(x + m + 2, y); // 定位光标位置
printf("%d%%", i); // 显示百分比
delay(50); // 延时50毫秒
}
// 反向显示进度条
for (i = n; i >= 0; i--) {
int j;
int k = i * m / n; // 计算当前进度条的宽度
gotoxy(x, y); // 定位光标位置
printf("["); // 进度条左边界
for (j = 0; j < k; j++) {
printf("="); // 进度条已完成部分
}
for (j = k; j < m; j++) {
printf(" "); // 进度条未完成部分
}
printf("]"); // 进度条右边界
gotoxy(x + m + 2, y); // 定位光标位置
printf("%d%%", i); // 显示百分比
delay(50); // 延时50毫秒
}
return 0;
}
```
这个程序使用了 conio.h 和 dos.h 头文件中的一些函数,需要在 DOS 或 Windows 命令行下编译运行。程序中的 delay 函数用于实现延时效果,可以根据需要调整延时时间。进度条的宽度和位置可以根据需要进行调整。