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

Подскажите, что делаю не так - C++

Восстановить пароль Регистрация
 
Bloodmoor
0 / 0 / 0
Регистрация: 20.04.2015
Сообщений: 35
22.11.2015, 10:03     Подскажите, что делаю не так #1
Нужно написать прогр позволяющую юзеру с помощью пунктов меню найти сумму, разность и остаток от целочисленного деления двух целых чисел. cpp.sh пишет что ошибки в 3 4 и 5 строчке.
#include <stdio.h>
int main (void) {
int a, b
double ch, s
for ( ; ; )
{
do {
printf ("Введите число а");
scanf ("%d", &a)
printf ("Введите число b");
scanf ("%d", &b)
printf ("1. Сумма 2-х чисел \n");
printf ("2. Разность 2-х чисел \n");
printf ("3. Остаток от целочисленного деления 2-х чисел \n");
printf (" Выберите пункт меню: ");
ch=getchar (); /*Ввод символа с клавы */
}
while (ch !='1' && ch !='2' && ch !='3');
switch (ch) {
case '1':
s=a+b
printf(" Сумма 2-х чисел - %d", &s); break;
case '2':
s=a-b
printf(" Разность 2-х чисел - %d", &s); break;
case '3':
s=a/b
printf(" Остаток от целочисленного деления 2-х чисел - %d", &s); break;
exit (0);
}
}
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kerry_Jr
Модератор
 Аватар для Kerry_Jr
1855 / 1651 / 575
Регистрация: 14.05.2014
Сообщений: 4,728
Записей в блоге: 1
Завершенные тесты: 5
22.11.2015, 10:38     Подскажите, что делаю не так #2
Цитата Сообщение от Bloodmoor Посмотреть сообщение
C++
1
double ch
глупость. getchar() возвращает int. А у вас получается так: запихнули int в double и сравниваете с char. Для компилятора не ошибка, но глаз режет. Там, где деление, еще и проверку знаменателя на ноль. И точки с запятой там, где арифметические операции.

Добавлено через 3 минуты
Цитата Сообщение от Bloodmoor Посмотреть сообщение
Остаток от целочисленного деления 2-х чисел
Это не остаток, а результат целочисленного деления. Остаток находится с помощью операции %.

Добавлено через 3 минуты
Bloodmoor, у Вас почти в каждой второй строчке не хватает точки с запятой.

Добавлено через 5 минут
Bloodmoor,
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
#include <stdio.h> 
int main (void) {
    int a, b, ch, s;
    do { 
        printf ("Введите число а");
        scanf ("%d", &a);
        printf ("Введите число b");
        scanf ("%d", &b);
        printf ("1. Сумма 2-х чисел \n"); 
        printf ("2. Разность 2-х чисел \n"); 
        printf ("3. Остаток от целочисленного деления 2-х чисел \n"); 
        printf (" Выберите пункт меню: "); 
        ch=getchar (); /*Ввод символа с клавы */ 
    } 
    while (ch !='1' && ch !='2' && ch !='3'); 
    switch (ch) { 
        case '1':
            s=a+b;
            printf(" Сумма 2-х чисел - %d", &s);
            break;
        case '2': 
            s=a-b;
            printf(" Разность 2-х чисел - %d", &s);
            break;
        case '3':
            if (b != 0){
                s = a / b;
                printf(" Остаток от целочисленного деления 2-х чисел - %d", &s);
            }
            else
                printf(" На ноль делить нельзя!");
            break;
    } 
}
Bloodmoor
0 / 0 / 0
Регистрация: 20.04.2015
Сообщений: 35
22.11.2015, 12:30  [ТС]     Подскажите, что делаю не так #3
Добавлено через 1 час 16 минут
Программа почему то зацикливается на выберите пункт меню.
Bloodmoor
0 / 0 / 0
Регистрация: 20.04.2015
Сообщений: 35
22.11.2015, 12:42  [ТС]     Подскажите, что делаю не так #4
http://www.cyberforum.ru/attachment....1&d=1448185308
Миниатюры
Подскажите, что делаю не так  
Kerry_Jr
Модератор
 Аватар для Kerry_Jr
1855 / 1651 / 575
Регистрация: 14.05.2014
Сообщений: 4,728
Записей в блоге: 1
Завершенные тесты: 5
22.11.2015, 12:54     Подскажите, что делаю не так #5
Bloodmoor,
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
#include <stdio.h>
#include <locale.h>
int main (void) {
    setlocale(0, "");
    int a, b, s;
    char ch;
    do { 
        printf ("Введите число а: ");
        scanf ("%d", &a);
        getchar();
        printf ("Введите число b: ");
        scanf ("%d", &b);
        getchar();
        printf ("1. Сумма 2-х чисел \n"); 
        printf ("2. Разность 2-х чисел \n"); 
        printf ("3. Остаток от целочисленного деления 2-х чисел \n"); 
        printf (" Выберите пункт меню: "); 
        scanf("%c", &ch); /*Ввод символа с клавы */
    } 
    while (ch !='1' && ch !='2' && ch !='3'); 
    switch (ch) { 
        case '1':
            s=a+b;
            printf(" Сумма 2-х чисел - %d", s);
            break;
        case '2': 
            s=a-b;
            printf(" Разность 2-х чисел - %d", s);
            break;
        case '3':
            if (b != 0){
                s = a / b;
                printf(" Остаток от целочисленного деления 2-х чисел - %d", s);
            }
            else
                printf(" На ноль делить нельзя!");
            break;
    }
}
Yandex
Объявления
22.11.2015, 12:54     Подскажите, что делаю не так
Ответ Создать тему
Опции темы

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