Форум программистов, компьютерный форум CyberForum.ru

Показатель прогресса - C++

Восстановить пароль Регистрация
 
GennDALF
 Аватар для GennDALF
12 / 12 / 0
Регистрация: 24.09.2009
Сообщений: 61
05.01.2010, 22:10     Показатель прогресса #1
Подскажите пожалуйста, как сделать в консоли показатель выполняемого процесса??
накидал такой вот код, но он не работает как хотелось бы! ((
я думал, что он будет каждый раз переписывать цифру, но шиш - он выводит проценты друг за другом..
C++
1
2
3
4
5
6
7
8
9
10
11
void processing(int NOW, int MAX)
{
      cout << "0.0%";
 
      float proc = 0;
      proc = 100 * NOW / MAX;
 
      cout << "\b\b\b\b";
      cout.precision(3);
      cout << proc << "%";
}
может это можно как-то еще сделать?
спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2010, 22:10     Показатель прогресса
Посмотрите здесь:

SHfileoperation полоса прогресса Visual C++
найти показатель
Индикатор прогресса Delphi
C++ Класс "Строка прогресса"
Рекурсивная функция, число и показатель степени C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
makkabi
 Аватар для makkabi
-32 / 10 / 2
Регистрация: 05.12.2009
Сообщений: 152
05.01.2010, 22:18     Показатель прогресса #2
вариантов ..не один
символ №13 - перевод на начало строки
т.е.
C++
1
2
char back=13;
cout <<back;
или
символ №8 - backspace -возврат на одно знакоместо назад
т.е.
C++
1
2
char back=8;
cout <<back;
я еще когда то писал прогу с перемещением курсора на заданную позицию..там с подключением модуля windows.h с HANDL'ами и тп хренью..если хочешь напишу)

Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
8
9
#include <windows.h>
 
void gotoxy(int x,int y)
{
HANDLE OutputH;
OutputH=GetStdHandle(STD_OUTPUT_HANDLE);
Coord Position={x,y};
GetConsoleCursorPosition(OutputH,Position);
}
вроде так..
студии нету на этом компе, приходится писать "вслепую"
GennDALF
 Аватар для GennDALF
12 / 12 / 0
Регистрация: 24.09.2009
Сообщений: 61
05.01.2010, 22:32  [ТС]     Показатель прогресса #3
ага, спасибо! я уже разобрался =)
я как раз через 8-ой символ делал '\b' ))
просто у меня там цикл был где эта функция используется, и с количеством возвратов выходила неурядица..
вот такой код работает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void processing(int NOW, int MAX)
{
      if (NOW < 0)
            cout << "00%";
 
      int proc = 0;
      proc = 100 * NOW / MAX;
 
      cout << "\b\b\b";
      if (proc < 10)
            cout << "0" << proc << "%";
      else
            cout << proc << "%";
}
makkabi
 Аватар для makkabi
-32 / 10 / 2
Регистрация: 05.12.2009
Сообщений: 152
05.01.2010, 22:41     Показатель прогресса #4
вот как..учту что \b это #8
Yandex
Объявления
05.01.2010, 22:41     Показатель прогресса
Ответ Создать тему
Опции темы

Текущее время: 14:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru