Циклы

Циклы

Ребят у меня такая вот проблемма: хочу сделать чтобы по завершению программы,когда выводится сообщение « Продолжить работу программы(yes/no)? »,
при выборе (yes) программа запускалась с начала.Как мне это сделать?
Я вот использую do while,программа закрывается,а как дальше сделать не пойму

do {
    cout << "Продолжить программу(yes/no)? ";   
} while(cin >> quit && quit == 'y');

Если я правильно понял:

char quit;

do
{
    //Здесь код программы


    cout << "Выполнить программу ещё раз?" << endl;
}while ( cin >> quit && quit == 'y');

у меня и написано,а я хочу сделать что то типа джампа в начало программы при вводе (yes),и выхода из программы при вводе (no).

#include <iostream>
#include <string>
#include <vector>
#include <iterator>
#include <algorithm>

bool quest_continue( const std::string & quest )
{
    std::string result ;
    std::cout << quest ;
    std::cin >> result ;
    return result == "yes" ;
}

int main()
{
    std::vector < int > vec ;
    do
    {
        vec.push_back( vec.size() ) ;
        std::cout << vec.back() << " added" << std::endl ;
    } while ( quest_continue ( "Continue? (yes/any) ->" ) ) ;
    std::copy ( vec.begin() , vec.end() , std::ostream_iterator<int>(std::cout," ") ) ;
}

у меня и написано,а я хочу сделать что то типа джампа в начало программы при вводе (yes),и выхода из программы при вводе (no).

То есть выше цикла do-while ?

да.

так в чем проблема? Там, куда нужно вернуться — do, там, откуда нужно вернуться while(условие)

Как-то так?

#include <string>
#include <iostream>


int main()
{
    setlocale(LC_ALL,"Rus");
    bool done;

    do
    {
        // код
        std::string code;
        std::cout << "Продолжить (yes/no)?";
        getline(std::cin, code);
        done = (code != "yes");
    }while(!done);
}
# include<iostream>
using namespace std;
void main()
{
    setlocale(LC_CTYPE, "Russian");
    int a, sum, cnt;
    sum = cnt = 0;
    for (; ; )
    {
            cout << "Введите число";
            cin >> a;
            if (a %10 != 0)break;
            sum += a%10;
            a++;
            cout << a % 10;
            a/= 10;
            ++cnt;
    }
    cout << "Сумма цыфр в числе" << sum << endl;
    cout << "Колличество цыфр в числе" << cnt << endl;
    cin.get();
}

Помогите найти ошибку.Сумму и колличество чисел не считает.

#include <iostream>

using namespace std;

int main()
{
    setlocale(LC_CTYPE, "Russian");
    int a, sum, cnt, digit;
    sum = cnt = 0;

    cout << "Введите число ";
    cin >> a;

    while (a != 0) {
        digit = a % 10;
        cout << digit << " ";
        sum += digit;
        a /= 10;
        ++cnt;
    }
    cout << "\nСумма цифр в числе " << sum << endl;
    cout << "Количество цифр в числе " << cnt << endl;
    cin.get();

    return 0;
}

Что у тебя по русскому? Три очка, «что бы на второй год не оставлять»?

Привет! Спасибо за ответ!Но как эту программу написать с помощью For.

Месье знает толк в извращениях!

    for ( ; a != 0; a /= 10) {
        digit = a % 10;
        cout << digit << " ";
        sum += digit;
        ++cnt;
    }
#include<iostream>
using namespace std;
void main()
{
    setlocale(LC_CTYPE, "Russian");

    for (int i = 2; i < 100; i++)
    {
        for (int j = 2; j <=i; j++)
        {
            cout<<i/j<<"\t";

        }
cout<<"\n\n";

    }
cin.get();

Не выводятся простые числа из диапазон

Не выводятся простые числа из диапазон

Щито? Вам нужны простые числа в диапазоне? Тогда вы неправильно вычисляете эти самые простые числа. Вот так будет работать:

#include <iostream>
#include <cmath>

using namespace std;

bool isPrime( int );

int main()
{
    setlocale( 0, "" );
    cout << "Простые числа в диапазоне [ 0; 100 ]:" << endl;
    for ( int i = 0; i <= 100; i++ )
        if ( isPrime( i ) )
           cout << i << endl;
    return 0;
}

bool isPrime ( int n )
{
    for ( register int i = 2; i <= sqrt( n ); i++ )
        if ( !(n % i) )
           return false;
    return true;
}

P.S.: IE? :)

# include<iostream>
using namespace std;
void main()
{
    setlocale(LC_CTYPE, "Russian");
    int str;
    int star_count;
    int length = 4;
    for (str = 1; str <= 4; str++)
    {
        cout << str;


        for (star_count = 1; star_count <= 4; star_count++);
        {
            cout << "*";

        }

            cout << "\n";
        }

    cin.get();
}

Помогите! Программа не выдает введенное количество символов

Привет всем! Дело вот в чем...я слегка застрял на циклах. Хотя я их и понял и могу применять в прогах, но вот задачи типа возведения числа в степень через while и for никак не даются...можете прям на пальцах объяснить, какой код, какая переменная, куда, с каким значением и почему именно так? Спасибо!

#include<iostream>
using namespace std;
void main()
{
    setlocale(LC_CTYPE, "Russian");
    cout << "Быть или не быть!";
    cout << endl;
    cin.get();
}

Подскажите как изменить цвет и шрифт текста.

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.