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

Не парсит аргументы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Стрoкa элeмeнтов любого типа http://www.cyberforum.ru/cpp-beginners/thread346275.html
Нужно сделать строку для роботы с любым типом, например написать typеdеf chаr Chаracter. В конструкторе по умолчанию аргументы я записал как String(const Character * s = ""), но в случае, если работаем с wchаr_t, то такое преобразование не прохожит, подскажите как можзно сделать аргумент по умолчанию подходящий для любого типа
C++ Квадрат и точки! Здравствуйте!! Нужна помощь!! Какое наибольшее количество точек с целочисельными координатами можно на листке клеточку накрыть квадратом со стороной N клеток? Входные данные Единственное число - сторона квадрата N (1 <= N <= 10000). http://www.cyberforum.ru/cpp-beginners/thread346274.html
C++ GNU С++
Скачал книжку "C++ для чайников" т.к. я в этом не "бум-бум" в этой книге написано что нужно использовать GNU C++ но я так и не смог её найти и хотел спросить Где можно её скачать или можно ли пробывать все премеры в этой кинге в программе Microsoft Visual Studio 2010
помогите разобраться с gcc C++
начал изучать c++. не могу скомпилировать первую программу. Вот что я делал. 1.запускаю файл gcc.exe. Создаю папку с адресом C:\gcc. В ней оказывается ряд папок (bin, docs, examples, include, lib) 2. печатаю программу : int main() { int a=2. b=3. c: c= a+
C++ Драйвер Фильтр http://www.cyberforum.ru/cpp-beginners/thread346226.html
Здрастье! В Windows Driver Kit есть исходники и описания для драйверов фильтров (как их писать на С)! Но я не могу найти там ничего толкого, может кто знает где найти описание драйверов фильтров (как их писать)? Желательно источник Windows Driver Kit!
C++ Произведение нечётных чисел от 1 до 15 Напишите программу, которая считает и печатает произведение нечетных целых от 1 до 15. Что то вообще уже мозг не работает, подскажите пожалуйста алгоритм, псевдокод в цикле for с условием (i=1;i<=15;i+=2) Это я понял, а вот как считать и выводить подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
29.08.2011, 13:23     Не парсит аргументы
Как-то так. Только не компилируется. desc не видит...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#include <boost/program_options/parsers.hpp>
#include <boost/program_options/options_description.hpp>
#include <boost/program_options.hpp>
#include <iostream>
#include <cstdlib>
 
namespace params
{
     int howmany = -1;
     int min_length = -1;
     int max_length = -1;
}
 
namespace po = boost::program_options;
 
namespace
{
 
po::options_description desc("Allowed");
desc.add_options()
     ("help,h", "help message")
     ("useLetters,useLetters", "Allow use letters")
     ("useSigns,useSigns", "Allow use signs")
     ("useUpperLetters,useUpperLetters", "Allow use upper letters")
     ("howmany,howmany", po::value<int>(&params::howmany), "how many attempts")
     ("minlength,minlength", po::value<int>(&params::min_length), "min length of password")
     ("maxlength,maxlength", po::value<int>(&params::max_length), "max length of password")
;
 
}
 
std::string combinates = "";
// Инициализация букв и цифр для генерирования
void __initCombinates(bool letters, bool signs, bool upperLetters)
{
        if (letters)
                combinates += "qwertyuiopasdfghjklzxcvbnm";
        if (signs)
                combinates += "0123456789";
        if (upperLetters)
                combinates += "QWERTYUIOPASDFGHJKLZXCVBNM";
}
// Генерируем случайное число
int genRnd(int min, int max)
{
        return rand() % max + min;
}
// Генерируем сам пароль
std::string genPass(int minlength, int maxlength)
{
        std::string res = "";
        int length = genRnd(minlength, maxlength);
        for (int i = 0; i < length; ++i)
        {
                res += combinates[genRnd(0, combinates.length())];
        }
        return res;
}
 
int main(int argc, char* argv[])
{
    srand(time(NULL));
    po::variables_map var_map;
    try
    {
        po::store(po::command_line_parser(argc, argv).options(desc).run(), var_map);
        po::notify(var_map);
    }
    catch (const std::exception& e)
    {
         std::cerr << desc << std::endl;
         std::cerr << "Error: " << e.what() << std::endl;
         return 1;
    }
    bool allowLet = false, allowSig = false, allowUpLet = false;
    if (var_map.count("help"))
    {
        std::cerr << desc << std::endl;
        return 0;
    }
    if (var_map.count("useLetters"))
    {
        allowLet = true;
    }
    if (var_map.count("useSigns"))
    {
        allowSig = true;
    }
    if (var_map.count("useUpperLetters"))
    {
        allowUpLet = true;
    }
    if ((!allowLet && !allowSig && !allowUpLet) || params::howmany == -1 || params::min_length == -1 || params::max_length == -1)
    {
        std::cerr << desc << std::endl;
        return 1;
    }
    __initCombinates(allowLet, allowSig, allowUpLet);
    for (int i = 0; i < params::howmany; ++i)
    {
        std::cout << genPass(params::min_length, params::max_length) << std::endl;
    }
}
 
Текущее время: 22:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru