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

Теряется запрос ввода строки, содержащийся в функции класса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Функция добавления для множества http://www.cyberforum.ru/cpp-beginners/thread841516.html
Как изменить функцию add, чтобы она не выполнялась для элемента, который уже существует в массиве (множестве)? class massiv { private: char *data; char *udata; int size; int length; public:
C++ Функция поиска седловых точек Не правильно работает функция поиска седловых точек. Не могу понять в чём дело. Подскажите пожалуйста, в чём ошибка? #include <iostream> using namespace std; // Функция ввода матрицы void input(int **a, int n, int m) { cout << "Введите элементы матрицы" << endl; for(int i = 0; i < n; i++) http://www.cyberforum.ru/cpp-beginners/thread841513.html
C++ Добавить 3 переменные в массив char без использования библиотеки string
задача такая: есть 3 переменные, которые вводит пользователь адрес сервера, юзер, сообщение. нужно запихнуть их в массив char без использования библиотеки string #include "stdafx.h" #include <iostream> #include <conio.h> #include "windows.h" using namespace std; int _tmain(int argc, _TCHAR* argv)
C++ Что изучать?
Засунул эту тему сюда, т.к. не знаю такого раздела и здесь большой онлайн. В общем я немогу уже давно определиться, что мне изучать ? Начал изучать С++, потом Delphi, сейчас опять С++. Немогу вообще определиться (Delphi можно не предлагать, она на вин8 не идет). Мне нужен такой язык, на котором хорошие проги пишут, типо всяких Mail Агент, Skype, всяких новостных программ, в общем все. Просто я...
C++ Отсортировать строки. Вывести кратчайшие строки (строки, если их несколько) http://www.cyberforum.ru/cpp-beginners/thread841447.html
Вводить с клавиатуры строки, пока не будет введено 5 строк, которые не содержат символов «*» и «!». Вывести все введенные строки и строки, которые отвечают требованиям задачи. Отсортировать строки. Вывести кратчайшие строка (строки, если их несколько). Помогите...ОЧЕНЬ надо...
C++ Работа со структурами. Написать функцию поиска структур(записей) с заданными признаками написать функцию поиска структур(записей) с заданными признаками(например,выбор структур по заданному,диапазону значений элемента) "Автомобиль"(марка,цвет,серийный номер,регистрационный номер,количество дверей,год выпуска,цена) Помогите пожалуйста подробнее

Показать сообщение отдельно
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
18.04.2013, 20:01     Теряется запрос ввода строки, содержащийся в функции класса
JokerNk, ваша проблема в том, что вы вводите размер массива личностей, и в потоке остается символ новой строки, он и записывается в строку, поэтому сразу просит ввести следующее поле, вот подправил

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
#include <iostream>
using namespace std ;
 
class person
{
    int day, month, year, age, growth ;
    char FIO [50] , status [25], city [25], country [25], phone [20], email [25], sigh[ 10 ];
public :
    void Input ()
    {
                      cout << "F.I.O. : " ;
        cin.getline( FIO, 50 ) ;
        cout << endl << "Date of Birth : " ;
        cin >> day >> month >> year ;
        cout << endl << "Growth : " ;
        cin >> growth ;
        cin.ignore();
        cout << endl << "Country : " ;
        cin.getline( country, 50 ) ;
    }
    void Output ()
    {
        cout << "F.I.O. : " ;
        for ( int i = 0 ; FIO[i] ; i++ )
            cout << FIO[i] ;
        cout << endl ; 
        if ( day < 10 && month < 10 )
            cout << endl << "Date of Birth : 0" << day << ".0" << month << "." << year << endl ;
        else 
        {
            if ( day < 10 )
                cout << endl << "Date of Birth : 0" << day << "." << month << "." << year  << endl ;
            if ( month < 10 ) cout << endl << "Date of Birth : " << day << ".0" << month << "." << year << endl ;
        }
        cout << endl << "Growth : " << growth << endl;
        cout << endl << "Country : " ;
        for ( int i = 0 ; country[i] ; i++ )
            cout << country[i] ;
        cout << endl ;
    }
};
 
int _tmain(int argc, _TCHAR* argv[])
{
    const int N = 20 ;
    int n ;
    cin >> n ;
    person p[N] ;
    cin.ignore();
    for ( int i = 0 ; i < n ; i++ )
    {
        p[i].Input() ;
        cout << endl ;
    }
    system ("cls") ;
    for ( int i = 0 ; i < n ; i++ )
    {
        p[i].Output() ;
        cout << endl ;
    }
    return 0;
}
 
Текущее время: 12:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru