Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Noobass
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 100
1

Контроль ввода

29.11.2012, 17:01. Просмотров 679. Ответов 1
Метки нет (Все метки)

Задача: написать программу, которая дает пользователю ввести массив, а потом при помощи функции подсчитать символы. Вот код:
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
#include <iostream>
using namespace std;
const int ArSize=10;
void strcount(const char * str);
int main()
{
    char input[ArSize];
    char next;
    cout<<"Enter a line:\n";
    cin.get(input,ArSize);
    while(cin)
    {
        cin.get(next);
        while(next!='\n')
            cin.get(next);
        strcount(input);
        cout<<"Enter a next line:\n";
        cin.get(input,ArSize);
    }
    cout<<"Bye!\n";
    system("pause");
    return 0;
}
void strcount(const char *str)
{
    static int total=0;
    int count=0;
    while(*str++);
    count++;
    total+=count;
    cout<<"Count = "<<count<<"\n";
    cout<<"Total = "<<total<<"\n";
}
В принципе, все понятно, кроме вот этого момента:
C++
1
2
3
4
5
while(cin)
    {
        cin.get(next);
        while(next!='\n')
            cin.get(next);
Я просто не вижу связи между переменной next и массивом. Объясните мне, зачем она нужна, ато я никак понять не могу
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2012, 17:01
Ответы с готовыми решениями:

Контроль ввода числа
Суть в том , что в данном случае код перестает работать, когда я ввожу цифру...тут у меня 1....

Контроль ввода с клавиатуры
скажите как сделать так чтоб если задано char и вводят числа как сделать чтоб выдало ошибку? и...

Контроль ввода данных
Здравствуйте! Меня интересует ваше мнение по организации этого вопроса. Предположим что у нас...

Контроль ввода ФИО
Пользователь вводит ФИО с клавиатуры, его нужно преобразовать до формата &quot;Фамилия инициалы&quot;(напр,...

Контроль ввода данных С++
Подскажите пожалуйста, хочу сделать контроль ввода данных. Предлагать вводить переменную n до тех...

1
no_wearines
53 / 49 / 21
Регистрация: 01.01.2012
Сообщений: 345
29.11.2012, 21:51 2
C++
1
2
3
4
5
6
while(cin) //пока поток заполняется (нажимаются кливиши)
    { 
        cin.get(next); //Считать из входного потока символ и занести его в объект типа char = next
        while(next!='\n') //Пока не встретился символ переходя на новую строку
            cin.get(next);//Считать из входного потока символ и занести его в объект типа char = next
}
1
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2012, 21:51

Контроль корректности ввода числа
В консоли в поле (Enter The Yar: )вводя нужно вводить только цифры, если ввести случайно букву то...

Контроль правильности ввода в int
#include&quot;iostream.h&quot; int main() { int n; cout &lt;&lt; &quot;vvedite kolichestvo tochek (ot 2 do...

Контроль длины ввода строки
как сделать проверку, чтобы вводимое значение не выходило за пределы выделенной памяти? int...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.