nefi
Πολύ δραστήριο μέλος





ασκ
Να γραφεί πρόγραμμα που θα υπολογίζει τα ρέστα που πρέπει να δώσει ένα αυτόματο μηχάνημα έκδοσης εισιτηρίων[FONT=Arial,Arial][FONT=Arial,Arial]. [/FONT][/FONT]Τα εισιτήρια κοστίζουν [FONT=Arial,Arial][FONT=Arial,Arial]0.75€. [/FONT][/FONT]Ο αλγόριθμος θα δέχεται το ποσό που πληρώνει ο πελάτης και θα επιστρέφει τον αριθμό των κερμάτων με αξία [FONT=Arial,Arial][FONT=Arial,Arial]2€, 1€, 0.50€, 0.20€ 0.10€ [/FONT][/FONT]και [FONT=Arial,Arial][FONT=Arial,Arial]0.05€. [/FONT][/FONT]Ο αλγόριθμος πρέπει να λειτουργεί με τέτοιο τρόπο ώστε τα ρέστα να δίνονται με τον μικρότερο δυνατό αριθμό νομισμάτων[FONT=Arial,Arial][FONT=Arial,Arial]. [/FONT]
[/FONT]
-----------------------------------------
κπς-κπ??
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Eruyomo
Πολύ δραστήριο μέλος


Έτοιμη άσκηση δεν είναι και πολύ καλό να σου δώσουμε, ξεκίνα εσύ και όπου κολλήσεις βλέπουμε.
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Mariosxania
Δραστήριο μέλος


οποιος γνωριζει απο dev c ++ ας με βοηθησει εχω κολλησει σε μια ασκ...
(στειλτε μου πμ)
ασκ
Να γραφεί πρόγραμμα που θα υπολογίζει τα ρέστα που πρέπει να δώσει ένα αυτόματο μηχάνημα έκδοσης εισιτηρίων[FONT=Arial,Arial][FONT=Arial,Arial]. [/FONT][/FONT]Τα εισιτήρια κοστίζουν [FONT=Arial,Arial][FONT=Arial,Arial]0.75?. [/FONT][/FONT]Ο αλγόριθμος θα δέχεται το ποσό που πληρώνει ο πελάτης και θα επιστρέφει τον αριθμό των κερμάτων με αξία [FONT=Arial,Arial][FONT=Arial,Arial]2?, 1?, 0.50?, 0.20? 0.10? [/FONT][/FONT]και [FONT=Arial,Arial][FONT=Arial,Arial]0.05?. [/FONT][/FONT]Ο αλγόριθμος πρέπει να λειτουργεί με τέτοιο τρόπο ώστε τα ρέστα να δίνονται με τον μικρότερο δυνατό αριθμό νομισμάτων[FONT=Arial,Arial][FONT=Arial,Arial]. [/FONT]
[/FONT]
-----------------------------------------
κπς-κπ??
Ελα ρε συ εύκολο είναι αυτό.Που αρκιβώς κολλάς?
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Φιλιον_Τερας
Διάσημο μέλος


οποιος γνωριζει απο dev c ++ ας με βοηθησει εχω κολλησει σε μια ασκ...
(στειλτε μου πμ)
ασκ
Να γραφεί πρόγραμμα που θα υπολογίζει τα ρέστα που πρέπει να δώσει ένα αυτόματο μηχάνημα έκδοσης εισιτηρίων[FONT=Arial,Arial][FONT=Arial,Arial]. [/FONT][/FONT]Τα εισιτήρια κοστίζουν [FONT=Arial,Arial][FONT=Arial,Arial]0.75?. [/FONT][/FONT]Ο αλγόριθμος θα δέχεται το ποσό που πληρώνει ο πελάτης και θα επιστρέφει τον αριθμό των κερμάτων με αξία [FONT=Arial,Arial][FONT=Arial,Arial]2?, 1?, 0.50?, 0.20? 0.10? [/FONT][/FONT]και [FONT=Arial,Arial][FONT=Arial,Arial]0.05?. [/FONT][/FONT]Ο αλγόριθμος πρέπει να λειτουργεί με τέτοιο τρόπο ώστε τα ρέστα να δίνονται με τον μικρότερο δυνατό αριθμό νομισμάτων[FONT=Arial,Arial][FONT=Arial,Arial]. [/FONT]
[/FONT]
-----------------------------------------
κπς-κπ??
το dev δεν ειναι ο compiler?
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
nefi
Πολύ δραστήριο μέλος


Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Meddle
Νεοφερμένος


Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
nefi
Πολύ δραστήριο μέλος


#include <stdio.h>
main()
{
int e,z,r,h,k,w,c,f,g,j,l,x,re;
float poso;
scanf("%f",&poso);
if (poso==0.75) {printf("δεν εχεις ρεστα");}
if (poso<0.75) {printf("δεν συμπληρωνεται το ποσο");}
if (poso>0.75)
{
poso-0.75=re;
re*100=re;
re/200=e;
re%200=c;
c/100=z;
c%100=f;
f/50=r;
f%50=g;
g/20=h;
g%20=j;
j/10=k;
j%10=l;
l/5=w;
l%5=x; }
printf("τα %d%d%d%d%d%d ρεστα ειναι",e*2+z*1+r*0.5+h*0.2+k*0.1+w*0.05);
getchar();
getchar();}
τα e=2ευρα z=μονοευρα r=50λεπτα h=20λεπτα k=10λεπτα w=5λεπτα
re=ρεστα,
poso=τα λεφτα που βαζει κπς για το εισητηριο
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Eruyomo
Πολύ δραστήριο μέλος


Για αρχή τις παρατηρήσεις που καλό θα ήταν να τις έχετε όλοι:
1. Βάζουμε ονόματα μεταβλητών που δηλώνουν, τουλάχιστον έμεσα στο τι αναφέρονται.
Πχ, την μεταβλητή για τα μονόευρα δεν χρειάζεται να την δηλώσεις σαν z, μπορείς κάλλιστα να την δηλώσεις oneEuroCoin, one_euro_coin, coin_of_one_euro κτλ.
2. Βάζουμε στηλοθέτες (tabs).
Κακό παράδειγμα κώδικα (πέραν του δικού σου)
int function ()
{
printf("this is a function");
return 0;
}
καλό παράδειγμα
int function ()
{
printf("this is a function");
return 0;
}
Βάζε σχόλια. Στην αρχή σε κάθε γραμμή. Όπως τον εχεις γράψει ο κώδικας σου δεν διαβάζεται απο άνθρωπο, απλά. Αν μεθάυριο τον ξανακοιτάξεις ούτε η ίδια θα ξέρεις τι έγραψες και γιατί.
Έπειτα, το πιο σημαντικό λάθος όλων.
Το σύμβολο = στην C σημαίνει ανάθεση
και όχι ισότητα.
Δεν μπορείς να γράψεις:
poso-0.75=re;
Αν θες η re να πάρει την τιμή poso - 0.75 την γράφεις ως:
re = poso - 0.75;
Κάνε το ίδιο σε όλες.
Edit:
Άλλο ένα πεταχτό: δήλωνε τύπο στις συναρτήσεις σου.
Το
main()
κάντο:
int main(int argc, char **argv)
και κάτω κάτω πριν το τελευταίο } βάλε ένα:
return 0;
Edit 2: Άλλο ένα πολύ βασικό
Το [re] είναι integer και πας να του βάλεις τιμή float.
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
nefi
Πολύ δραστήριο μέλος



Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Zed
Διάσημο μέλος


Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Eruyomo
Πολύ δραστήριο μέλος


παλι λαθος μου βγαζει....![]()
Κάνε post τον νέο σου κώδικα καθώς και copy/paste το λάθος που σου βγάζει.
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
nefi
Πολύ δραστήριο μέλος


#include <stdio.h>
main()
{
int e,z,r,h,k,w,c,f,g,j,l,x,re;
float poso;
scanf("%f",&poso);
poso=poso*100;
if (poso==75) {printf("dn exeis resta");}
if (poso<75) {printf("dn symplhronetai to poso");}
if (poso>75)
{
re=poso-75;
re=re*100;
e=re/200;
c=re%200;
z=c/100;
f=c%100;
r=f/50;
g=f%50;
h=g/20;
j=g%20;
k=j/10;
l=j%10;
w=l/5;
x=l%5;
printf(" %dn",c);
printf(" %dn",z);
printf(" %dn",r);
printf(" %dn",h);
printf(" %dn",k);
printf(" %dn",w);
}
getchar();
getchar();
getchar();}
το βρηκααααα!
#include <stdio.h>
main()
{
int e=0,z=0,r=0,h=0,k=0,w=0,c,f,g,j,l,x,re;
float poso;
printf("rikse lefta");
scanf("%f",&poso);
poso=poso*100;
if (poso==75) {printf("δν εχεις ρεστα");}
if (poso<75) {printf("δν συμπληρωνεται το ποσο");}
if (poso>75)
{
re=poso-75;
e=re/200;
c=re%200;
z=c/100;
f=c%100;
r=f/50;
g=f%50;
h=g/20;
j=g%20;
k=j/10;
l=j%10;
w=l/5;
x=l%5;
printf(" τα ρεστα ειναι: %d 2eura, %d 1eura, %d 50lepta, %d 20lepta, %d 10lepta, %d 5lepta", e,z,r,h,k,w);
}
getchar();
getchar();
getchar();}[code\]
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Anarki
Διάσημο μέλος



Που είναι βρε όλες οι συμβουλές καλής συγγραφής κώδικα που σου έδωσε;
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
nefi
Πολύ δραστήριο μέλος


Και ο Eruyomo μιλάει σε τοίχο μάλλον
Που είναι βρε όλες οι συμβουλές καλής συγγραφής κώδικα που σου έδωσε;
τρεχει


Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Anarki
Διάσημο μέλος


Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
nefi
Πολύ δραστήριο μέλος



Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Anarki
Διάσημο μέλος


int main(int argc, char **argv)
{
int 2euroCoins, 1euroCoins, 50centCoins, 20centCoins, 10centCoins, 5centCoins, change;
float poso;
/* Εισαγωγή χρημάτων. */
printf("Ρίξε λεφτά.n");
scanf("%f", &poso);
poso = poso * 100;
/* Εάν το ποσό είναι ακριβές, δεν υπολογίζονται ρέστα. */
if ( poso == 75 )
{
printf("Δεν έχεις ρέστα.n");
}
/* Εάν το ποσό δεν επαρκεί, τυπώνεται αντίστοιχο μήνυμα. */
else if ( poso < 75 )
{
printf("Δε συμπληρώνεται το ποσό.n");
}
/* Αλλιώς, υπολογίζονται τα ρέστα. Ξεκινάμε με τα κέρματα μεγαλύτερης αξίας για να ελαχιστοποιήσουμε τον αριθμό των κερμάτων */
else
{
change = poso - 75;
2eurocoins = change / 200;
change = change % 200;
1euroCoins = change / 100;
change = change % 100;
50centCoins = change / 50;
change = change % 50;
20centCoins = change / 20;
change = change % 20;
10centCoins = change / 10;
change = change % 10;
5centCoins = change / 5;
change = change % 5;
/* Εκτύπωση ρέστων */
printf("Τα ρέστα είναι: %d 2ευρα, %d 1ευρα, %d 50λεπτα, %d 20λεπτα, %d 10λεπτα, %d 5λεπτα", 2euroCoins, 1euroCoins, 50centCoins, 20centCoins, 10centCoins, 5centCoins);
}
return 0;
}
Έχει και newline στο τέλος eru

Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Eruyomo
Πολύ δραστήριο μέλος


Δες μια πιο καλλωπισμένη έκδοση και σύγκρινε μόνη σου.
Έχει και newline στο τέλος eruCode:int main(int argc, char **argv) { int 2euroCoins, 1euroCoins, 50centCoins, 20centCoins, 10centCoins, 5centCoins, change; float poso; /* Εισαγωγή χρημάτων. */ printf("Ρίξε λεφτά.n"); scanf("%f", &poso); poso = poso * 100; /* Εάν το ποσό είναι ακριβές, δεν υπολογίζονται ρέστα. */ if ( poso == 75 ) { printf("Δεν έχεις ρέστα.n"); } /* Εάν το ποσό δεν επαρκεί, τυπώνεται αντίστοιχο μήνυμα. */ else if ( poso < 75 ) { printf("Δε συμπληρώνεται το ποσό.n"); } /* Αλλιώς, υπολογίζονται τα ρέστα. Ξεκινάμε με τα κέρματα μεγαλύτερης αξίας για να ελαχιστοποιήσουμε τον αριθμό των κερμάτων */ else { change = poso - 75; [COLOR=Red]2[/COLOR]eurocoins = change / 200; change = change % 200; [COLOR=Red]1[/COLOR]euroCoins = change / 100; change = change % 100; [COLOR=Red]50[/COLOR]centCoins = change / 50; change = change % 50; [COLOR=Red]20[/COLOR]centCoins = change / 20; change = change % 20; [COLOR=Red]10[/COLOR]centCoins = change / 10; change = change % 10; [COLOR=Red]5[/COLOR]centCoins = change / 5; change = change % 5; /* Εκτύπωση ρέστων */ printf("Τα ρέστα είναι: %d 2ευρα, %d 1ευρα, %d 50λεπτα, %d 20λεπτα, %d 10λεπτα, %d 5λεπτα", 2euroCoins, 1euroCoins, 50centCoins, 20centCoins, 10centCoins, 5centCoins); } return 0; }
![]()
Κόβεσαι.
Αλλα στην περίπτωση που δεν κοβόσουν, ο κώδικας σου διαβάζεται.
@nefi, αν δούλεψε, έχεις κάνει την μισή δουλειά (να το μεταφράσω, το μισό βαθμό).
Μετέτρεψε τον κώδικα σου σαν αυτόν του anarki (απλά δεν ξεκινάς με νούμερα τις μεταβλητές) και θα πάρεις και τον άλλο μισό.
Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Anarki
Διάσημο μέλος


Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Eruyomo
Πολύ δραστήριο μέλος


Είναι demo πιο όμορφης εμφάνισης απλά.
Και το newline τι το βαλες;

Σημείωση: Το μήνυμα αυτό γράφτηκε 15 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Χρήστες Βρείτε παρόμοια
-
Τα παρακάτω 0 μέλη και 1 επισκέπτες διαβάζουν μαζί με εσάς αυτό το θέμα:Tα παρακάτω 2 μέλη διάβασαν αυτό το θέμα:
-
Φορτώνει...
-
Το forum μας χρησιμοποιεί cookies για να βελτιστοποιήσει την εμπειρία σας.
Συνεχίζοντας την περιήγησή σας, συναινείτε στη χρήση cookies στον περιηγητή σας.