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

Weryfikacja podanej liczby z klawiatury dla zmiennej typu float. ANSI C

Object Storage Arubacloud
0 głosów
187 wizyt
pytanie zadane 9 stycznia 2018 w C i C++ przez tiesto.ulic Obywatel (1,010 p.)

Witajcie,

Mam zadanie, które brzmi następująco:

Mam problem w punkcie dotyczącym weryfikacji VATu. Przy budowaniu menu w poprzednim zadaniu wykorzystałem funkcję switch, jednakże w tym przypadku krzyczy, że funkcja nie działa w typie float. Jak zatem wprowadzić taką weryfikację?

Oto kod:

#include <stdio.h>

#define N 3

void wczytaj(float *);
void wczyt_vat(float *);
void oblicz_brutto(float *, float *, float *);
void wypisz_ceny(float *);

int main(void){
    float NETTO[N], VAT[N], CENY[N];

    wczytaj(NETTO);
    wczyt_vat(VAT);
    oblicz_brutto(NETTO,VAT,CENY);
    wypisz_ceny(CENY);

    return (0);
}

void wczytaj(float NETTO[N]){
    int i;
    for(i=0;i<N;i++){
        int o=1+i;
        printf("\nPodaj cene netto dla %d produktu: ", o);
        scanf("%f", &NETTO[i]);
    }
}
void wczyt_vat(float VAT[N]){
    int i=0;

    while(i<N){
        int o=1+i;
        printf("\nPodaj VAT %% dla %d produktu: ", o);
        scanf("%f", &VAT[i]);
        i++;
    }

}
void oblicz_brutto(float NETTO[N], float VAT[N], float CENY[N]){
    int i;
    for(i=0;i<N;i++) CENY[i]=NETTO[i]+(NETTO[i]*VAT[i]/100);
}
void wypisz_ceny(float CENY[N]){
    int i, o;
    for(i=0; i<N; i++) printf("\nCena dla produktu %d to: %f", o=1+i, CENY[i]);
}

 

komentarz 9 stycznia 2018 przez Emil Kob Bywalec (2,640 p.)
może daj pętlę while, która kręci się dopóty dopóki użytkownik nie poda poprawnej wartości podatku VAT
komentarz 9 stycznia 2018 przez Łukasz Wasilewski Mądrala (5,190 p.)

@tiesto.ulic, u mnie działa. 

komentarz 10 stycznia 2018 przez tiesto.ulic Obywatel (1,010 p.)
Łukasz, w takim razie pokaż kod proszę.
komentarz 10 stycznia 2018 przez Łukasz Wasilewski Mądrala (5,190 p.)
Działa mi kod, który Ty wysłałeś, źle zrozumiałem Twój problem.

1 odpowiedź

0 głosów
odpowiedź 11 stycznia 2018 przez tiesto.ulic Obywatel (1,010 p.)
Bump
komentarz 11 stycznia 2018 przez niezalogowany
Switch jest tym samym co drabinka if/else if/else, więc możesz pójść typ tropem. Ewentualnie możesz możliwe wartości VATu wstawić do jakiejś tablicy i połączeniem pętli i if sprawdzać czy wartość jest poprawna (z break dla sumienności). Być może warto by jeszcze zrobić sobie jakąś zmienną pomocniczą typu bool. W obu przypadkach będzie krócej niż switch'em. Zalety drugiego rozwiązania widać lepiej gdybyś miał np 20 dopuszczalnych wartości. Wtedy nie ma kolejnych if czy warunków o tej samej strukturze.

Podobne pytania

0 głosów
1 odpowiedź 359 wizyt
pytanie zadane 31 października 2017 w C i C++ przez PanJaqb Początkujący (360 p.)
+1 głos
0 odpowiedzi 317 wizyt
pytanie zadane 12 marca 2022 w C i C++ przez Bilib Użytkownik (990 p.)

92,551 zapytań

141,399 odpowiedzi

319,529 komentarzy

61,937 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...