• 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

0 głosów
78 wizyt
pytanie zadane 9 stycznia 2018 w C i C++ przez tiesto.ulic Użytkownik (980 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,580 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,150 p.)

@tiesto.ulic, u mnie działa. 

komentarz 10 stycznia 2018 przez tiesto.ulic Użytkownik (980 p.)
Łukasz, w takim razie pokaż kod proszę.
komentarz 10 stycznia 2018 przez Łukasz Wasilewski Mądrala (5,150 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 Użytkownik (980 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ź 211 wizyt
pytanie zadane 31 października 2017 w C i C++ przez PanJaqb Początkujący (360 p.)
+1 głos
1 odpowiedź 261 wizyt
pytanie zadane 10 czerwca 2016 w C i C++ przez Seblan4 Nowicjusz (180 p.)
0 głosów
1 odpowiedź 73 wizyt
pytanie zadane 11 czerwca 2017 w PHP, Symfony, Zend przez Miko Obywatel (1,450 p.)
Porady nie od parady
Wynikowy wygląd pytania, odpowiedzi czy komentarza, różni się od tego zaprezentowanego w edytorze postów. Stosuj więc funkcję Podgląd posta znajdującą się pod edytorem, aby upewnić się, czy na pewno ostateczny rezultat ci odpowiada.Podgląd posta

62,471 zapytań

108,626 odpowiedzi

226,798 komentarzy

36,403 pasjonatów

Przeglądających: 158
Pasjonatów: 13 Gości: 145

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...