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

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

Восстановить пароль Регистрация
 
underwaterspace
2 / 2 / 0
Регистрация: 29.01.2013
Сообщений: 47
31.01.2013, 16:03     for,while,do while (программа должна сообщить кол-во введенных слов) #1
"Напишите программу,использующую массив 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++ Дана последовательность слов. Найти кол-во слов начинающихся с d и кончающихся буквой w
C++ Найти повторяющиеся строки (от 2-х и больше) и сообщить их кол-во
Дан файл, содержащий текст на русском языке. Подсчитать кол-во слов, в которых кол-во гласных и согласных совпадает C++
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
Сообщений: 247
Завершенные тесты: 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++

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

Или воспользуйтесь поиском по форуму:
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 (программа должна сообщить кол-во введенных слов)
Ответ Создать тему
Опции темы

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