Δημοσιεύτηκε: 09 Μαρ 2012, 18:08
από migf1
Ilias95 έγραψε:@migf1
Η λογική του προγράμματος που παρέθεσες δεν είναι σωστή.
Πχ. αν το roll έχει γίνει 4, το point είναι 6 και έρθει το sum 2 το δικό σου πρόγραμμα θα σταματήσει και θα πει στον παίκτη ότι έχασε, ενώ θα έπρεπε να συνεχίσει κανονικά.
Τα macros FIRST_ROLL_WIN και FIRST_ROLL_LOSS πρέπει να ελέγχονται μόνο όταν είμαστε στον πρώτο γύρο.

Επίσης μπερδεύτηκα στο macro FIRST_ROLL_LOSS. Πρέπει να γίνει:
Κώδικας: Επιλογή όλων
#define FIRST_ROLL_LOOSE(sum) ((sum) == 2 || (sum) == 3 || (sum) == 12)

Βασικά δεν ασχολήθηκα καθόλου με την εκφώνηση (δεν τη διάβασα καν)... απλώς άλλαξα απευθείας τον κώδικα, οπότε είναι πολύ πιθανό κάτι να χάλασα :)

έγραψε:
Επίσης εδώ πέρα δεν κατάλαβα ακριβώς τι εννοείς.
Αν θέλεις δώσε κάποιο παράδειγμα ανεξάρτητο της άσκησης.

Π.χ....

Μορφοποιημένος Κώδικας: Επιλογή όλων
void printIfPositive( const int x )
{
if ( x < 0 )
return;

printf("%d", x);
return;
}

αντί για...

Μορφοποιημένος Κώδικας: Επιλογή όλων
void printIfPositive( const int x )
{
if ( x < 0 )
return;
else {
printf("%d", x);
return;
}
}


Δεν έχει νόημα το else μετά από if που κάνει return/break;