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

Знаю ли я основы ООП? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ввод данных с клавиатуры http://www.cyberforum.ru/cpp-beginners/thread621586.html
Помогите, пожалуйста... Если я напишу так:cin >> a; То у меня введутся символы с клавиатуры, а потом каретка автоматически переходит на следующую строку, а мне надо, чтобы каретка осталась на этой строке. Я потом на этой же строке только через 2 табуляции снова буду вводить данные, только другие. Как это сделать?
C++ Цикл: Найти самую длинную неубывающую цепочку чисел В цикле с клавиатуры вводится 15 целых чисел. Необходимо найти самую длинную неубывающую цепочку чисел. На экран вывести найденную максимальную длину цепочки и порядковый номер того числа, с которого цепочка началась. Цикл for а не if, сорри ) http://www.cyberforum.ru/cpp-beginners/thread621585.html
C++ Упорядочить массив в с++
Создать целоисчисленный массив. упорядочить элементы массива в порядке возрастания частоты встречаемости. Если в массиве есть несколько элементов, то группы упорядочить по убыванию абсолютных значений элементов. Помогите пожалуйста, не знаю как упорядочить массив. Вот код, который написала #include <conio.h> #include <stdio.h> #include <stdlib.h> #include <math.h> #include <time.h> #include...
C++ Узнать размер файла
Дорогие форумчане! Есть у меня есть файл xxxxx.clk(все данные в нем строчные), он весит n-ое количество мегабайт. Нужно задать массив структур из этих строк. Почитал в интернете, нужно использовать библиотеки sys.h\types.h\stat.h . Но их нету в стандартном наборе ни CodeBlock'а, ни Builder'а, ни DEV'а... Покажите на примере, как это сделать?
C++ C++ Интерфейс пользователя http://www.cyberforum.ru/cpp-beginners/thread621579.html
Есть у меня форма, сделал я ее на с++ atl через ресурс. Теперь надо по нажатии кнопки которая находиться на этой же форме записать всю инфу в файл. НО! Я не знаю как присвойть переменной например char значение которое располагаться в компоненте (textbox - текстовое поле). Подскажите?
C++ Массив: сортировка элементов массива по убыванию Привет всем с Казахстана) Хотелось бы от вас пару уроков взять про массивов. Сначала, пожалуй, начну с этого: Массив, состоящий из 15и символов. Сортировать эти массивы по убыванию. Сделайте, как можно проще. Просто, когда училка спросит, чтоб я мог смело отвечать) Удачи) На таком примере: #include<iostream.h> #include<math.h> #include<conio.h> int main(){ подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
10.07.2012, 20:09     Знаю ли я основы ООП?
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
104
105
106
107
108
109
110
111
112
113
#include <iostream>
#include <string>
#include <fstream>
#include <boost/program_options.hpp>
#include <boost/algorithm/string.hpp>
 
namespace po = boost::program_options;
 
namespace params
{
    po::options_description desc;
    std::string file;
    std::string mode;
    std::string word;
}
 
void init_module(int argc, char* argv[])
{
   using namespace params;
   desc.add_options()
      ("help,h", "produce help")
      ("file,f", po::value<std::string>(&file), "input file")
      ("mode,m", po::value<std::string>(&mode), "mode (words, checksum)")
      ("word,v", po::value<std::string>(&word), "work for count (only if mode equal to words")
   ;
   po::variables_map vm;
   po::store(po::parse_command_line(argc, argv, desc), vm);
   po::notify(vm);
   if (vm.count("help"))
   {
       std::cout << desc << std::endl;
       throw std::logic_error("Config error");
   }
   if (!vm.count("file"))
   {
       throw std::logic_error("Config error");
   }
   if (!vm.count("mode"))
   {
       throw std::logic_error("Config error");
   }
   if ((mode == "words" && !vm.count("word")) ||
        (mode == "checksum" && vm.count("word")))
   {
       throw std::logic_error("Config error");
   }
}
 
void count_words(const std::string& file, const std::string& word)
{
    std::ifstream ifs(file.c_str());
    if (!ifs)
    {
        throw std::logic_error("Wrong file");
    }
    const std::string delims = "\n\t,.:!?";
    const std::string content((std::istreambuf_iterator<char>(ifs)), std::istreambuf_iterator<char>());
    std::vector<std::string> words;
    boost::split(words, content, boost::is_any_of(delims), boost::token_compress_on);
    std::cout << "Word " << word << " contains in file " << std::count(words.begin(), words.end(), word) << std::endl;
}
 
void print_checksum(const std::string& file)
{
    std::ifstream ifs(file.c_str(), std::ios::binary);
    if (!ifs)
    {
        throw std::logic_error("Wrong file");
    }
    int sum = 0;
    while (ifs)
    {
        int value = 0;
        ifs.read(reinterpret_cast<char*>(&value), sizeof(value));
        sum += value;
    }
    std::cout << "Checksum is: " << sum << std::endl;
}
 
int main(int argc, char* argv[])
{
    try
    {
        init_module(argc, argv);
    }
    catch (const std::logic_error& e)
    {
        std::cerr << e.what() << std::endl;
        return 1;
    }
    try
    {
       if (params::mode == "words")
       {
           count_words(params::file, params::word);
       }
       else if (params::mode == "checksum")
       {
           print_checksum(params::file);
       }
       else
       {
           std::cerr << "Wrong argument" << std::endl;
           return 1;
       }
    }
    catch (const std::logic_error& e)
    {
        std::cerr << e.what() << std::endl;
        return 1;
    }
    return 0;
}
Как-нибудь так бы сделал, куда тут совать ООП, кроме парсинга списка аргументов вписаться абсолютно не могу, оно тут просто не нужно, ибо задача одноразовая.
Собственно, Kastaneda, хотелось бы увидеть решение.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru