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

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

Войти
Регистрация
Восстановить пароль
 
Golovastik
11 / 11 / 0
Регистрация: 25.05.2009
Сообщений: 435
#1

Вопрос по мелочи - C++

23.07.2009, 20:07. Просмотров 492. Ответов 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 условие. Зараннее благодарю
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.07.2009, 20:07     Вопрос по мелочи
Посмотрите здесь:

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

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

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

Вопрос - C++
Такая задача возникла... Есть класс например: class tempClass { public: const int size; tempClass(){size=100;} };

Вопрос - C++
стоит ли учить язык програмирования С++? говорят язык отличный. И чем он хуже Делфи,Паскаля,Асемблер,ЛУА(ЛОА непомню правильности) , ПХП,...

Вопрос - C++
Никто не знает как можно вот эту программу переделать в язык паскаль #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;malloc.h&gt; void...

Вопрос по if, else? - C++
Как сделать так чтобы программа работала по таком принципу: 1. Проверяется первое условие если оно верно - выводится оператор за ним. ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
23.07.2009, 20:09     Вопрос по мелочи #2
'yes'-считает как один символ.Нужно "yes".
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
23.07.2009, 20:14     Вопрос по мелочи #3
Цитата Сообщение от Golovastik Посмотреть сообщение
char indicator = 'yes' не работает
Когда дойдешь до изучения символьных массивов и С-строк, истина откроется тебе.
Golovastik
11 / 11 / 0
Регистрация: 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;
}
Sekt
156 / 155 / 10
Регистрация: 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
ISergey
Maniac
Эксперт С++
1372 / 883 / 52
Регистрация: 02.01.2009
Сообщений: 2,652
Записей в блоге: 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
Golovastik
11 / 11 / 0
Регистрация: 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;
}
Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
24.07.2009, 18:26     Вопрос по мелочи #8
Да все верно.
C++
1
cout<<endl<<"Продолжить ещё разок?" "Если да введите y,Y или yes"<<endl; // любой другой символ обрубает ввод и выводит среднее из введенных
Комменти а то никто не поймет.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.07.2009, 18:42     Вопрос по мелочи
Еще ссылки по теме:

вопрос - C++
здрасте всем ,хочу научиться программировать ,подскажите где взять среду с\с++ и с чего вообще начать обучение ,я чайник полный :)

Вопрос - C++
Я знаю что вопрос покажится вам смешным но укажите пожалуйста ошибку я никак не могу найти а помочь некому #include&lt;iostream&gt; int...

вопрос.. - C++
как найти количество точек, координаты которых-целые числа, находящиеся в промежутке, который задан неравеннством...

Вопрос - C++
Приветствую Вас! 1. Необходимо просто описать как это должно работать: Дано: {max (a,b), y= {min(a,b), {|a+b|, если х=0,...

Вопрос - C++
есть командная строка cmd, в ней постоянно приходиться прописывать всякие net sh, собствено вопрос: можли написать программу которая...


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

Или воспользуйтесь поиском по форуму:
Alexandoros
227 / 65 / 4
Регистрация: 02.06.2009
Сообщений: 280
24.07.2009, 18:42     Вопрос по мелочи #9
Цитата Сообщение от Golovastik Посмотреть сообщение
Прошу прощения, попробывал так. Это правильно или нет?
Ты знаеш что такое дебугер?
Yandex
Объявления
24.07.2009, 18:42     Вопрос по мелочи
Ответ Создать тему
Опции темы

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