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

Проблемы с выводом - C++

Восстановить пароль Регистрация
 
InSpectr
 Аватар для InSpectr
10 / 10 / 1
Регистрация: 09.09.2013
Сообщений: 53
09.09.2013, 22:01     Проблемы с выводом #1
Это часть программы. При вводе фамилии , имени, телфон, дату и вводишь "*" вывод получаеться правильный( выводить фамилия и имя). При вводе этих данных 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
32
33
34
35
36
37
38
#include "stdafx.h"
#include <iostream>
#include <string>
#include <Windows.h>
using namespace std;
 
struct NOTE {
    char NAME[30];
    int TELE;
    int BDAY[3];
}BLOCKNOTE[10];
 
 
int main()
{ struct NOTE s;
    char month[10];
    int i,q,temp;
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout<<"Введите Имя, Телефон, Дату рождения\n";
    for(i=0;i<10;i++)
    {   
        gets(BLOCKNOTE[i].NAME);
        if(!strcmp(BLOCKNOTE[i].NAME,"*"))
            break;
        
        cin >>BLOCKNOTE[i].TELE;
        for(q=0;q<3;q++)
        cin >>BLOCKNOTE[i].BDAY[q];
 
 
        
    }
    for(temp=0;temp<i;temp++)
    cout <<BLOCKNOTE[temp].NAME;
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.09.2013, 22:01     Проблемы с выводом
Посмотрите здесь:

C++ Проблемы с вводом/выводом кирилицы в консоли
C++ Проблемы с выводом бинарного дерева
Проблемы с выводом C++
C++ Проблема с выводом
C++ Проблемы с выводом массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
09.09.2013, 22:21     Проблемы с выводом #2
в 30-й строчке не хватает cin.get();
InSpectr
 Аватар для InSpectr
10 / 10 / 1
Регистрация: 09.09.2013
Сообщений: 53
09.09.2013, 22:24  [ТС]     Проблемы с выводом #3
Прошу прощения все исправилось спасибо большое. Хотелось бы еще узнать почему это там должно быть)
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
09.09.2013, 22:25     Проблемы с выводом #4
допишу. там смысл получается, что после ввода числа
Цитата Сообщение от InSpectr Посмотреть сообщение
cin >>BLOCKNOTE[i].BDAY[q];
в буфере остается символ новой строки '\n' и дальше когда повторяется цикл

Цитата Сообщение от InSpectr Посмотреть сообщение
gets(BLOCKNOTE[i].NAME);
считывается этот символ и строка оказывается пустой
InSpectr
 Аватар для InSpectr
10 / 10 / 1
Регистрация: 09.09.2013
Сообщений: 53
09.09.2013, 22:27  [ТС]     Проблемы с выводом #5
Спасибо большое.
Yandex
Объявления
09.09.2013, 22:27     Проблемы с выводом
Ответ Создать тему
Опции темы

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