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

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

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

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

01.12.2009, 14:00. Просмотров 619. Ответов 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
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2009, 14:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка в коде (C++):

Ошибка в коде (Ошибка сегментирования (core dumped) - C++
Добрый день. Подскажите пожалуйста, где ошибка в коде? char ch; string s; while ((ch = cin.get()) != '0' ) ...

В чём ошибка.В коде там где коментарий там ошибка поучается. - C++
#include &lt;iostream&gt; #include &lt;Windows.h&gt; using namespace std; class CMyString{ char *pStr; public: ...

Ошибка в коде - C++
#include &lt;iostream.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; int func(int **a,int k, int p) { double kol=1; for(int i=0;...

Ошибка в коде - C++
Написать функцию, проверяющую есть ли отрицательные элементы в указанной строке двумерного массива. Удалить из массива все строки с...

Ошибка в коде - C++
Почему программа не открывает указанный файл? Кто знает, помогите! #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; ...

Ошибка в коде! - C++
Пишу в данное время на c++, только начал изучать его основы. Для поднятия своего уровня решил написать крестики нолики, но уже в самом...

13
accept
4823 / 3244 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
01.12.2009, 14:07 #2
фигурные скобки поставь для if
0
M128K145
Эксперт С++
8293 / 3513 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
01.12.2009, 14:08 #3
Цитата Сообщение от accept Посмотреть сообщение
фигурные скобки поставь для if
и для else
0
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;
}
0
accept
4823 / 3244 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
01.12.2009, 14:25 #5
ещё main нужно явно сделать int'овым
0
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;
?
0
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;
}
0
Abaddon
0 / 0 / 0
Регистрация: 27.11.2009
Сообщений: 11
01.12.2009, 15:01  [ТС] #8
кхм, я изначально забыл указать что вариантов для вывода должно быть по 10 для правильно и не правильно ответа...
0
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 понятно что делает, но непонятен смысл такой махинации.
0
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)
и т.д.
0
Abaddon
0 / 0 / 0
Регистрация: 27.11.2009
Сообщений: 11
01.12.2009, 15:58  [ТС] #11
zysyl, эти переменные отвечают за правильные и не правильные ответы (точнее за их количество, в конце будет выдаваться результат).

Darky, и просто без элс выводить слово?
просто я подумал что тут нужен While, но я толком не умею им пользоваться и даже не представляю как это будет выглядеть.
0
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;
}
для элс аналогично

всем огромное спасибо!
0
M128K145
Эксперт С++
8293 / 3513 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
01.12.2009, 19:31 #13
Цитата Сообщение от Darky Посмотреть сообщение
И для каждого условия отдельно делаете
if (x==1)
if (x==2)
и т.д.
Darky, не ожидал от тебя такого совета. Посмотри на реализацию твоего варианта в 12 посте. Там надо обходиться с помощью кейсов
0
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";
        }
}
}
}
Подобным образом
0
01.12.2009, 19:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2009, 19:41
Привет! Вот еще темы с ответами:

В коде ошибка - C++
В чем проблема?? #include&lt;iostream.h&gt; #include&lt;math.h&gt; int main() { int x=0.85,e=0.001; double k,uk,s; cout&lt;&lt;&quot;Вычисление...

Ошибка в коде - C++
Создать иерархию классов транспорт – воздушный транспорт – вертолет. Определить конструктор копирования, оператор присваивания через...

Ошибка в коде - C++
Друзья, помогите. Почему программа не открывает указанный файл? Вчём может быть ошибка? #include &quot;stdafx.h&quot; #include &lt;iostream&gt; ...

Ошибка в коде - C++
#include &lt;cmath&gt; #include &lt;iostream&gt; using namespace std; class Player { public: int x; int y; } pl;


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

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