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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Pavel1111
0 / 0 / 0
Регистрация: 18.06.2012
Сообщений: 9
#1

Формат командной строки - C++

10.04.2013, 15:11. Просмотров 681. Ответов 10
Метки нет (Все метки)

Нужно выполнить задание.
Есть X потоков в которых лежит по объекту, эти объекты я в случайном порядке сую в контейнер размером Y. При заполнении контейнера, начинаю удалять самые старые объекты и делаю это бесконечно пока не нажму enter. При нажатии enter печатаю данные из контейнера в формате "ПОТОК - КОЛИЧЕСТВО ЕЛЕМЕНТОВ".

В условии сказано:
" 1. Формат командной строки 'test_app X Y'. " -что это значит?
" 2. Y - целое число (size_t) на величину которого ограничение не накладывается (в рамках ограничения типа переменной). " - что это значит?

Какой контейнер наиболее оптимален для этой задачи?

И еще. В подобных задачах при запуске программы консоль выскакивает сама (в коде я ничего для этого не пишу кроме cin>>.... ) -грамотно ли это? Может нужно писать что то типа: отобразить консоль\скрыть консоль?

Добавлено через 1 час 10 минут
Все! тема закрыта.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2013, 15:11     Формат командной строки
Посмотрите здесь:

Аргументы командной строки - C++
Пытаюсь разобраться с этой штукой. У Дейтела это собственно только дополнение, а не отдельный пункт раздела так что всё написано сжато и с...

Имитация командной строки - C++
Написать программу на С++, имитирующую командную строку. Программа должна уметь запускать exe-файлы, имена/пути которых вводятся...

аргементы командной строки - C++
ПОдскажите, как через аргументы командной строки вывести {1 2 3 4 5} в файл по блочно из массива?

Компиляция из командной строки - C++
Доброго времени суток. У меня к Вам вопрос по компиляции из коммандной строки. Делаю простенький .с файл hello.c: #include...

Чтение из командной строки - C++
всем привет!такая проблема,вот таким образом обрабатываю командную строку : sscanf_s((char*)lpCmdLine,"%i %i %i %i %i", &q, &j, &k, &l,...

Вывод командной строки - C++
Как вывести на экран копию командной строки! Надо это как-то сделпть с аргументами функции main

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
10.04.2013, 15:15     Формат командной строки #2
Цитата Сообщение от Pavel1111 Посмотреть сообщение
Формат командной строки 'test_app X Y'. " -что это значит?
Это значит, что программа должна принимать 2 целых аргумента, первый будет интерпретироваться как Х, второй - как Y. Читайте про argv,argc для main().

Цитата Сообщение от Pavel1111 Посмотреть сообщение
Y - целое число (size_t) на величину которого ограничение не накладывается (в рамках ограничения типа переменной). " - что это значит?
То, что переменная объявлена будет как-то так:
C++
1
size_t Y;
И при чтении ее из списка аргументов (п.1) никаких ограничений делать не надо. Т.е. подходит любое, введенное пользователем значение.

Цитата Сообщение от Pavel1111 Посмотреть сообщение
Какой контейнер наиболее оптимален для этой задачи?
Если нужно удалять самые старые, то нужна, скорее всего, очередь std::queue

Цитата Сообщение от Pavel1111 Посмотреть сообщение
Может нужно писать что то типа: отобразить консоль\скрыть консоль?
Не заморачивайтесь на этот счет, если это не оговорено в условии.

Добавлено через 30 секунд
Цитата Сообщение от Pavel1111 Посмотреть сообщение
Все! тема закрыта.
Не успел
Pavel1111
0 / 0 / 0
Регистрация: 18.06.2012
Сообщений: 9
10.04.2013, 15:46  [ТС]     Формат командной строки #3
Спасибо. А я подумал что ни кто не ответит даже новую тему создал..
Tulosba
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
10.04.2013, 15:53     Формат командной строки #4
Цитата Сообщение от Pavel1111 Посмотреть сообщение
даже новую тему создал..
Это зря

Не по теме:

Не забывайте плюсовать, если что пригодилось.

yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
10.04.2013, 18:02     Формат командной строки #5
Pavel1111, не знаю то или нет, но "test_app X Y" test_app - название приложения, X и Y понятно, я думаю все должно быть так: написал приложение, потом запускаешь командную строку, пишешь путь к своему приложению(test_app), указываешь кол-во потоков и размер контейнера. Тут тебе нужно почитать про параметры функции main, она - то и позволяет принимать данные из командной строки, где

C++
1
int argc, _TCHAR* argv[]
argc - кол-во параметров, а это массив, в твоем случае X и Y будут 1 и 2 элементом массива argv соответственно. Не знаю то это или нет, 100% уверенности нет, но если помог, буду рад. А на счет контейнера я бы предложил использовать list<T>, так как можно добавлять/удалять как в головы так и с конца.
Tulosba
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
11.04.2013, 09:44     Формат командной строки #6
Цитата Сообщение от yoghurt92 Посмотреть сообщение
я бы предложил использовать list<T>, так как можно добавлять/удалять как в головы так и с конца.
Зачем? Это же классическая очередь FIFO по заданию.
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
11.04.2013, 12:14     Формат командной строки #7
Tulosba, но с STK-ой версией очереди не так удобно работать(я имею в виду вывод(приходиться удалять и добавлять элементы для вывода), а очередь это что? Это частный случай списка, так что чего-то страшного я не вижу, там так же можно использовать FIFO, исправьте если я не прав
Tulosba
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
11.04.2013, 12:39     Формат командной строки #8
Цитата Сообщение от yoghurt92 Посмотреть сообщение
STK-ой версией
Что это?
Если нужно не просто добавлять в конец/удалять с начала, а ещё иметь всякий обвес типа вывода, то, наверное, да, лучше взять list или deque.
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
11.04.2013, 12:45     Формат командной строки #9
Tulosba, опечатался STL, мне кажется, что содержимое контейнера придется же выводить, я предложил list из соображения удобства, не более.
Pavel1111
0 / 0 / 0
Регистрация: 18.06.2012
Сообщений: 9
11.04.2013, 16:24  [ТС]     Формат командной строки #10
Я не стал сразу грузить , а если нужно осуществлять следующую логику:
добавляя новый элемент в очередь (как мы помним элемент находится в своем потоке) нужно проверить из какого потока последний элемент этой очереди и если
1. это один и то же поток, то последний элемент не удаляется
2. из разных потоков то последний элемент удаляем.
В какой то момент очередь конечно заполнится и в проверке отпадет смысл, поскольку добавляя мне все равно придется удалять последний.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2013, 16:45     Формат командной строки
Еще ссылки по теме:

использование командной строки - C++
Объясните, пожалуйста, как через аргументы командной строки скопировать файл в файл?

Использование командной строки - C++
У меня есть файл по адресу D:/Faylik/data.txt и его нужно скопировать с помощью командной строки в файл D:/F/data2.txt . Подскажите, плиз,...

Задержка командной строки - C++
При нажатии кнопки на форме Билдера открывается командная строка, пингует айпишник и тут же закрывается. Как мне ее задержать, чтобы я...

Параметр командной строки - C++
Здрасте, здрасте!! Вопрос такой есть код: LPWSTR *szArglist; int nArgs; int i; LPWSTR temp=L&quot;/i&quot;; szArglist =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
11.04.2013, 16:45     Формат командной строки #11
Pavel1111, может использовать ключ(который для каждого нового потока будет индивидуален)?
Yandex
Объявления
11.04.2013, 16:45     Формат командной строки
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru