Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Шаблоны функций и классов https://www.cyberforum.ru/ cpp-beginners/ thread400013.html
Нужносоздать шаблон функции возведения заданного числа в заданную степень (аналог функции pow() ). Шаблон класа Класс: матрица. Свойства: размеры, элементы матрицы. Методы: конструктор с параметрами, вычисление суммы элементов на главной диагонали.
C++ Дружественные функции и классы
1. Класс Пациент (имя, диагноз, рецепт, номер карты); 2. Класс Зав. отделением (имя) Описание предметной области – зав. отделением может менять номер карты пациента . Пожалуйсто помогите!!! Добавлено через 1 минуту Каждый класс должен реализовывать метод show, который отображает на экране все свойства данного объекта. Вызов дружественной функции должен сопровождаться выводом сообщения о...
C++ ПЕРЕГРУЗКА ФУНКЦИЙ. ПЕРЕГРУЗКА ОПЕРАТОРОВ. https://www.cyberforum.ru/ cpp-beginners/ thread400009.html
1. Функция нахождения самого длинного слова (два, три и четыре слова). 2. Описать класс одномерный массив (вектор) целых чисел. Перегрузить следующую операцию: > присвоить всем элементам вектора заданное значение. Помогите пожалуйсто очнь надо! Только попроще!!!
C++ Абстрактные базовые классы Помогите решить пожалуйста!) Задание 1 . Создать базовый класс - фигура, и производные класс - круг, прямоугольник, трапеция. Определить виртуальные функции площадь, периметр и вывод на печать. Задание 2 . Создать абстрактный базовый класс с виртуальной функцией - сумма прогрессии. Создать производные классы: арифметическая прогрессия и геометрическая прогрессия. Каждый класс имеет два поля... https://www.cyberforum.ru/ cpp-beginners/ thread400002.html
Ввод имени файла с клавиатуры C++
Всем привет! Хочу сделать так: int main() { char finame; printf("Enter the name of file: "); scanf_s("%s", &finame); FILE *f = fopen(finame, 'r'); if(!f) printf ("Error!");
C++ Поставить в начало последовательности нули, а затем единицы 1 Последовательность a1; a2; ...; an состоит из нулей и единиц. Поставить в начало этой последовательности нули, а затем единицы. https://www.cyberforum.ru/ cpp-beginners/ thread399998.html
C++ Классы https://www.cyberforum.ru/ cpp-beginners/ thread399957.html
Условие задачи Построить систему классов для описания плоских геометрических фигур: круг, квадрат, прямоугольник. Предусмотреть методы для создания объектов, перемещения на плоскости, изменения размеров.Программа должна содержать меню, позволяющее осуществить проверку всех методов классов. В интернете нашла похожую решенную задачку, но в ней много лишнего по сравнению с моим заданием, поэтому...
C++ Разжуйте определенную часть написания программы. В частности enum.
Дело в том, что нужно написать программу, в которой вводиться с клавиатуры Название месяца на английском, а выводится у кого из друзей и когда выводится день рождения (текст вообщем). Сложность состоит в том, что программу нужно написать с помощью 16-ти дополнительных ф-ций, из которых 12-это просто вывод текста для каждого месяца, 1-на ф-ция (должна быть void) для вывода сообщения для ввода...
C++ создание string в namespece std https://www.cyberforum.ru/ cpp-beginners/ thread399955.html
В руки попала программа. Необходимо вместо фиксированных аргументов "to be or not to be", "beer", "bread", "milk" брать какой-нибудь string. А создать его не могу. Вроде и библиотека подключена... Помогите пожалуйста. // recurstring.cpp: определяет точку входа для консольного приложения. // /* написать консольное приложение, которое будет работать с последовательностями слов. Вывести...
C++ Построение таблицы значений функции y=f(x) для x на отрезке [a;b] с шагом h https://www.cyberforum.ru/ cpp-beginners/ thread399945.html
Помогите, пожалуйста, исправить следующую ситуацию: при a=-2, b=1 и h=0.3 на экран не выводится значение функции в крайней точке отрезка f(1) :gsad: #include <iostream> #include <cmath> using namespace std; double f(double x); int main() { setlocale(LC_ALL,"rus_rus.1251"); double a;
Найти в массиве тройку смежных чисел с максимальной суммой. C++
считает только сумму первых трех элементов, а должен считать макс.сумму трех смежных элементов. //--------------------------------------------------------------------------- #include<conio.h> #include<stdio.h> #include<math.h> #include <vcl.h> #pragma hdrstop //---------------------------------------------------------------------------
C++ программа, которая обрабатывает текстовый файл https://www.cyberforum.ru/ cpp-beginners/ thread399933.html
Здравствуйте! помогите пожалуйста написать программу (чистый С), которая: 1. считывает содержание текстового файла input.txt; 2. сохраняет только слова (которые состоят исключительно из букв) и их количество в динамическую структуру данных, в которой слова упорядочены в алфавитном порядке; 3. удаляет из структуры слова, которые состоят только и
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
06.12.2011, 14:17 0

cin.getline работает через раз - C++ - Ответ 2252971

06.12.2011, 14:17. Показов 12487. Ответов 6
Метки (Все метки)

Ответ

Цитата Сообщение от GBIT Посмотреть сообщение
не знаю. но получается в моем первом варианте
C++
1
cout<<directory<<"\n";
должен был вернуть содержимое var.
C++
1
2
3
сin>>var;                      // подаю в него допустим "123"
cin.getline(directory, sizeof(directory));     // допустим скушал 123
cout<<directory<<"\n";      // по идее должен вернуть 123. но он выводит ничего
отладчик выдает что после строчки cin.getline directory содержит 0.
хотелось бы обойтись без scanf
1. Внимательно прочитайте какую-нить книжку по С++ о вводе выводе. Минимально - 14 главу из моей книги по С++.ООП. Тут на форуме я кое-что постил из нее - поищите мои сообщения.
2. Мыслите вы неправильно. Мы имеем дело с ПОТОКОМ символов. Символы, которые УЖЕ прочитаны, можно ВЕРНУТЬ в поток. Если не возвращать, то их уже нет, повторно их прочитать невозможно.
Поэтому:
cin >> var; скушал 123 - из буфера ввода эти символы удалены. А в буфере осталось enter - символ, который является окончанием ввода целого.
Далее начинает getline и он видит тот самый enter (никаких 123 уже нет - они уже "отыграны" предыдущим вводом). И заканчивает работу, совершенно справедливо полагая ноль в качестве длины строки.
3. Enter по-любому надо "отыграть" - например, проигнорировать. Посмотрите еще метод ignore().

Вернуться к обсуждению:
cin.getline работает через раз C++
2
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.12.2011, 14:17
Готовые ответы и решения:

Не работает ни cin.Get(), ни cin.Getline()
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &quot;conio.h&quot; #include &quot;windows.h&quot; #include...

Не работает cin.getline
#include &lt;iostream&gt; int main() { using namespace std; char name,name2;...

cin.getline как работает?
Здравствуйте, в моей программе я столкнулся с некоторой проблемой. В переменную place я хочу...

Не работает cin.getline(buf, 20);
Товарищи подскажите почему не работает cin.getline(buf, 20);? Проблема в том что я хочу ограничить...

6
06.12.2011, 14:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2011, 14:17
Помогаю со студенческими работами здесь

Не работает. cin.getline(string,200);
Я создаю проект. Все работает кроме одного cin.getline(string,200), почему? Когда запускаю этот...

C++ проблема с вводом, getline(cin, *p) не работает
В общем есть вот такой вот код, я хочу, что бы ввод названия компании шел после ввода диаметра, но...

Не работает getline(cin,s), istream.ignore()
Использую microsoft visual c++ 6.0. не работает: string s; getline(cin,s);//дважды приходиться...

cin.getline переброс через строку
Использую функцию cin.getline,но происходит вот такое чуДооО см картинку внизу Код char...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru