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

Как ограничить длину вводимой строки? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сфоpмиpовать массив из номеpов столбцов, в котоpых находятся минимальные элементы каждой строки (BorlandC++) http://www.cyberforum.ru/cpp-beginners/thread1692033.html
Как сделать задание "Дан массив А pазмеpом m*n. Сфоpмиpовать массив NS из номеpов столбцов, в котоpых находятся минимальные элементы каждой строки. " У меня есть подобный код : #include<stdio.h>...
C++ Создать каталог организаций города и отсортировать по названию Создать каталог организаций города (динамический массив) и отсортировать по названию ( friend - функция). Помогите пожалуйста #include <iostream> #include <conio.h> #include <stdio.h> using... http://www.cyberforum.ru/cpp-beginners/thread1692028.html
Даны два массива. Сформируйте массив С, состоящий из общих элементов массива А и В C++
Даны два массива: массив А из n элементов и массив В из m элементов. Сформируйте массив С, состоящий из общих элементов массива А и В. Для формирования массива С напишите функцию с...
C++ Перегрузка "+" в классе матрица
Добрый вечер При сложении двух матриц, прибавляет только 1 рядок обоих, остальные не изменяет. Помогите пожалуйста найти ошибку в коде: #include <iostream> using namespace std; class Matrix...
C++ При вводе данных программа пропускает операции cin http://www.cyberforum.ru/cpp-beginners/thread1691939.html
Описать структуру с именем note, содержащую следующие поля:  фамилия, имя;  номер телефона;  дата рождения (массив из трех чисел). Написать программу, выполняющую следующие действия:  ввод с...
C++ Функция преобразующая данные исходного файла в текстовый файл Всем привет. задание на картинке. Все сделал( записывает в двоичный и считывает потом), выводит, но вот с переводом из двоичного в текстовый получается фигня, все символы, что были в двоичном... подробнее

Показать сообщение отдельно
BMT_Victor
0 / 0 / 0
Регистрация: 06.03.2016
Сообщений: 7

Как ограничить длину вводимой строки? - C++

22.03.2016, 20:39. Просмотров 558. Ответов 7
Метки (Все метки)

Короче, есть задачка:
Напишите программу на "родном" С++, которая читает с клавиатуры число (целое) и имя (до 15 символов). Спроектируйте программу так, чтобы данные вводились в одной функции, а выводились в другой. Сохраняйте данные в главной программе. Программа должна завершаться, когда пользователь введет число 0. Подумайте о том, как передавать данные между функциями - по значению, по указателю или по ссылке.
Вот, я придумал решение:

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
#include <iostream>
#include <iomanip>
 
using std::cin;
using std::cout;
using std::setw;
 
void input(int& num_rec, char* name_rec);
void output(int num_to_out, char* name_to_out);
 
const int len = 16;
 
int main(void)
{
    char* name = "0123456789012345";        // Инициализация строки
                                            // на 15 символов плюс \0.
                                            // В этой строке хранится имя
    
    int num(0);                             // Здесь хранится число 
 
    for (;;)
    {
        input(num, name);
 
        if (0 == num)   return 0;       // Выход из бесконечного цикла
 
        output(num, name);
    }
 
    return 0;
}
 
// Функция для ввода данных
void input(int& num_rec, char* name_rec)
{
    cout << "\nEnter a number (0 to end): ";
    cin >> num_rec;
 
    if (0 == num_rec)
        return;
    
 
    cout << "\nEnter a name: ";
    cin.getline(name_rec, len, '\n');
 
    return;
}
 
// Функция для вывода данных
void output(int num_to_out, char* name_to_out)
{
    cout << "\n\n" << setw(10) << "#" << num_to_out
        << "\n" << setw(10) << name_to_out;
 
    return;
}
Он чё-то вылетает на строке, где cin.getline().

http://www.cyberforum.ru/attachment....1&d=1458668132

Что жи не так???
0
Миниатюры
Как ограничить длину вводимой строки?  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.