Ασκήσεις στην C

nefi

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

Η nefi αυτή τη στιγμή δεν είναι συνδεδεμένη. Μας γράφει απο Θεσσαλονίκη (Θεσσαλονίκη). Έχει γράψει 1,097 μηνύματα.
:bye: οποιος γνωριζει απο 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]
-----------------------------------------
κπς-κπ??
 

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

Eruyomo

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

Ο Μάνος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 39 ετών και μας γράφει απο Χανιά (Χανιά). Έχει γράψει 1,505 μηνύματα.
Που την βρήκες αυτή; Άσκηση στη σχολή;


Έτοιμη άσκηση δεν είναι και πολύ καλό να σου δώσουμε, ξεκίνα εσύ και όπου κολλήσεις βλέπουμε.
 

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

Mariosxania

Δραστήριο μέλος

Ο Μάριος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 32 ετών και μας γράφει απο Γλυφάδα (Αττική). Έχει γράψει 538 μηνύματα.
:bye: οποιος γνωριζει απο 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]
-----------------------------------------
κπς-κπ??

Ελα ρε συ εύκολο είναι αυτό.Που αρκιβώς κολλάς?
 

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

Φιλιον_Τερας

Διάσημο μέλος

Ο Φιλιον_Τερας αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 3,031 μηνύματα.
:bye: οποιος γνωριζει απο 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?
 

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

nefi

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

Η nefi αυτή τη στιγμή δεν είναι συνδεδεμένη. Μας γράφει απο Θεσσαλονίκη (Θεσσαλονίκη). Έχει γράψει 1,097 μηνύματα.
δεν την θελω ετοιμη αλλα να με βοηθησετε να ξεκολλησω....
 

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

Meddle

Νεοφερμένος

Ο Meddle αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 31 ετών. Έχει γράψει 56 μηνύματα.
Το DevC++ που κολλάει με την ΑΕΠΠ; (btw άθλιο "IDE") Ασχολείσαι με C ή C++; Αν όχι, τότε μόνο και μόνο το γεγονός ότι σου πέρασε από το μυαλό ότι μπορείς να γράψεις ΓΛΩΣΣΑ στο DevC++ σημαίνει πως πρέπει να ξαναδιαβάσεις το σχολικό και να πάρεις χαμπάρι το τι γίνεται.... Αν πάλι ασχολείσαι, κλείσε μουσικές, πισιά κτλ και σκέψου ήρεμα.
 

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

nefi

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

Η nefi αυτή τη στιγμή δεν είναι συνδεδεμένη. Μας γράφει απο Θεσσαλονίκη (Θεσσαλονίκη). Έχει γράψει 1,097 μηνύματα.
Code:
#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=τα λεφτα που βαζει κπς για το εισητηριο
 

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

Eruyomo

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

Ο Μάνος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 39 ετών και μας γράφει απο Χανιά (Χανιά). Έχει γράψει 1,505 μηνύματα.
Ωραία.
Για αρχή τις παρατηρήσεις που καλό θα ήταν να τις έχετε όλοι:

1. Βάζουμε ονόματα μεταβλητών που δηλώνουν, τουλάχιστον έμεσα στο τι αναφέρονται.
Πχ, την μεταβλητή για τα μονόευρα δεν χρειάζεται να την δηλώσεις σαν z, μπορείς κάλλιστα να την δηλώσεις oneEuroCoin, one_euro_coin, coin_of_one_euro κτλ.

2. Βάζουμε στηλοθέτες (tabs).
Κακό παράδειγμα κώδικα (πέραν του δικού σου)

Code:
int function ()
{
printf("this is a function");
return 0;
}

καλό παράδειγμα

Code:
int function ()
{
    printf("this is a function");
    return 0;
}

Βάζε σχόλια. Στην αρχή σε κάθε γραμμή. Όπως τον εχεις γράψει ο κώδικας σου δεν διαβάζεται απο άνθρωπο, απλά. Αν μεθάυριο τον ξανακοιτάξεις ούτε η ίδια θα ξέρεις τι έγραψες και γιατί.


Έπειτα, το πιο σημαντικό λάθος όλων.
Το σύμβολο = στην C σημαίνει ανάθεση
και όχι ισότητα.

Δεν μπορείς να γράψεις:
Code:
poso-0.75=re;

Αν θες η re να πάρει την τιμή poso - 0.75 την γράφεις ως:
Code:
re = poso - 0.75;

Κάνε το ίδιο σε όλες.

Edit:

Άλλο ένα πεταχτό: δήλωνε τύπο στις συναρτήσεις σου.

Το
Code:
main()

κάντο:

Code:
int main(int argc, char **argv)

και κάτω κάτω πριν το τελευταίο } βάλε ένα:

Code:
return 0;

Edit 2: Άλλο ένα πολύ βασικό

Το [re] είναι integer και πας να του βάλεις τιμή float.
 

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

nefi

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

Η nefi αυτή τη στιγμή δεν είναι συνδεδεμένη. Μας γράφει απο Θεσσαλονίκη (Θεσσαλονίκη). Έχει γράψει 1,097 μηνύματα.
παλι λαθος μου βγαζει....:(
 

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

Zed

Διάσημο μέλος

Ο Zed αυτή τη στιγμή δεν είναι συνδεδεμένος. Επαγγέλεται IT και μας γράφει απο Ηλιούπολη (Αττική). Έχει γράψει 2,488 μηνύματα.
Έκανες τις αλλαγές που σου είπε ο Eruyomo? Δεν σου είπε την λύση, σου είπε τον τρόπο που πρέπει να γράψεις ώστε να καταλήξεις στην λύση.
 

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

Eruyomo

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

Ο Μάνος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 39 ετών και μας γράφει απο Χανιά (Χανιά). Έχει γράψει 1,505 μηνύματα.
παλι λαθος μου βγαζει....:(

Κάνε post τον νέο σου κώδικα καθώς και copy/paste το λάθος που σου βγάζει.
 

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

nefi

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

Η nefi αυτή τη στιγμή δεν είναι συνδεδεμένη. Μας γράφει απο Θεσσαλονίκη (Θεσσαλονίκη). Έχει γράψει 1,097 μηνύματα.
Code:
#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();}
-----------------------------------------
το βρηκααααα!


Code:
#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\]
 

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

Anarki

Διάσημο μέλος

Ο Αλέξης αυτή τη στιγμή δεν είναι συνδεδεμένος. Μας γράφει απο Χανιά (Χανιά). Έχει γράψει 3,345 μηνύματα.
Και ο Eruyomo μιλάει σε τοίχο μάλλον :P
Που είναι βρε όλες οι συμβουλές καλής συγγραφής κώδικα που σου έδωσε;
 

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

nefi

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

Η nefi αυτή τη στιγμή δεν είναι συνδεδεμένη. Μας γράφει απο Θεσσαλονίκη (Θεσσαλονίκη). Έχει γράψει 1,097 μηνύματα.
Και ο Eruyomo μιλάει σε τοίχο μάλλον :P
Που είναι βρε όλες οι συμβουλές καλής συγγραφής κώδικα που σου έδωσε;


τρεχει:D:P
 

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

Anarki

Διάσημο μέλος

Ο Αλέξης αυτή τη στιγμή δεν είναι συνδεδεμένος. Μας γράφει απο Χανιά (Χανιά). Έχει γράψει 3,345 μηνύματα.
Το να γράφεις καλό κώδικα είναι θέμα συνήθειας, ξεκίνα από τώρα αλλιώς θα χτυπάς το κεφάλι σου στον τοίχο αργότερα.
 

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

nefi

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

Η nefi αυτή τη στιγμή δεν είναι συνδεδεμένη. Μας γράφει απο Θεσσαλονίκη (Θεσσαλονίκη). Έχει γράψει 1,097 μηνύματα.
οκ;)
 

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

Anarki

Διάσημο μέλος

Ο Αλέξης αυτή τη στιγμή δεν είναι συνδεδεμένος. Μας γράφει απο Χανιά (Χανιά). Έχει γράψει 3,345 μηνύματα.
Δες μια πιο καλλωπισμένη έκδοση και σύγκρινε μόνη σου.

Code:
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 :P
 

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

Eruyomo

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

Ο Μάνος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 39 ετών και μας γράφει απο Χανιά (Χανιά). Έχει γράψει 1,505 μηνύματα.
Δες μια πιο καλλωπισμένη έκδοση και σύγκρινε μόνη σου.

Code:
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;
}
Έχει και newline στο τέλος eru :P

Κόβεσαι.

Αλλα στην περίπτωση που δεν κοβόσουν, ο κώδικας σου διαβάζεται.

@nefi, αν δούλεψε, έχεις κάνει την μισή δουλειά (να το μεταφράσω, το μισό βαθμό).
Μετέτρεψε τον κώδικα σου σαν αυτόν του anarki (απλά δεν ξεκινάς με νούμερα τις μεταβλητές) και θα πάρεις και τον άλλο μισό.
 

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

Anarki

Διάσημο μέλος

Ο Αλέξης αυτή τη στιγμή δεν είναι συνδεδεμένος. Μας γράφει απο Χανιά (Χανιά). Έχει γράψει 3,345 μηνύματα.
Είναι demo πιο όμορφης εμφάνισης απλά.
 

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

Eruyomo

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

Ο Μάνος αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 39 ετών και μας γράφει απο Χανιά (Χανιά). Έχει γράψει 1,505 μηνύματα.

Χρήστες Βρείτε παρόμοια

  • Τα παρακάτω 0 μέλη και 1 επισκέπτες διαβάζουν μαζί με εσάς αυτό το θέμα:
    Tα παρακάτω 2 μέλη διάβασαν αυτό το θέμα:
  • Φορτώνει...
Top