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

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

Войти
Регистрация
Восстановить пароль
 
underwaterspace
2 / 2 / 0
Регистрация: 29.01.2013
Сообщений: 47
#1

for,while,do while (программа должна сообщить кол-во введенных слов) - C++

31.01.2013, 16:03. Просмотров 317. Ответов 7
Метки нет (Все метки)

"Напишите программу,использующую массив char и цикл для чтения по одному слову за раз до тех пор,пока не будет введено слово done.Затем программа должна сообщить кол-во введенных слов(исключая done).Вы должны включить заголовочный файл cstring и использовать функцию strcmp() для выполнения проверки."
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <conio.h>
#include <cstring>
#include <locale>
using namespace std;
int main()
{
    setlocale(LC_CTYPE,"russian");
    char word[20];
    int s=0;
    cout<<"Вводите слова (для завершения введите слово done): ";
    do
    {
        cin>>word;
        cin.get();
        s++;
    }
    while(strcmp(word,"done"));
    cout<<"Вы ввели "<<s<<" слов.";
    getch();
    return 0;
}
Можете подсказать, как сделать так, чтобы done не считалось (не используя s-- или if)?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.01.2013, 16:03     for,while,do while (программа должна сообщить кол-во введенных слов)
Посмотрите здесь:

C++ Количество введенных слов
C++ Дана последовательность слов. Найти кол-во слов начинающихся с d и кончающихся буквой w
C++ Работа с вводом. Нужно в зависимости от кол. введенных чисел выделить память
C++ Подсчет слов, введенных с клавиатуры
C++ Найти повторяющиеся строки (от 2-х и больше) и сообщить их кол-во
Дан файл, содержащий текст на русском языке. Подсчитать кол-во слов, в которых кол-во гласных и согласных совпадает C++
C++ Программа которая сообщает количество введенных слов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
The_bolT
70 / 70 / 1
Регистрация: 22.01.2013
Сообщений: 231
31.01.2013, 16:08     for,while,do while (программа должна сообщить кол-во введенных слов) #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
#include <iostream>
#include <conio.h>
#include <cstring>
#include <locale>
using namespace std;
int main()
{
    setlocale(LC_CTYPE,"russian");
    char word[20];
    int s=0;
    cout<<"Вводите слова (для завершения введите слово done): ";
     cin>>word;
    while(strcmp(word,"done"))
    {
        cin>>word;
        cin.get();
        s++;
    }
    
    cout<<"Вы ввели "<<s<<" слов.";
    getch();
    return 0;
}
avg93
61 / 61 / 10
Регистрация: 11.12.2009
Сообщений: 248
Завершенные тесты: 3
31.01.2013, 16:09     for,while,do while (программа должна сообщить кол-во введенных слов) #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <conio.h>
#include <cstring>
#include <locale>
using namespace std;
int main()
{
    setlocale(LC_CTYPE,"russian");
    char word[20];
    int s=0;
    cout<<"Вводите слова (для завершения введите слово done): ";
    while(cin>>word)
    {
        cin.get();
        if (!strcmp(word,"done")) break;
        s++;
    }
    cout<<"Вы ввели "<<s<<" слов.";
    getch();
    return 0;
}
underwaterspace
2 / 2 / 0
Регистрация: 29.01.2013
Сообщений: 47
31.01.2013, 16:15  [ТС]     for,while,do while (программа должна сообщить кол-во введенных слов) #4
есть еще какие-нибудь способы?
The_bolT
70 / 70 / 1
Регистрация: 22.01.2013
Сообщений: 231
31.01.2013, 16:39     for,while,do while (программа должна сообщить кол-во введенных слов) #5
Можно просто отнять единицу в конце
C++
1
 cout<<"Вы ввели "<<(s-1)<<" слов.";
underwaterspace
2 / 2 / 0
Регистрация: 29.01.2013
Сообщений: 47
31.01.2013, 16:46  [ТС]     for,while,do while (программа должна сообщить кол-во введенных слов) #6
"Можете подсказать, как сделать так, чтобы done не считалось (не используя s-- или if)"//
The_bolT
70 / 70 / 1
Регистрация: 22.01.2013
Сообщений: 231
31.01.2013, 18:05     for,while,do while (программа должна сообщить кол-во введенных слов) #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <conio.h>
#include <string>
#include <locale>
using namespace std;
int main()
{
    setlocale(LC_CTYPE,"russian");
    char word[20];
    int s=0;
    string a="done";
    cout<<"Вводите слова (для завершения введите слово done): ";
    bool b=true;
    while(b)
    {
        cin>>word;
        cin.get();
        (word!=a) ? s++ : b=false ;
    }
   cout<<"Вы ввели "<<s<<" слов.";
    getch();
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.01.2013, 18:46     for,while,do while (программа должна сообщить кол-во введенных слов)
Еще ссылки по теме:

Количество введенных символов, слов и строк C++
Подсчет кол-ва слов C++
Строка, введенная пользователем, состоит из слов, разделенных запятой. Подсчитать и вывести на экран количество введенных слов C++
Пользователь вводит с клавиатуры строку символов. Сообщить, сколько слов в строке C++
C++ Подсчет числа слов во введенных данных

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

Или воспользуйтесь поиском по форуму:
underwaterspace
2 / 2 / 0
Регистрация: 29.01.2013
Сообщений: 47
31.01.2013, 18:46  [ТС]     for,while,do while (программа должна сообщить кол-во введенных слов) #8
The_bolT, хоть в этом примере и присутствует условная операция, но все равно спасибо
Yandex
Объявления
31.01.2013, 18:46     for,while,do while (программа должна сообщить кол-во введенных слов)
Ответ Создать тему
Опции темы

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