epp1783 Δημοσ. 12 Δεκεμβρίου 2011 Δημοσ. 12 Δεκεμβρίου 2011 Καλησπερα Εχω κανει μια ασκηση με υπολογισμο φορου Ειναι η παρακατω #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 ειναι λαθος αλλα πως μπορω να την κανω να υπολογισει το φορο του εισοδηματος?
gallaki Δημοσ. 12 Δεκεμβρίου 2011 Δημοσ. 12 Δεκεμβρίου 2011 στις 2 τελευταίες else if έχεις βάλει και ερωτηματικό μετα την παρένθεση. Όσο για τον φόρο δεν μπορείς να κάνεις αυτήν την πράξη > α-35% θα πρέπει να κάνεις κάτι τέτοιο >(α-(α/100*35)) και αν ο φόρος είναι το 35% του αρχικού τότε θα είναι μόνο το >((α/100)*35) αν πχ έχεις 100ε θα πρέπει να σου εμφανίσει 35ε
epp1783 Δημοσ. 12 Δεκεμβρίου 2011 Μέλος Δημοσ. 12 Δεκεμβρίου 2011 στις 2 τελευταίες else if έχεις βάλει και ερωτηματικό μετα την παρένθεση. Όσο για τον φόρο δεν μπορείς να κάνεις αυτήν την πράξη > α-35% θα πρέπει να κάνεις κάτι τέτοιο >(α-(α/100*35)) Ευχαριστω πολυ! Αν θελω να κανω με switch θα το κανω καπως ετσι? switch (a) case a>4999 && a<10001: printf("o foros einai 5% %f", (α-(α/100*35)));
gallaki Δημοσ. 12 Δεκεμβρίου 2011 Δημοσ. 12 Δεκεμβρίου 2011 Ευχαριστω πολυ! Αν θελω να κανω με 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; }
migf1 Δημοσ. 12 Δεκεμβρίου 2011 Δημοσ. 12 Δεκεμβρίου 2011 ... Αν θελω να κανω με 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, δεύτερο από δεξιά.
Timonkaipumpa Δημοσ. 12 Δεκεμβρίου 2011 Δημοσ. 12 Δεκεμβρίου 2011 Και αφού είναι C++ χρησιμοποίησε cout αντί για printf και cin αντί για scanf.
CtrlFreak Δημοσ. 12 Δεκεμβρίου 2011 Δημοσ. 12 Δεκεμβρίου 2011 Μου φαγε το avatar.... :confused: :confused: :mad:
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα