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

Как применить new, точнее для чего это нужно? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ нужно переделать код, из языка Турбо Паскаль в С++ http://www.cyberforum.ru/cpp-beginners/thread602345.html
Было задание создать код в Турбо паскале на основе задания: 1. Дан целочисленный массив A(n) с элементами, сгенерированными случайными числами в диапазоне (-20, 20). Требуется: Отсортировать по...
C++ Оптимизация программ Возник такой вопрос. Допустим у меня в функции используется часто некоторое выражение(например, length/2, а length - параметр функции). Как я понимаю каждый раз значение этого выражения будет... http://www.cyberforum.ru/cpp-beginners/thread602332.html
Поиск максимального и минимального элемента в одномерном динамическом массиве C++
Помогите пожалуйста, никак не могу понять где тут ошибка и что вообще нужно делать(код на C++) #include "stdafx.h" #include <iostream> using namespace std; int getNumber() { int number; do...
Учебники по С++ C++
Здравствуйте уважаемые форумчане! Подскажите пожалуйста учебник(или список литератуты) по С++ от начала (Hello World :) ) до работы с библиотеками DirectX и т.п. Желательно в том порядке в которо...
C++ Удалить строку и столбец матрицы http://www.cyberforum.ru/cpp-beginners/thread602313.html
#include <iostream> using namespace std; void ReadMatr(int **a, int n, int m);//Ввод матрицы с клавиатуры void PrintMatr(int **a, int n, int m);//Вывод матрицы на экран монитора int P(int...
C++ Задача коммивояжера, программа Здравствуйте! Нашла программу решения задачи коммивояжера методом полного перебора почему компилируется но выдает пустое консольное окно?( помогите пожалуйста! подробнее

Показать сообщение отдельно
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.07.2013, 07:48
Цитата Сообщение от metagalaxy Посмотреть сообщение
Сообщение от Fooly
Только не пойму почему нельзя использовать cin.get(rio[i].name, 20); Все равно подчеркивает точку после cin =( даже если просто прописать cin.getline(); без операторов
Потому, что rio - указатель. Надо использовать операцию членства через указатель ->
т.е. cin.get(rio->name, 20);
Либо через операцию разыменования: cin.get((*rio).name, 20);
rio - указатель, но на массив, а элемент массива не указатель, а объект, поэтому такая запись верна: rio[i].name.
А cin.get() и cin.getline() не хотят работать потому, что не умеют читать в объект string, для них нужен указатель на массив char. Можно использовать глобальную getline():
C++
1
getline(cin, rio[i].name);
Добавлено через 5 минут
А чтобы getline() не выдавала ошибку в цикле (для извлечения '\n' после cin>>):
C++
1
2
cout << "Укажите год выпуска: ";
(cin >> rio[i].year).get();
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru