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

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

Войти
Регистрация
Восстановить пароль
 
Даниил
67 / 40 / 7
Регистрация: 14.05.2013
Сообщений: 383
#1

Исправить код нужно - C++

28.06.2013, 13:39. Просмотров 532. Ответов 12
Метки нет (Все метки)

Программа должна рандомно выдавать фразу или цитату.

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 <cstdlib>
#include <cstring>
using namespace std;
 
 
int main()
{
  bool done;
  do
  {
    char x = rand();
    while (true)
    {
      cout << "Fraza ili citata: " << x << endl;
    string j = "U4itbc9, u4itbc9 u eshe paz u4itbc9!";
      else {
          string y = "Proigratb crazhenie, ne proigratb voiny nax!";
        else
          string n = "Hukogda ne zdavatbc9!";
          break;
        }
      }
    cout << "Prodolzhit? (y/n)? ";
    char c;
    cin >> c;
    done = (c != 'y');
  }while (!done);
  }
Выдаёт две ошибки:

C:\Documents and Settings\Admin\Рабочий стол\Мои работы на С++\Программа которая выдаёт рандомную фразу или цитату\main.cpp|17|ошибка: «else» without a previous «if»|
C:\Documents and Settings\Admin\Рабочий стол\Мои работы на С++\Программа которая выдаёт рандомную фразу или цитату\main.cpp|19|ошибка: «else» without a previous «if»|
||=== Build finished: 2 errors, 0 warnings (0 minutes, 1 seconds) ===|

Помогите исправить
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
28.06.2013, 13:40     Исправить код нужно #2
@Даниил1991, перед "else" поставь "}", т.е "} else", но и после else оставь то, что есть
AndLap
0 / 0 / 0
Регистрация: 29.04.2013
Сообщений: 9
28.06.2013, 13:41     Исправить код нужно #3
@Даниил1991, в пути к программе не должно быть кириллицы.
P.S. Перед else нужен оператор if, после else, если у вас больше одной строки кода то надо использовать фигурные скобки {}, в строке 17 после скобки опять нужен оператор if.
drdrink
39 / 39 / 1
Регистрация: 13.05.2013
Сообщений: 103
28.06.2013, 13:41     Исправить код нужно #4
@Даниил1991, так правильно ты ставишь else но ему не соответствует if, точней их у тебя вообще нет
Даниил
67 / 40 / 7
Регистрация: 14.05.2013
Сообщений: 383
28.06.2013, 13:42  [ТС]     Исправить код нужно #5
Цитата Сообщение от nexen Посмотреть сообщение
@Даниил1991, перед "else" поставь "}", т.е "} else", но и после else оставь то, что есть
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 <cstdlib>
#include <cstring>
using namespace std;
 
 
int main()
{
  bool done;
  do
  {
    char x = rand();
    while (true)
    {
      cout << "Fraza ili citata: " << x << endl;
    string j = "U4itbc9, u4itbc9 u eshe paz u4itbc9!";
      } else {
          string y = "Proigratb crazhenie, ne proigratb voiny nax!";
        else
          string n = "Hukogda ne zdavatbc9!";
          break;
        }
      }
    cout << "Prodolzhit? (y/n)? ";
    char c;
    cin >> c;
    done = (c != 'y');
  }while (!done);
  }
Так?

Теперь выдало ещё больше ошибок:

Код
C:\Documents and Settings\Admin\Рабочий стол\Мои работы на С++\Программа которая выдаёт рандомную фразу или цитату\main.cpp|17|ошибка: «else» without a previous «if»|
C:\Documents and Settings\Admin\Рабочий стол\Мои работы на С++\Программа которая выдаёт рандомную фразу или цитату\main.cpp|19|ошибка: «else» without a previous «if»|
C:\Documents and Settings\Admin\Рабочий стол\Мои работы на С++\Программа которая выдаёт рандомную фразу или цитату\main.cpp|24|ошибка: expected «while» before «cout»|
C:\Documents and Settings\Admin\Рабочий стол\Мои работы на С++\Программа которая выдаёт рандомную фразу или цитату\main.cpp|24|ошибка: expected «(» before «cout»|
C:\Documents and Settings\Admin\Рабочий стол\Мои работы на С++\Программа которая выдаёт рандомную фразу или цитату\main.cpp|24|ошибка: expected «)» before «;» token|
C:\Documents and Settings\Admin\Рабочий стол\Мои работы на С++\Программа которая выдаёт рандомную фразу или цитату\main.cpp|28|ошибка: expected unqualified-id before «while»|
C:\Documents and Settings\Admin\Рабочий стол\Мои работы на С++\Программа которая выдаёт рандомную фразу или цитату\main.cpp|29|ошибка: expected declaration before «}» token|
||=== Build finished: 7 errors, 0 warnings (0 minutes, 1 seconds) ===|
Добавлено через 48 секунд
Кароч исправьте ошибку в коде и выложите целый, правильный код А то я не вникаю)
drdrink
39 / 39 / 1
Регистрация: 13.05.2013
Сообщений: 103
28.06.2013, 13:44     Исправить код нужно #6
@Даниил1991, if поставь!!!
Даниил
67 / 40 / 7
Регистрация: 14.05.2013
Сообщений: 383
28.06.2013, 13:45  [ТС]     Исправить код нужно #7
Цитата Сообщение от drdrink Посмотреть сообщение
@Даниил1991, if поставь!!!
Где?!Ты поставь в коде и кинь целый, правильный код!Говорю же
drdrink
39 / 39 / 1
Регистрация: 13.05.2013
Сообщений: 103
28.06.2013, 13:52     Исправить код нужно #8
@Даниил1991, я бы поставил да я не совсем понимаю, что ты хочешь сделать вообще
оператор if/else работают так
if(логическое выражение)
{
...
}
else
{
...
}

если логическое выражение верно, то заходим по этому условию и делаем всё что в этих скобках, если оно не верно, то автоматически заходим в ветку для else
AndLap
0 / 0 / 0
Регистрация: 29.04.2013
Сообщений: 9
28.06.2013, 13:52     Исправить код нужно #9
@Даниил1991, Я ещё раз повторю - У вас в пути к программе, есть русские буквы, а путь должен содержать только латиницу.
C:\Documents and Settings\Admin\Рабочий стол\Мои работы на С++\Программа которая выдаёт рандомную фразу или цитату\main.cpp|17|ошибка: «else» without a previous «if»|
C:\Documents and Settings\Admin\Рабочий стол\Мои работы на С++\Программа которая выдаёт рандомную фразу или цитату\main.cpp|19|ошибка: «else» without a previous «if»|
C:\Documents and Settings\Admin\Рабочий стол\Мои работы на С++\Программа которая выдаёт рандомную фразу или цитату\main.cpp|24|ошибка: expected «while» before «cout»|
C:\Documents and Settings\Admin\Рабочий стол\Мои работы на С++\Программа которая выдаёт рандомную фразу или цитату\main.cpp|24|ошибка: expected «(» before «cout»|
C:\Documents and Settings\Admin\Рабочий стол\Мои работы на С++\Программа которая выдаёт рандомную фразу или цитату\main.cpp|24|ошибка: expected «)» before «;» token|
C:\Documents and Settings\Admin\Рабочий стол\Мои работы на С++\Программа которая выдаёт рандомную фразу или цитату\main.cpp|28|ошибка: expected unqualified-id before «while»|
C:\Documents and Settings\Admin\Рабочий стол\Мои работы на С++\Программа которая выдаёт рандомную фразу или цитату\main.cpp|29|ошибка: expected declaration before «}» token|
||=== Build finished: 7 errors, 0 warnings (0 minutes, 1 seconds) ===|
Надо хотя бы так: C:\MyPrograms\RandomProgram

Ваша программа c моими исправлениями:
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
#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;
 
 
int main()
{
  bool done;
  do
  {
    char x = rand();
    while (true)
    {
      cout << "Fraza ili citata: " << x << endl;
      if  (string j = "U4itbc9, u4itbc9 u eshe paz u4itbc9!")
      string y = "Proigratb crazhenie, ne proigratb voiny nax!";
      else
      {
          string n = "Hukogda ne zdavatbc9!";
          break;
      }
    }
    cout << "Prodolzhit? (y/n)? ";
    char c;
    cin >> c;
    done = (c != 'y');
  }while (!done);
 
return 0;
  }
Даниил
67 / 40 / 7
Регистрация: 14.05.2013
Сообщений: 383
28.06.2013, 13:58  [ТС]     Исправить код нужно #10
Цитата Сообщение от AndLap Посмотреть сообщение
@Даниил1991, Я ещё раз повторю - У вас в пути к программе, есть русские буквы, а путь должен содержать только латиницу.


Надо хотя бы так: C:\MyPrograms\RandomProgram

Ваша программа c моими исправлениями:
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
#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;
 
 
int main()
{
  bool done;
  do
  {
    char x = rand();
    while (true)
    {
      cout << "Fraza ili citata: " << x << endl;
      if  (string j = "U4itbc9, u4itbc9 u eshe paz u4itbc9!")
      string y = "Proigratb crazhenie, ne proigratb voiny nax!";
      else
      {
          string n = "Hukogda ne zdavatbc9!";
          break;
      }
    }
    cout << "Prodolzhit? (y/n)? ";
    char c;
    cin >> c;
    done = (c != 'y');
  }while (!done);
 
return 0;
  }
У меня никогда из-за русских букв в пути к проге не было проблем
nxtech
28.06.2013, 14:00
  #11

Не по теме:

Ну ты темы близницы плодить горазд

Schizorb
 Аватар для Schizorb
508 / 460 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
28.06.2013, 14:01     Исправить код нужно #12
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 <cstdlib>
#include <cstring>
#include <ctime>
 
int main()
{
    const int n = 3;
    std::string phrase[n] = 
    {
        "U4itbc9, u4itbc9 u eshe paz u4itbc9!",
        "Proigratb crazhenie, ne proigratb voiny nax!",
        "Hukogda ne zdavatbc9!"
    };
    char c;
    
    srand(static_cast<unsigned int>(time(0)));
    
    do
    {
        int x = rand() % n;
        std::cout << "Fraza ili citata: " << phrase[x];
        std::cout << "\nProdolzhit? (y/n)? ";
        std::cin >> c;
    }
    while (c == 'y');
    
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.06.2013, 14:02     Исправить код нужно
Еще ссылки по теме:

Нужно немного исправить код C++
нужно дополнить - исправить код C++
C++ Исправить код
C++ Исправить код
Исправить код C++

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

Или воспользуйтесь поиском по форуму:
AndLap
0 / 0 / 0
Регистрация: 29.04.2013
Сообщений: 9
28.06.2013, 14:02     Исправить код нужно #13
@Даниил1991, ну тогда прошу прощения просто лучше хранить так.
Yandex
Объявления
28.06.2013, 14:02     Исправить код нужно
Ответ Создать тему
Опции темы

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