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

Непонятка при вводе структуры с клавиатуры - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ ошибка "Debug Assertion Failed".Line 1441! http://www.cyberforum.ru/cpp-beginners/thread1024684.html
вот код программы: #include <SFML\Graphics.hpp> #include<xstring> #include <iostream> #include <math.h> #include <limits> #include <stdio.h> using namespace std;
C++ Пусть даны две вещественные матрицы порядка n. Получите новую матрицу следующим образом(для нахождения минимального элемента и произведения элементов Пусть даны две вещественные матрицы порядка n. Получите новую матрицу следующим образом(для нахождения минимального элемента и произведения элементов в указанной строке используйте функции): а)умножением минемального элемента каждой строкипервой матрицы на наибольший элемент соответсвующго столбца второй матрицы; б)прибавлением к элементакм каждого столбца первой матрицы произведение элементов... http://www.cyberforum.ru/cpp-beginners/thread1024675.html
C++ Объём данных в нескольких измерениях
Добрый день, уважаемые форумчане! Помогите, пожалуйста решить задачку. Буду благодарен:) Дана емкость винчестера V в мегабайтах. Написать программу, которая бы по введен-ному номеру единицы измерения информации(1 – бит, 2 – байт, 3 – килобайт, 4 – ме-габайт, 5 – гигабайт) переводила V в соответствующую единицу измерения. :)
C++ Перестановка строк в двухмерном массиве
Подскажите пожалуйста функцию осуществляющую перестановку строк в двухмерном массиве 7*7 следующим образом: первую и последнюю,вторую и предпоследнюю и т.д.
C++ преобразования типов http://www.cyberforum.ru/cpp-beginners/thread1024654.html
void foo(int i) {...} string str("abcdef"); //..... enum BoardLetter {a = 0, b, c, d, e, f, g, h}; foo( (int)((BoardLetter)str) ); // нужно получить int вот как здесь можно, чтобы работало?
C++ Аналог std::string Имеется некоторый класс, обеспечивающий работу с символами UTF-8. Назовём его uchar. Можно ли простым способом организовать класс ustring, полностью соответствующий по принципу взаимодействия с std::string с заменой char на uchar? Вот реализация класса uchar (пока сырая, сильно не пинайте) #ifndef UTF_8 #define UTF_8 #include <iostream> #include <stdio.h> #include <string> class uchar подробнее

Показать сообщение отдельно
Alex_Skripa
17 / 17 / 1
Регистрация: 16.09.2013
Сообщений: 126
01.12.2013, 11:49     Непонятка при вводе структуры с клавиатуры
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
63
64
65
66
67
68
69
#include "stdafx.h"
#include <conio.h>
#include <stdio.h>
#include <iostream>
#include <string>
#include <string.h>
#include <iomanip>
#include <Windows.h>
#include <cstdio>
using namespace std;
 
struct Man
    {
        string fio;
        int age;
        double stut,weight;
        char gender;
    };
 
void Init(Man *people, int n)
{
    char gen;
    string str;
    int i;
    for(i=0;i<n;i++)
    {   
        cout <<"\nВведите ФИО человека: ";
        str="";
        do
        {
        scanf("%c",&gen);
        str+=gen;
        }
        while(gen=='\n');
        people[i].fio=str;
        cout <<"\nВведите возраст человека: ";
        cin >> people[i].age;
        cout <<"\nВведите рост человека: ";
        cin >> people[i].stut;
        cout <<"\nВведите вес человека: ";
        cin >> people[i].weight;
        cout <<"\nВведите пол <м> или <ж>: ";
        label:cin >> gen;
        if ((gen!='м')&&(gen!='ж'))
        {
            cout <<"\nВведите <м> или <ж>\n";
            goto label;
        }
        else
            people[i].gender=gen;
    }
}
 
int main()
{
    setlocale(LC_ALL,"Russian");
    SetConsoleOutputCP(1251);
    SetConsoleCP(1251);
    int n;
    Man *people;
    cout <<"Введите количество человек: ";
    cin >>n;
    people=new Man [n];
    Init(people,n);
    cout <<"\nФамилия второго человека "<<people[2].fio;
    delete(people);
    system("pause");
    return 0;
}
ну так вот в функции Init, организован ввод данных для массива типа структура Man, как бы все работает только вот поле fio... Я организовал посимвольный ввод до ввода символа Enter, далее присвоил это полю fio... Загвозка в том что если вводишь хотя бы один пробел, происходит "копец": зацикливание
C++
1
2
cout <<"\nВведите <м> или <ж>\n";
goto label;
при этом все строки кода до этого просто игнорятся вот эти:
C++
1
2
3
4
5
6
7
cout <<"\nВведите возраст человека: ";
        cin >> people[i].age;
        cout <<"\nВведите рост человека: ";
        cin >> people[i].stut;
        cout <<"\nВведите вес человека: ";
        cin >> people[i].weight;
        cout <<"\nВведите пол <м> или <ж>: ";
Непонятка при вводе структуры с клавиатуры
Я вообще не понимаю что это как и почему!!! Люди добрые подскажите пожалуйста)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru