• 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
80 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ź 282 wizyt
pytanie zadane 10 czerwca 2016 w C i C++ przez Seblan4 Nowicjusz (180 p.)
0 głosów
1 odpowiedź 76 wizyt
pytanie zadane 11 czerwca 2017 w PHP, Symfony, Zend przez Miko Obywatel (1,480 p.)
Porady nie od parady
Zadając pytanie postaraj się o poprawną pisownię i czytelne formatowanie tekstu.Kompozycja

64,950 zapytań

111,424 odpowiedzi

234,495 komentarzy

46,784 pasjonatów

Przeglądających: 214
Pasjonatów: 8 Gości: 206

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.

...