Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
dastreba
1 / 1 / 3
Регистрация: 18.10.2017
Сообщений: 158
1

Исправить ошибку в коде

17.05.2018, 18:26. Просмотров 216. Ответов 5
Метки нет (Все метки)

Учу после паскаля ток месяц и ошибка может быть элементарной для вас,но не для меня(

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
    system("chcp 1251");
    int n;
    scanf("%d",&n);
    case n of      / вот тут ошибку выдает
1:printf("I")
2:printf("II");
3: printf("III");
4: printf("IV");
5: printf("V");
6: printf("VI");
7: printf("VII");
8: printf("VIII");
9: printf("IX");
10: printf("X");
}
    return 0;
}
Заранее спасибо)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2018, 18:26
Ответы с готовыми решениями:

Исправить ошибку в коде
Помогите исправить ошибку в коде программы. #include <iostream.h> #include <string.h> #include...

Исправить ошибку в коде
1 код main() { int n; int z; int i, j; ... */ ввод z */ if z>z for(i=0; i>n;...

Исправить ошибку в коде
задача Удалить спортсмена из наименьшим количеством очков. КОД: #define...

Исправить ошибку в коде
#include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <string.h> struct...

Исправить ошибку в коде
int main() { char c; c=getchar(); if(c>='A' && c<'z')printf("ZNAK\n"); else...

5
Pavel_Srgv
Заблокирован
17.05.2018, 18:33 2
Это же С, а не Шарп. Почему тема в разделе шарпа и в заголовке про шарп? Это два, блин, разных языка.
case должен быть со switch'ем.
0
dastreba
1 / 1 / 3
Регистрация: 18.10.2017
Сообщений: 158
17.05.2018, 19:16  [ТС] 3
Извиняюсь,одногрупники называют это:"си шарп",я и привык как-то.

Добавлено через 29 минут
Упростил задание,ток теперь другая проблемма -
При вводе любого числа от 1-10 выбивает все вместе в 1 строчку.Вот так-
Код
result:Iresult:IIresult:IIIresult:IVresult:Vresult:VIresult:VIIresult:VIIIresult:IXresult:X
Пытался вписать 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
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
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    int n;
     printf("Write here:");
    scanf("%d",&n);
    if(n=1)
        {
    printf("result:I");
}
 
 
if (n=2) {
   printf("result:II");
}
 
if (n=3) {
    printf("result:III");
}
 
 
if(n=4)  {
    printf("result:IV");
}
 
 
if(n=5)  {
    printf("result:V");
}
 
 
if(n=6)  {
    printf("result:VI");
}
 
 
if(n=7)  {
    printf("result:VII");
}
 
 
if(n=8)  {
    printf("result:VIII");
}
 
 
if(n=9)  {
    printf("result:IX");
}
 
 
if(n=10) {
    printf("result:X");
}
 
    return 0;
}
Добавлено через 6 минут
А если вписываю else if,то при любом числе выдает лишь result:I
0
COKPOWEHEU
1251 / 897 / 209
Регистрация: 09.09.2017
Сообщений: 3,814
17.05.2018, 20:28 4
знак '=' это присвоение, как ':=' в паскале.
Сравнение в Си это '=='
1
stake-k26
618 / 432 / 332
Регистрация: 25.04.2016
Сообщений: 1,218
17.05.2018, 21:13 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
45
46
47
48
49
50
51
#include <stdio.h>
#include <locale.h>
 
int main (void)
{
    //system("chcp 1251");
    setlocale(LC_ALL, "Rus");
    int n;
 
    printf("n = ");
    scanf("%d", &n);
 
    switch (n)
    {
        case 1:
            printf("I");
            break;
        case 2:
            printf("II");
            break;
        case 3:
            printf("III");
            break;
        case 4:
            printf("IV");
            break;
        case 5:
            printf("V");
            break;
        case 6:
            printf("VI");
            break;
        case 7:
            printf("VII");
            break;
        case 8:
            printf("VIII");
            break;
        case 9:
            printf("IX");
            break;
        case 10:
            printf("X");
            break;
        default:
            printf("Wrong number!");
    }
 
    printf("\n");
    return 0;
}
Все, что стоит запомнить:
1. блок default: не обязателен, рабаотет как case для всех неучтенных случаев.
2. каждый case, кроме последнего, должен заканчиваться ключевым словом break;

Если забыть break; то последовательность действий будет выполняться до тех пор, пока не встретится break; или закрывающая фигурная скобка }
Собственно поэтому последний break и не нужен - он все равно закрыт фигурной скобкой.

Добавлено через 9 минут
через if - else if - 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
30
31
32
33
34
35
36
37
#include <stdio.h>
#include <locale.h>
 
int main (void)
{
    //system("chcp 1251");
    setlocale(LC_ALL, "Rus");
    int n;
    printf("Write here: ");
    scanf("%d",&n);
 
    if (n == 1)
        printf("result: I");
    else if (n == 2)
        printf("result: II");
    else if (n == 3)
        printf("result: III"); 
    else if (n == 4)
        printf("result: IV");
    else if (n == 5)
        printf("result: V");
    else if (n == 6)
        printf("result: VI");
    else if (n == 7)
        printf("result: VII");
    else if (n == 8)
        printf("result: VIII");
    else if (n == 9)
        printf("result: IX");
    else if (n == 10)
        printf("result: X");
    else
        printf("wrong number!");
    printf("\n");
 
    return 0;
}
если в блоке if или в цикле выполняется только одно действие, то фигурные скобки не нужны. При этом блок if или другой цикл рассматриваются как одно действие, т.е.:

if (a < 10) if (a < 20) for (i=0; i<10; i++) printf("%d\n", i);

это абсолютно нормальная форма записи, хотя, конечно, громоздить такую кучу всего в 1 строку не стоит - читать трудно.
1
dastreba
1 / 1 / 3
Регистрация: 18.10.2017
Сообщений: 158
18.05.2018, 17:49  [ТС] 6
Блин,спасибо.
Я делал как вы показывали в 1 примере,ток break не вписал,а еще думал чего это не работает.
0
18.05.2018, 17:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2018, 17:49

Исправить ошибку в коде
#include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; #include &lt;stdlib.h&gt;...

Исправить ошибку в коде
написала программу а она выдает ошибку которая повторяется раз пять не знаю как исправить не...

Исправить ошибку в коде
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; typedef struct...


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

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

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