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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
КенТюРиК
11 / 11 / 1
Регистрация: 18.10.2012
Сообщений: 148
#1

Указатели на структуры - C++

16.02.2013, 18:36. Просмотров 343. Ответов 7
Метки нет (Все метки)

Подскажите в чем ошибка...Дело в том когда я в вожу в каждое поле по 1 значению все нормально выводит,но если при в вводе в поле я пишу два значения через пробел,то он захватывает у меня следующую строку.
Nazvanie:10 10;
vidtovaraadress

Вот такая штука...

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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
    
struct part
{char nazvanie [20];
char vidtovara[20];
char adres[20];
double vremaraboti;
int kolprodavcov;
float nomermagaz;
};
 
 
void input_part(part *b)
    
{
    cout<<"Nazvanie";
    gets(b->nazvanie);
    cout<<"Vidtovara";
    gets(b->vidtovara);
    cout<<"Adres"; 
    gets(b->adres);
    cout<<"Vremaraboti";
    cin>>b->vremaraboti;
    cout<<"Kolprodavcov";
    cin>>b->kolprodavcov;
    cout<<"Nomermagaz";
    cin>>b->nomermagaz;
 
    cout<<"Nazvanie"<<" "<<b->nazvanie<<'\n';
    cout<<"Vidtovara"<<" "<<b->vidtovara<<'\n';
    cout<<"Adres"<<" "<<b->adres<<'\n';
    cout<<"Kolprodavcov"<<" "<<b->kolprodavcov<<'\n';
    cout<<"Nomermagaz"<<" "<<b->nomermagaz<<'\n';
    
}
int main()
{
    part a,*pa=&a;
    input_part(pa);
    system("pause");
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6471 / 2246 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
16.02.2013, 18:40     Указатели на структуры #2
КенТюРиК, не смотрел код, но на вскиду - пробел считается разделителем. И когда ты пишешь данные через пробел, то считвается данные в переменную до пробела, при следующем считывании в переменную - данные после пробела. Это ожидаемое поведение.
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12514 / 7076 / 794
Регистрация: 27.09.2012
Сообщений: 17,479
Записей в блоге: 2
Завершенные тесты: 1
16.02.2013, 18:47     Указатели на структуры #3
Цитата Сообщение от КенТюРиК Посмотреть сообщение
Вот такая штука...
а у меня нет такой штуки.
Указатели на структуры
КенТюРиК
11 / 11 / 1
Регистрация: 18.10.2012
Сообщений: 148
16.02.2013, 18:58  [ТС]     Указатели на структуры #4
Хм...Скомпилировал в DevC++ все работает...А в VS2012 вот такая вот проблемка.
Vourhey
Почетный модератор
6471 / 2246 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
16.02.2013, 19:00     Указатели на структуры #5
Цитата Сообщение от КенТюРиК Посмотреть сообщение
gets(b->nazvanie);
Кстати, а че ты getline не используешь?
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12514 / 7076 / 794
Регистрация: 27.09.2012
Сообщений: 17,479
Записей в блоге: 2
Завершенные тесты: 1
16.02.2013, 19:01     Указатели на структуры #6
Цитата Сообщение от КенТюРиК Посмотреть сообщение
А в VS2012 вот такая вот проблемка.
я компилировал в VS2012. Результат выше.
КенТюРиК
11 / 11 / 1
Регистрация: 18.10.2012
Сообщений: 148
16.02.2013, 20:55  [ТС]     Указатели на структуры #7
Цитата Сообщение от Vourhey Посмотреть сообщение
Кстати, а че ты getline не используешь?
Не получалось((

Добавлено через 1 час 17 минут
Не подскажете как бы выглядел ввод с помощью команды getline?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2013, 20:57     Указатели на структуры
Еще ссылки по теме:

Указатели C++
ассоциативный массив MAP хранящий указатели на векторы определенной структуры C++
C++ Указатели и структуры
C++ список (в программе обнуляются указатели на структуры)
Структуры и указатели C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Vourhey
Почетный модератор
6471 / 2246 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
16.02.2013, 20:57     Указатели на структуры #8
C++
1
std::cin.getline(buffer, size);
Yandex
Объявления
16.02.2013, 20:57     Указатели на структуры
Ответ Создать тему
Опции темы

Текущее время: 16:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru