THMMY.gr

Μαθήματα Βασικού Κύκλου => Δομημένος Προγραμματισμός => Topic started by: Talaipa on December 15, 2016, 19:52:12 pm



Title: [Δομημένος Προγραμματισμός] Ασκηση 5 (Ημερομηνία Λήξης:23/12 12π.μ.)
Post by: Talaipa on December 15, 2016, 19:52:12 pm
Κρεμάλα

1. Να γράψετε μια συνάρτηση void hangman(int n) η οποία θα σχεδιάζει στην οθόνη μια κρεμάλα με έναν κρεμασμένο άνθρωπο όπως τον παρακάτω:

2. ++----

3. |    O

4. |   /|\

5. |   / \

6.

(Επιτρέπεται να βελτιώσετε το παραπάνω σχέδιο).

Ανάλογα με την τιμή του n (0-6) θα εμφανίζεται και αντίστοιχος αριθμός από τα μέλη του ανθρώπου.

n = 0

 

++----

|

|

|

 

n = 1

++----

|    O

|

|

 

   ...

 

n = 6

++----

|    O

|   /|\

|   / \

 

Προσπαθήστε η συνάρτησή σας να μην περιέχει επαναλαμβανόμενο κώδικα.

7. Ολοκληρώστε το πρόγραμμά σας προσθέτοντας τη συνάρτηση main με εντολές κατάλληλες για να ελέγξετε τη σωστή λειτουργία της συνάρτησης hangman.

8. Γράψτε (σε ξεχωριστό αρχείο C) πρόγραμμα το οποίο υλοποιεί το παιγνίδι "κρεμάλα" μεταξύ δύο παικτών. Συγκεκριμένα το πρόγραμμα διαβάζει από ένα χρήστη μια λέξη μέχρι 20 χαρακτήρες. Στη συνέχεια επαναλαμβάνει τα παρακάτω:

o καθαρίζει την οθόνη (τυπώνοντας 24 \n),

o ζωγραφίζει μια (αρχικά) άδεια κρεμάλα χρησιμοποιώντας τη συνάρτηση που έχετε ορίσει,

o τυπώνει τόσα αστεράκια (αρχικά) όσα και τα γράμματα της λέξης που έχει δώσει ο πρώτος χρήστης,

o ζητάει από έναν δεύτερο χρήστη να μαντέψει ένα γράμμα,

o αν το γράμμα είναι σωστό τότε το γράμμα εμφανίζεται στις αντίστοιχες θέσεις στα αστεράκια που τυπώνονται, αλλιώς αυξάνεται κατά ένα ο αριθμός των τμημάτων του σώματος που εμφανίζονται στην κρεμάλα.

Όταν ο δεύτερος παίκτης "κρεμαστεί" ή μαντέψει τη λέξη εμφανίζεται αντίστοιχο μήνυμα.

Σημείωση: για να διαβάσετε τη λέξη μπορείτε να διαβάζετε χαρακτήρες μέχρι να συναντήσετε \n.

Παράδειγμα:

Enter word: hello

 

++----

|

|

|

 

The word is: *****

Enter letter guess: a

Sorry...

 

 

 

 

++----

|    O

|

|

 

The word is: *****

Enter letter guess: e

Bravo!

 

 

 

 

++----

|    O

|

|

 

The word is: *e***

Enter letter guess: t

Sorry...

 

 

 

 

 

++----

|    O

|    |

|

 

The word is: *e***

Enter letter guess: l

Bravo!

 

 

 

 

++----

|    O

|    |

|

The word is: *ell*

Enter letter guess: t

Sorry...

 

 

 

++----

|    O

|   /|

|

The word is: *ell*

Enter letter guess:

...

Edit: Tags.


Title: Re: [Δομημένος Προγραμματισμός] Ασκηση 5 (Ημερομηνία &#
Post by: Talaipa on December 16, 2016, 21:58:39 pm
7. Ολοκληρώστε το πρόγραμμά σας προσθέτοντας τη συνάρτηση main με εντολές κατάλληλες για να ελέγξετε τη σωστή λειτουργία της συνάρτησης hangman.

8. Γράψτε (σε ξεχωριστό αρχείο C) πρόγραμμα το οποίο υλοποιεί το παιγνίδι "κρεμάλα" μεταξύ δύο παικτών. Συγκεκριμένα το πρόγραμμα διαβάζει από ένα χρήστη μια λέξη μέχρι 20 χαρακτήρες. Στη συνέχεια επαναλαμβάνει τα παρακάτω:


απ' ότι φαίνεται έχουμε να στείλουμε 2 αρχεία c! πως μπορώ να χρησιμοποιήσω ένα άλλο αρχείο εκτός απο το αρχείο που γράφω και παραλληλα να έχει ένα όρισμα;


Title: Re: [Δομημένος Προγραμματισμός] Ασκηση 5 (Ημερομηνία &#
Post by: Apostolof on December 17, 2016, 01:36:01 am
απ' ότι φαίνεται έχουμε να στείλουμε 2 αρχεία c! πως μπορώ να χρησιμοποιήσω ένα άλλο αρχείο εκτός απο το αρχείο που γράφω και παραλληλα να έχει ένα όρισμα;

Τι εννοείς ένα όρισμα;

Πάντως η ίδια άσκηση ζητήθηκε και πέρσι. Το τόπικ με την αντίστοιχη συζήτηση βρίσκεται εδώ (https://www.thmmy.gr/smf/index.php?topic=64983.msg1101434#msg1101434). Λέει C++ αλλά η άσκηση είναι σε C, μπορεί να σας βοηθήσει.


Title: Re: [Δομημένος Προγραμματισμός] Ασκηση 5 (Ημερομηνία &#
Post by: Talaipa on December 17, 2016, 13:23:12 pm
Τι εννοείς ένα όρισμα;

Πάντως η ίδια άσκηση ζητήθηκε και πέρσι. Το τόπικ με την αντίστοιχη συζήτηση βρίσκεται εδώ (https://www.thmmy.gr/smf/index.php?topic=64983.msg1101434#msg1101434). Λέει C++ αλλά η άσκηση είναι σε C,μπορεί να σας βοηθήσει.

μάλλον είπα βλακεία.. απλα στο προγραμμα που είμαι κάνω include ένα άλλο αρχείο όπου έχει μια συνάρτηση. Αυτή την συνάρτηση την παίρνω όπως είναι, για το αρχείο που βρίσκομαι τώρα!


Title: Re: [Δομημένος Προγραμματισμός] Ασκηση 5 (Ημερομηνία &#
Post by: leukosaraphs! on December 17, 2016, 13:30:49 pm
μάλλον είπα βλακεία.. απλα στο προγραμμα που είμαι κάνω include ένα άλλο αρχείο όπου έχει μια συνάρτηση. Αυτή την συνάρτηση την παίρνω όπως είναι, για το αρχείο που βρίσκομαι τώρα;

δεν χρειαζεται να την ξανα ορισεις ουτε τιποτα , απλα την καλεις ! (αν καταλαβα τι ρωτας )

(https://s28.postimg.org/huedl8p25/231.png)

(αυτο ειναι σε c++ , αλλα δεν νμζω να εχει διαφορα)

η συναρτηση game() ειναι ορισμενη στο game.h , οπου το game.h καλει την hangman που ειναι ορισμενη στο hangman.h


Title: Re: [Δομημένος Προγραμματισμός] Ασκηση 5 (Ημερομηνία Λήξης:23/12 12π.μ.)
Post by: Talaipa on December 17, 2016, 13:40:46 pm
αυτό ρωτούσα! ευχαριστώ!