Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπερα

 

Εχω κανει μια ασκηση με υπολογισμο φορου

 

Ειναι η παρακατω

 

 

#include <stdio.h>

 

int main()

{

float a;

printf("dose eisodhma\n");

scanf("%f",&a);

if (a<5000)

{

printf("o foros einai 0");

}

else if (a>4999 && a<10001)

{

printf("o foros einai 5% %f",a-5%);

}

else if (a>9999 && a<30001);

{

printf(" o foros einai 15% %f",a-15%);

 

}

else if (a>30000);

{

printf("o foros einai 35% %f",a-35%);

}

else

{

}

}

 

 

Μου βγαζει σφαλμα την τελευταια else if η οποια δεν ξερω γιατι ειναι λαθος.

 

Το ξερω οτι η printf ειναι λαθος αλλα πως μπορω να την κανω να υπολογισει το φορο του εισοδηματος?

Δημοσ.

στις 2 τελευταίες else if έχεις βάλει και ερωτηματικό μετα την παρένθεση.

 

Όσο για τον φόρο δεν μπορείς να κάνεις αυτήν την πράξη

> α-35%

θα πρέπει να κάνεις κάτι τέτοιο

>(α-(α/100*35))

 

και αν ο φόρος είναι το 35% του αρχικού τότε θα είναι μόνο το

>((α/100)*35)

 

αν πχ έχεις 100ε θα πρέπει να σου εμφανίσει 35ε

Δημοσ.

στις 2 τελευταίες else if έχεις βάλει και ερωτηματικό μετα την παρένθεση.

 

Όσο για τον φόρο δεν μπορείς να κάνεις αυτήν την πράξη

> α-35%

θα πρέπει να κάνεις κάτι τέτοιο

>(α-(α/100*35))

 

 

Ευχαριστω πολυ!

 

 

Αν θελω να κανω με switch

 

θα το κανω καπως ετσι?

 

switch (a)

case a>4999 && a<10001:

printf("o foros einai 5% %f", (α-(α/100*35)));

Δημοσ.

Ευχαριστω πολυ!

 

 

Αν θελω να κανω με switch

 

θα το κανω καπως ετσι?

 

switch (a)

case a>4999 && a<10001:

printf("o foros einai 5% %f", (α-(α/100*35)));

 

Το break μην ξεχάσεις μετά απο κάθε case γιατί αλλιώς θα τρέξει όλον τον κώδικα μέχρι το τέλος

 

>switch (a)
{
case a>4999 && a<10001: 
 printf("o foros einai 5% %f", (α-(α/100*35)));
 break;
case ...... :
 printf..
 break;
}

Δημοσ.

...

Αν θελω να κανω με switch

 

θα το κανω καπως ετσι?

 

switch (a)

case a>4999 && a<10001:

printf("o foros einai 5% %f", (α-(α/100*35)));

 

Όχι, στα case δεν μπορείς να βάλεις συνθήκες, ούτε στο switch μπορείς να βάλεις συνθήκες. Στο switch βάζεις μια μεταβλητή τύπου integer (char, short, int, long int, long long int, ή της unsigned εκδοχές τους) και κατόπιν στο κάθε case βάζεις από μια πιθανή τιμή της μεταβλητής που έχεις βάλει στο switch, ώστε να κάνεις διαφορετική δουλειά για κάθε διαφορετική τιμή. Αν δεν θέλεις ή δεν μπορείς να διαχειριστείς όλες τις πιθανές τιμές τις μεταβλητής (π.χ. λόγω πολύ μεγάλου πλήθους τιμών ) βάζεις σε ξεχωριστά cases τις διαφορετικές τιμές που σε ενδιαφέρουν και για όλες τις υπόλοιπες βάζεις ένα default: (αντί για case).

 

Εν ολίγοις, αυτό που κάνεις με τα if τώρα, δεν μπορείς να το κάνεις με switch.

 

Και κάτι άσχετο, για να τυπώσεις με printf το σύμβολο του ποσοστού πρέπει μέσα στην printf να το γράψεις 2 φορές...

 

>
printf("Το 10%% του 53 είναι %f\n", 53 * 10 / 100 );

ΥΓ. Για να βγαίνει όμορφα ο κώδικάς σου όταν τον ποστάρεις εδώ, βάζε τον μέσα σε [ code] εδώ κώδικας [/ code] tags, χωρίς κενά στις αγκύλες ... ή πάτα το εικονίδιο <> στον editor, δεύτερο από δεξιά.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...