Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
11 / 11 / 2
Регистрация: 25.05.2009
Сообщений: 435
1

Вопрос по мелочи

23.07.2009, 20:07. Просмотров 622. Ответов 8
Метки нет (Все метки)

Здравсвуйте! Когда-то , недавно, мы обсуждали тему среднее арифметическое числа. Я вроде понял её, но есть маленький нюанс. Вот код:
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
#include <iostream>
using namespace std;
 
int main()
{
setlocale(0,"");
int i = 0; 
double s = 0.0, vvod;
char indicator = 'y';
while((indicator == 'y') || (indicator == 'Y') || (indicator == 'yes'))
{
    cout<<endl<<"Введите пожалуйста Хатабыч -> ";
    cin>>vvod;
    ++i;
    s +=vvod;
    cout<<endl<<"Продолжить ещё разок?"   <<endl;
        
    cin>>indicator;
}
cout<<"Средднее из "<<i<<" введённых значений = "<<s/i<<endl;
cin.ignore();
cin.get();
return 0;
}
Почему, не работает 3 условие в цикле вайл indicator == 'yes'
И почему обязательно нужно присваивать char indicator = 'y' или char indicator = 'Y', но char indicator = 'yes' не работает; Тоесть обязательно присваивать переменной индикатор именно один из символов, которые я использую в условии цикла вайл? Если не присвоить, работать не будет. И почему не работает 3 условие. Зараннее благодарю
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.07.2009, 20:07
Ответы с готовыми решениями:

Мелочи...
Всем привет. Можете пжл рассказать зачем, для чего и что делают: 1. resourcestring Пример:...

мелочи
Ребят,что кто знает(( 1)Дано трехзначное число.Используя одну операцию деления нацело,вывести...

Распродам всякие мелочи
http://keep4u.ru/imgs/s/081026/37/37df57d2937f1bf033.jpg 500р ...

Нужна помощь в мелочи
Как написать степенное выражение. Такую нелепость забыла, например число е в степени х?:)

8
158 / 157 / 47
Регистрация: 29.04.2009
Сообщений: 637
23.07.2009, 20:09 2
'yes'-считает как один символ.Нужно "yes".
0
576 / 570 / 65
Регистрация: 29.01.2009
Сообщений: 1,274
23.07.2009, 20:14 3
Цитата Сообщение от Golovastik Посмотреть сообщение
char indicator = 'yes' не работает
Когда дойдешь до изучения символьных массивов и С-строк, истина откроется тебе.
0
11 / 11 / 2
Регистрация: 25.05.2009
Сообщений: 435
23.07.2009, 20:16  [ТС] 4
Если написать так,тоже те же проблеммы остаются.
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
#include <iostream>
using namespace std;
 
int main()
{
setlocale(0,"");
int i = 0; 
double s = 0.0, vvod;
string indicator;
while((indicator == "y") || (indicator == "Y") || (indicator == "yes"))
{
    cout<<endl<<"Введите пожалуйста Хатабыч -> ";
    cin>>vvod;
    ++i;
    s +=vvod;
    cout<<endl<<"Продолжить ещё разок?"   <<endl;
        
    cin>>indicator;
}
cout<<"Средднее из "<<i<<" введённых значений = "<<s/i<<endl;
cin.ignore();
cin.get();
return 0;
}
0
158 / 157 / 47
Регистрация: 29.04.2009
Сообщений: 637
23.07.2009, 20:21 5
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
// Test.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <conio.h>
#include <iomanip>
#include <iostream>
#include <math.h>
#include<memory> // std auto_ptr
#include<limits>//numeric_limits
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(0,"");
    int i = 0; 
    double s = 0.0, vvod;
    char *indicator=":)";
    while((indicator == "y") || (indicator == "Y") || (indicator == "yes"))
    {
        cout<<endl<<"Введите пожалуйста Хатабыч -> ";
        cin>>vvod;
        ++i;
        s +=vvod;
        cout<<endl<<"Продолжить ещё разок?"     <<endl;
 
        cin>>indicator;
    }
    cout<<"Средднее из "<<i<<" введённых значений = "<<s/i<<endl;
    cin.ignore();
    cin.get();
    return 0;
}
Так ?
P.s Лучше и проше оформить через
C++
1
2
3
do
{
}while
1
Maniac
Эксперт С++
1445 / 947 / 158
Регистрация: 02.01.2009
Сообщений: 2,813
Записей в блоге: 1
23.07.2009, 20:45 6
C++
1
indicator == "yes"
Так нельзя сравнивать( так как indicator - char* ).
Вместо
C++
1
char *indicator="y";
пиши
C++
1
std::string indicator = "y";
PS. подключи #include <string>;

Цитата Сообщение от Sekt
P.s Лучше и проше оформить через
C++
1
2
3
do
{
}while
1
11 / 11 / 2
Регистрация: 25.05.2009
Сообщений: 435
23.07.2009, 22:34  [ТС] 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
24
25
26
27
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
setlocale(0,"");
int i = 0; 
double s = 0.0, vvod;
 
string indicator;
do
{
    cout<<endl<<"Введите пожалуйста Ахмед -> ";
    cin>>vvod;
    ++i;
    s +=vvod;
    cout<<endl<<"Продолжить ещё разок?"   <<endl;
        
    cin>>indicator;
}while((indicator == "y") || (indicator == "Y") || (indicator == "yes"));
 
cout<<"Средднее из "<<i<<" введённых значений = "<<s/i<<endl;
cin.ignore();
cin.get();
return 0;
}
0
158 / 157 / 47
Регистрация: 29.04.2009
Сообщений: 637
24.07.2009, 18:26 8
Да все верно.
C++
1
cout<<endl<<"Продолжить ещё разок?" "Если да введите y,Y или yes"<<endl; // любой другой символ обрубает ввод и выводит среднее из введенных
Комменти а то никто не поймет.
0
229 / 67 / 11
Регистрация: 02.06.2009
Сообщений: 280
24.07.2009, 18:42 9
Цитата Сообщение от Golovastik Посмотреть сообщение
Прошу прощения, попробывал так. Это правильно или нет?
Ты знаеш что такое дебугер?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.07.2009, 18:42

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Программа подсчета мелочи
Всем привет, возникла такая проблема. Написал программу для подсчета мелочи, что у меня накопилась,...

Полезные мелочи к iPhone
В последнее время понял, что мне требуется некоторая переферия к моему агрегату (iPhone5с) - такая...

include и некоторые мелочи
Вот код моей первой программы на C++: #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace...

Подскажите, в тесте некоторые мелочи
Укажите формат описания массива: а)тип_элемента имя ...


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

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

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