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

Возврат к предыдущему состоянию - C++

Восстановить пароль Регистрация
 
KostyaKulakov
Заблокирован
16.07.2012, 19:39     Возврат к предыдущему состоянию #1
нужно сделать так чтобы после удачного завершение программы она спрашивала хотите ли повторить. было 2 варианта. либо да либо нет. он должен был ввести его
если он написал 1. то программа автоматом начиналась с начала.
если 2 то программа закрывалась.
вот пример
C++
1
2
3
4
5
cout << "Хотите попробывать ещё???\n"
     << "1. Да\n"
     << "2. Нет\n ";
cin >> otvet;
if (otvet == '1')
.
мне нужно его вставить сюда.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main()
{
    setlocale(LC_ALL, "Russian");
    string res; //возращение ответа
    string f; //возращение ответа
    cout << "Введите ваше имя: ";
    cin >> res;
    cout << "Введите вашy Фамилию: ";
    cin >> f;
 
    cout << "Ваше имя и фамилия: ";
    cout << res << " " << f << endl;
    system("PAUSE");
 }
вот в чём ошибка
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2012, 19:39     Возврат к предыдущему состоянию
Посмотрите здесь:

Возврат почему же?! C++
Возврат значения С++ C++
C++ Возврат коретки
C++ Возвращение к предыдущему элементу
возврат C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Fooly
 Аватар для Fooly
21 / 17 / 1
Регистрация: 26.03.2012
Сообщений: 147
16.07.2012, 19:49     Возврат к предыдущему состоянию #2
Через while можно сделать так
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(LC_ALL, "Russian");
    string res; //возращение ответа
    string f; //возращение ответа
    int otvet=1;
    while (otvet==1)
    {
    cout << "Введите ваше имя: ";
    cin >> res;
    cout << "Введите вашy Фамилию: ";
    cin >> f;
 
    cout << "Ваше имя и фамилия: ";
    cout << res << " " << f << endl;
    cout << "Хотите попробывать ещё???\n"
     << "1. Да\n"
     << "2. Нет\n ";
    cin>>otvet;}
    for(int i=0; i<100;i++)//этот кусок нужен, чтобы консоль не закрывалась при нажатии Enter, можно удалить и как-то решить проблему закрытия по другому =)
        cin.get();
    return 0;
 }
Leomana
58 / 58 / 5
Регистрация: 29.06.2012
Сообщений: 188
16.07.2012, 19:50     Возврат к предыдущему состоянию #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int main()
{
    setlocale(LC_ALL, "Russian");
    while (true){
        string res; //возращение ответа
     string f; //возращение ответа
     cout << "Введите ваше имя: ";
     cin >> res;
     cout << "Введите вашy Фамилию: ";
     cin >> f;
 
     cout << "Ваше имя и фамилия: ";
     cout << res << " " << f << endl;
     system("PAUSE");
    cout << "Хотите попробывать ещё???\n"
         << "1. Да\n"
      << "2. Нет\n ";
    cin >> otvet;
    if (otvet == '2')
        break;
   }
 }
softmob
1248 / 698 / 155
Регистрация: 20.02.2010
Сообщений: 1,035
16.07.2012, 20:09     Возврат к предыдущему состоянию #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
25
26
27
#include <iostream>
#include <string>
#include <locale>
using namespace std;
 
void func()
{
    string res, f;
    cout << "Введите ваше имя: ";
    cin >> res;
    cout << "Введите вашy Фамилию: ";
    cin >> f;
    cout << "Ваше имя и фамилия: ";
    cout << res << " " << f << endl;
    cout << "Запустить еще раз?(1/0): ";
    int c;
    cin >> c;
    if (c)
        func();
}
 
int main(void)
{
    setlocale(LC_ALL, "Russian");
    func();
    return 0;
}
можно и просто main зарекурсить, но вроде как стандартом это не приветсвуется

Добавлено через 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
25
26
27
28
29
#include <iostream>
#include <string>
#include <locale>
using namespace std;
 
void func()
{
    string res, f;
    cout << "Введите ваше имя: ";
    cin >> res;
    cout << "Введите вашy Фамилию: ";
    cin >> f;
    cout << "Ваше имя и фамилия: ";
    cout << res << " " << f << endl;
}
 
int main(void)
{
    setlocale(LC_ALL, "Russian");
    int c;
    do 
    {
        func();
        cout << "Запустить еще раз?(1/0): ";    
        cin >> c;
    }
    while (c);
    return 0;
}
KostyaKulakov
Заблокирован
16.07.2012, 20:10  [ТС]     Возврат к предыдущему состоянию #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
35
36
37
38
39
40
41
42
43
44
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    while (true){
    float a, b;
    int otvet;
    char op; //оператор
    float res; //возращение ответа
    cout << "Введите пример: ";
    cin >> a >> op >> b;
 
    switch(op)
    {
    case '+':
        res = a+b;
        break;
    case '-':
        res = a-b;
    case '*':
        res = a*b;
        break;
    case '/':
        res = a/b;
        break;
    default: 
        cout << "Ой. Что-то пошло не так. произошла ошибочка :)" << endl;
        system("PAUSE");
        return 0;
    }
 
    cout << "Ответ выражения = ";
    cout << res << endl << endl << endl;
   
    cout << "Хотите попробывать ещё???\n"
         << "1. Да\n"
      << "2. Нет\n ";
    cin >> otvet;
    if (otvet == '2')
        break;
   }
 }
Yandex
Объявления
16.07.2012, 20:10     Возврат к предыдущему состоянию
Ответ Создать тему
Опции темы

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