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

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

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

Ошибка в коде - C++

01.12.2009, 14:00. Просмотров 599. Ответов 13
Метки нет (Все метки)

подскажите где ошибка:
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 <stdio.h>
#include <stdlib.h>
#include <iostream.h>
#include <time.h>
 
main()
 
{
    srand (unsigned (time(0)));
    int a, b, c, d, e, f;
    d=0;
    e=0;
    f=0;
    a=rand()%12+2;
       b=rand()%12+2;
       cout<<a<<"x"<<b<<endl;
       d=a*b;
       cout<<"vvedite otvet:"<<endl;
       cin>>c;
       if(c==d)
            e++;
            cout<<"o_OMG!!!"<<endl;
       else 
           f++;
           cout<<"idi v 6koly!"<<" "<<f<<endl;
 
 
return 0;
}
выдает ошибку: illegal else without matching if
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2009, 14:00     Ошибка в коде
Посмотрите здесь:

C++ ошибка в коде
Ошибка в коде! C++
C++ Ошибка в коде
Ошибка в коде C++
ошибка в коде C++
C++ Ошибка в коде
C++ Ошибка в коде
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4817 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
01.12.2009, 14:07     Ошибка в коде #2
фигурные скобки поставь для if
M128K145
Эксперт C++
8280 / 3499 / 143
Регистрация: 03.07.2009
Сообщений: 10,707
01.12.2009, 14:08     Ошибка в коде #3
Цитата Сообщение от accept Посмотреть сообщение
фигурные скобки поставь для if
и для else
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
01.12.2009, 14:10     Ошибка в коде #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
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
#include <time.h>
main(void)
{
 srand (unsigned (time(0)));
  int a=0, b=0, c=0, d=0, e=0, f=0;
  a=rand()%12+2;
  b=rand()%12+2;
    cout<<a<<"x"<<b<<endl;
        d=a*b;
        cout<<"vvedite otvet:"<<endl;
        cin>>c;
           if(c==d)
           {
             e++;
             cout<<"o_OMG!!!"<<endl;
           }
           else
           {
              f++;
              cout<<"idi v 6koly!"<<" "<<f<<endl;
           }
return 0;
}
accept
4817 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
01.12.2009, 14:25     Ошибка в коде #5
ещё main нужно явно сделать int'овым
Abaddon
0 / 0 / 0
Регистрация: 27.11.2009
Сообщений: 11
01.12.2009, 14:29  [ТС]     Ошибка в коде #6
а еще не подскажете, как сделать несколько вариантов для вывода
(и что бы вариант вывода выбирался рандомно) в
C++
1
cout<<"o_OMG!!!"<<endl;
и
C++
1
 cout<<"idi v 6koly!"<<" "<<f<<endl;
?
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
01.12.2009, 14:48     Ошибка в коде #7
Единственное что на ум приходит:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdlib.h>
#include <iostream.h>
#include <time.h>
main(int)
{
srand (unsigned (time(0)));
int k;
k=rand()%2;
if(k==0)
cout<<"o_OMG!!!"<<endl;
else
cout<<"idi v 6koly!"<<endl;
}
Abaddon
0 / 0 / 0
Регистрация: 27.11.2009
Сообщений: 11
01.12.2009, 15:01  [ТС]     Ошибка в коде #8
кхм, я изначально забыл указать что вариантов для вывода должно быть по 10 для правильно и не правильно ответа...
zysyl
1 / 1 / 0
Регистрация: 17.11.2009
Сообщений: 10
01.12.2009, 15:42     Ошибка в коде #9
Цитата Сообщение от Darky Посмотреть сообщение
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
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
#include <time.h>
main(void)
{
 srand (unsigned (time(0)));
  int a=0, b=0, c=0, d=0, e=0, f=0;
  a=rand()%12+2;
  b=rand()%12+2;
    cout<<a<<"x"<<b<<endl;
        d=a*b;
        cout<<"vvedite otvet:"<<endl;
        cin>>c;
           if(c==d)
           {
             e++;
             cout<<"o_OMG!!!"<<endl;
           }
           else
           {
              f++;
              cout<<"idi v 6koly!"<<" "<<f<<endl;
           }
return 0;
}
Объясните плизир мне смысл строк 17 и 22 именно в этой программе. Смысл самых выражений я понимаю, но что они делают в этом коде нет. Хотя нет f понятно что делает, но непонятен смысл такой махинации.
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
01.12.2009, 15:52     Ошибка в коде #10
zysyl, Прибавляют переменную e и f соотвесттвенно на 1.
Я незнаю, зачем автор это сделал в своем коде - тело я оставил то, что было

Добавлено через 4 минуты
Abaddon, Дык делайте по 10 "для правильного и неправильного".
Заводите две переменные, присваиваете им значения x=rand()%9
И для каждого условия отдельно делаете
if (x==1)
if (x==2)
и т.д.
Abaddon
0 / 0 / 0
Регистрация: 27.11.2009
Сообщений: 11
01.12.2009, 15:58  [ТС]     Ошибка в коде #11
zysyl, эти переменные отвечают за правильные и не правильные ответы (точнее за их количество, в конце будет выдаваться результат).

Darky, и просто без элс выводить слово?
просто я подумал что тут нужен While, но я толком не умею им пользоваться и даже не представляю как это будет выглядеть.
Abaddon
0 / 0 / 0
Регистрация: 27.11.2009
Сообщений: 11
01.12.2009, 16:27  [ТС]     Ошибка в коде #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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
#include <time.h>
 
int main()
 
{
    srand (unsigned (time(0)));
    int a, b, c, d, e, g, f, n;
    d=0;
    e=0;
    f=0;
for (g=0; g<5; g++)
{ 
    a=rand()%12+2;
    b=rand()%12+2;
    cout<<a<<"x"<<b<<endl;
    d=a*b;
    cout<<"vvedite otvet:"<<endl;
    cin>>c;
    if(c==d)
        {e++;
            n=rand()%10+1;
            if (n==1)
            {cout<<"aga"<<endl;}
                        if (n==2)
                        {
                            cout<<"to4no"<<endl;
                        }
                                    if (n==3)
                                    {
                                        cout<<"molod4ik"<<endl;
                                    }
                                                if (n==4)
                                                {
                                                    cout<<"krasavec"<<endl;
                                                }
                                                            if (n==5)
                                                            {
                                                                cout<<"jjo6'"<<endl;
                                                            }
                                                                        if (n==6)
                                                                        {
                                                                            cout<<"genii"<<endl;
                                                                        }
                                                                                    if (n==7)
                                                                                    {
                                                                                        cout<<"matematik"<<endl;
                                                                                    }
                                                                                    if (n==8)
                                                                                    {
                                                                                        cout<<"gj"<<endl;
                                                                                    }
                                                                                        if (n==9)                                                                                   if (n==7)
                                                                                    {
                                                                                        cout<<"aftar jjot"<<endl;
                                                                                    }
                                                                                            if (n==10)                                                                                  if (n==7)
                                                                                    {
                                                                                        cout<<"da, detka, da!"<<endl;
                                                                                    }
        }
        
       else 
       {f++;
       cout<<"idi v 6koly!"<<endl;}
    }   
    cout<<"+"<<" "<<f<<endl;
        cout<<"-"<<" "<<e<<endl;
    return 0;
}
для элс аналогично

всем огромное спасибо!
M128K145
Эксперт C++
8280 / 3499 / 143
Регистрация: 03.07.2009
Сообщений: 10,707
01.12.2009, 19:31     Ошибка в коде #13
Цитата Сообщение от Darky Посмотреть сообщение
И для каждого условия отдельно делаете
if (x==1)
if (x==2)
и т.д.
Darky, не ожидал от тебя такого совета. Посмотри на реализацию твоего варианта в 12 посте. Там надо обходиться с помощью кейсов
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2009, 19:41     Ошибка в коде
Еще ссылки по теме:

C++ Ошибка в коде
Ошибка в коде с++ C++
C++ Ошибка в коде
C++ Ошибка в коде
Ошибка в коде C++

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

Или воспользуйтесь поиском по форуму:
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
01.12.2009, 19:41     Ошибка в коде #14
M128K145, сделал это с поправкой на то, что автор, спрашивая такие вещи, врядли проходил переключатели.

Добавлено через 7 минут
Вопрос автору - зачем так вправо двигать весь код?
Ну сделайте через switch.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
        n=rand()%10+1;
        switch(n)
        {
        case 1:cout<<"aga"<<endl;break;
        case 2:cout<<"to4no"<<endl;break;
        case 3:cout<<"molod4ik"<<endl;break;
        case
        <........>
        default: cout<<"123";
        }
}
}
}
Подобным образом
Yandex
Объявления
01.12.2009, 19:41     Ошибка в коде
Ответ Создать тему
Опции темы

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