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

Чтение строки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Консоль. Не работает system("cls") http://www.cyberforum.ru/cpp-beginners/thread646425.html
Всем привет! Я конечно начинающий, но не настолько, чтобы не было возможности использовать system("cls"). Пробовал подключать разные библиотеки windows.h и stdlib.h, хотя раньше вроде хватало iostream. Ситуация в следующем, реакции на команду в тексте нет. Пробовал создавать новый проект, в котором только пару строк void main() { cout << "text"; system("cls"); cout << "text2"; }
C++ Встраивание результата функции в место ее вызова Здравствуйте. Можно ли как-то реализовать чтобы перед компиляцией программы выполнолась функция, а ее результат встраивался в место ее вызова? Знаю что для фунций есть классификатор inline, но тогда в место вызова встраивается сама функция, а мне нужен именно результат. Например: void func(int i) { if(i==1) n = 1; else n = 0; } http://www.cyberforum.ru/cpp-beginners/thread646418.html
Последовательный ввод двух строк C++
мне нужно ввести две строки одна за другой,но у меня сразу предлагается ввод двух строк string name,for_number; vector<int> number; cout << "введите ФИО абонента" << endl; getline(cin,name); cout << "Введите номер абонента" << endl;
Абстрактные классы C++
Помогите плиз, экзаменационное задание, а разобраться не могу с ним: Создать консольное приложение, в котором реализовать работу склада. На складе есть отделы: * Бытовая техника. * Офисные товары. * Стройматериалы. Реализовать абстрактный класс товар. Затем для каждого отдела реализовать класс, который будить унаследован от базового класса товар. В классе товар должны быть методы и...
C++ перегрузка операторов http://www.cyberforum.ru/cpp-beginners/thread646390.html
Товарисссчи, что значит запись: CVector2D::operator+(CVector2D const& v1)const файл *срр и чем отличается от CVector2D const operator +(CVector2D const& vector2)const; ? В первом случае это уже непосредственно инициализация? А второй случай описание функциии в классе?(перегружаем оператор operator+ и вызываем его как метод ?(1й код) Добавлено через 6 минут и если можно написать...
C++ Реализация управления из командной строки Всем приветики-чмок. Есть пара вопросов: 1. Как правильно реализовать управление типа "gccp file show f.cpp" (название_программы команда подкоманда1 адрес_объекта)? Может, как массив указателей на функции? Или деревья какие-нибудь? То есть, не _лишь_бы_работало_,а как лучше сделать по уму. 2. Допустим, я делаю в терминале: cd C:\pr\cpp. Как Windows (да или где угодно, если есть... подробнее

Показать сообщение отдельно
bgm313
12 / 12 / 2
Регистрация: 27.07.2012
Сообщений: 208
04.09.2012, 02:14     Чтение строки
Требуется написать функцию, которая читает строка размеров не более 40 символов. Строка представляет собой десятичное число. Ввод должен происходить по аналогии с cin >> str, но с некоторыми изменениями.

Вопрос 1: Как и где лучше хранить знак числа в самой строке или нет? Я в классе определил поле типа bool, которое указывает на положительность или отрицательность числа.

Вопрос2:Как привести функцию к более компактному виду? Хотелось бы посмотреть ваши варианты реализации данной функции.

Вот моя:

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
void HugeInteger::inputHugeInteger(void){
    int i, count = 0;         //count - счётчик прочитанных чисел
    char ch;         
 
    while(isspace(ch = getchar()));
    
    if(!isdigit(ch)){
        if(ch == '-') sgn = false;
        else if (ch == '+') sgn = true;
        else if(ch == '\n') return;
        else{
            ungetc(ch, stdin);
            return;
        }
    }
    
     //num объявлен как char num[sizeArray + 1], sizeArray = 40;
     for(i = sizeArray - 1; i >= 0; i--, count++){
        ch = (char)getchar();
        if(!isdigit(ch)) break;
        num[i] = ch;
    }
    
        if((ch = getchar()) != '\n') ungetc(ch, stdin);
      
  //как вы заметили числа записываются с конца к началу, что соотв.обратному порядку
        //поэтому после,того как прочитана строка, подстрока (или вся строка) разворачивается
       //в конструкторе всем элементам присваиваются значения '0'
 
    if(count) RevStr(num + strlen(num) - count);
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru