• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zmienna SWITCH a liczby całkowite

42 Warsaw Coding Academy
0 głosów
466 wizyt
pytanie zadane 29 kwietnia 2015 w C i C++ przez aksameet Nowicjusz (240 p.)

Witam,

Na filmiku C++ odc. 6 jest informacja o tym, że SWITCH działa tylko z liczbami całkowitymi z int i char.

float zgodnie z filimikiem ma nie dzialać, czyli liczby ulamkowe odpadają. 

Chciałem się pobawić i dałem programowi long double i setprecission(1000000)

dałem kalkulatorowi do przemonozenia spore ułamki i dziala.

Czy long double zastepuje te mozliwość podawania ulamkow z float w SWITCH?

 

ponizej moj kod:

#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <cstdlib> 
#include <conio.h> 

using namespace std;
long double x,y; 
char wybor;

int main()
{
for(;;)
{

    cout << "Podaj liczbe nr 1: ";
    cin>> x;
    cout<< "Podaj liczbe nr 2: ";
    cin>>y;

    cout<<endl;
    cout<< "Menu Glowne"<<endl;
    cout<<"-------------"<<endl;
    cout<<"1. Dodawanie."<<endl;
    cout<<"2. Odejmowanie."<<endl;
    cout<<"3. Mnozenie."<<endl;
    cout<<"4. Dzielenie."<<endl;
    cout<<"5. Koniec programu."<<endl;

    cout<<endl;
    cout<<setprecision(100000); 
    wybor=getch(); 

    switch(wybor)
    {
    case '1': 
        cout<<"Suma = "<<x+y;
        break;
    case '2':
        cout<<"Roznica = "<<x-y;
        break;
    case '3':
        cout<<"Mnozenie = "<<x*y;
        break;
    case '4':
        if (y==0) cout<<"Nie dzielimy przez zero!";
        else cout<<"Iloraz = "<<x/y;
        break;
    case '5':
        exit(0); 
    default:
        cout<<"Nie ma takiej opcji w menu";
    }
   
    getchar();getchar(); 
    system("cls"); 
    
}
    return 0;
}

***zresztą float tez tutaj dziala.

Czy fakt, że wsadzamy SWITCH  w FOR coś zmienia?

1 odpowiedź

+1 głos
odpowiedź 29 kwietnia 2015 przez Artix Bywalec (2,110 p.)
Tu chodzi o to ze jako wybór  "case" nie mozesz dać liczby zmiennoprzecinkowej :) a nie, że nie możesz ich wgl używać w switch'u bo po co on by był w takim razie jakby był "upośledzony" :P Możesz bez problemu bawić sie float i double w srodku switcha ale stosowac int lub char jako wybór "case" i ty tak tuataj robisz bo wybierasz albo 1 albo 2 itd.. :)
komentarz 29 kwietnia 2015 przez aksameet Nowicjusz (240 p.)
ah ok, dzięki :)

Podobne pytania

0 głosów
1 odpowiedź 854 wizyt
0 głosów
0 odpowiedzi 408 wizyt
0 głosów
1 odpowiedź 1,163 wizyt
pytanie zadane 29 stycznia 2020 w C i C++ przez Damian Polanisz Nowicjusz (160 p.)

93,379 zapytań

142,380 odpowiedzi

322,533 komentarzy

62,734 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...