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

Проверьте и подскажите - C++

Восстановить пароль Регистрация
 
mariooo
3 / 3 / 0
Регистрация: 01.12.2012
Сообщений: 53
07.12.2012, 05:31     Проверьте и подскажите #1
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
#include<stdio.h>
#include<math.h>
#include<conio.h>
int main(){
    double a,b,h,R,ff,S;
    int k;
    printf("Vubirite 1 iz 5 nyjnuh vam ysloviu \n1.S pr9moygolnika \n2.S proizvolnogo treygolnika \n3.S trapecui \n4.S kryga \n5.S sektora\n");
    scanf("%d",&k);
if(k<0||k>5)
{printf("Owubka vubirite iz etix 5 ysloviu");}
      else{if(k=1)
      {printf("\nVvedite a i b 4erez probel: ");
      scanf("%lf %lf",&a,&b);
      S=a*b;
      printf("S=%lf",S);
      }
        else{if(k=2)
        {printf("\nVvedite a i h 4erez probel: ");
        scanf("%lf %lf",&a,&h);
        S=(a*h)/2;
        printf("S=%lf",S);
        }
          else{if(k=3)
          {printf("\nVvedite a, b i h 4erez probel: ");
          scanf("%lf %lf %lf",&a,&b,&h);
          S=((a+b)*h)/2;
          printf("S=%lf",S);
          }
            else{if(k=4)
            {printf("\nVvedite R: ");
            scanf("%lf",&R);
            S=(M_PI)*R*R;
            printf("S=%lf",S);
            }
              else{if(k=5)
              {printf("\nVvedite R i ff 4erez probel: ");
              scanf("%lf %lf",&R,&ff);
              S=((M_PI)*R*R*ff)/360;
              printf("S=%lf",S);
              }}}}}}
    getch();
    return 0;
}
Не могу понять почему когда я проверяю ввожу от 1-5 все равно будет всегда выполнятся поиск площади прямоугольника и если ввожу значение k 0,1 или любое десятичное все равно принимает его и не выдает
C
1
2
 if(k<0||k>5)
{printf("Owubka vubirite iz etix 5 ysloviu");}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kiruhka
1 / 1 / 0
Регистрация: 08.09.2009
Сообщений: 103
07.12.2012, 05:48     Проверьте и подскажите #2
вот так все работает
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
#include <vcl.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
#pragma hdrstop
 
#pragma argsused
int main(int argc, char* argv[])
{
    double a,b,h,R,ff,S;
    int k;
    printf("Vubirite 1 iz 5 nyjnuh vam ysloviu \n1.S pr9moygolnika \n2.S proizvolnogo treygolnika \n3.S trapecui \n4.S kryga \n5.S sektora\n");
    scanf("%d",&k);
if( (k<1) || (k>5))
{printf("Owubka vubirite iz etix 5 ysloviu");}
if(k == 1)
      {printf("\nVvedite a i b 4erez probel: ");
      scanf("%lf %lf",&a,&b);
      S=a*b;
      printf("S=%lf",S);
      }
if(k == 2)
        {printf("\nVvedite a i h 4erez probel: ");
        scanf("%lf %lf",&a,&h);
        S=(a*h)/2;
        printf("S=%lf",S);
        }
if(k == 3)
          {printf("\nVvedite a, b i h 4erez probel: ");
          scanf("%lf %lf %lf",&a,&b,&h);
          S=((a+b)*h)/2;
          printf("S=%lf",S);
          }
if(k == 4)
            {printf("\nVvedite R: ");
            scanf("%lf",&R);
            S=(M_PI)*R*R;
            printf("S=%lf",S);
            }
if(k == 5)
              {printf("\nVvedite R i ff 4erez probel: ");
              scanf("%lf %lf",&R,&ff);
              S=((M_PI)*R*R*ff)/360;
              printf("S=%lf",S);
              }
    getch();
        return 0;
}
mariooo
3 / 3 / 0
Регистрация: 01.12.2012
Сообщений: 53
07.12.2012, 05:51  [ТС]     Проверьте и подскажите #3
можете объяснить что вы сделали
kiruhka
1 / 1 / 0
Регистрация: 08.09.2009
Сообщений: 103
07.12.2012, 05:55     Проверьте и подскажите #4
C++
1
2
if( (k<1) || (k>5))
{printf("Owubka vubirite iz etix 5 ysloviu");}
Здесь надо ставить больше 1, а не больше нуля, тогда программа реагирует на числа типа 0,1 0,2
потом убрала ваши else'ы и когда вы в условии выясняете равенство k с вводимым числом поставила знак ==, вместо =
mariooo
3 / 3 / 0
Регистрация: 01.12.2012
Сообщений: 53
07.12.2012, 05:59  [ТС]     Проверьте и подскажите #5
большое спасибо
kiruhka
1 / 1 / 0
Регистрация: 08.09.2009
Сообщений: 103
07.12.2012, 06:00     Проверьте и подскажите #6
пожалуйста))
Yandex
Объявления
07.12.2012, 06:00     Проверьте и подскажите
Ответ Создать тему
Опции темы

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