Γλώσσα C-Προτάσεις ελέγχου-Βρόχοι ....

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: Super-Moderators, WebDev Moderators

Απάντηση
Άβαταρ μέλους
vspartan
Δημοσιεύσεις: 57
Εγγραφή: 03 Δεκ 2007 03:18

Γλώσσα C-Προτάσεις ελέγχου-Βρόχοι ....

Δημοσίευση από vspartan » 31 Μάιος 2008 19:58

Χρησιμοποιώ τον Dev για να κάνω τις ασκήσεις στην C.Θέλω να μου πέιτε αν σκέφτομαι σωστά την <εκφώνηση> και την λύση της εν λόγω άσκησης.

Κώδικας: Επιλογή όλων

#include <stdio.h>
void main &#40;&#41;
&#123;
int ak;

printf&#40;"dwse enan int\n"&#41;;
scanf&#40;"%d",&ak&#41;;

if&#40;ak>6&#41;
if&#40;ak<12&#41;
printf&#40;"plisiazies\n"&#41;;
else
printf&#40;"exases ena giro\n"&#41;;


system &#40;"pause"&#41;;
return 0;
&#125;

1)Εχω δηλώσει μία ακεραια μεταβλητή την ak.
2)Ακολουθούν οι εντολές printf-στην οποία ο χρήστης πληκτρολογεί έναν αριθμό και αμέσως μετά η scanf η οποία διαβάζει τον αριθμό αυτό.
3)if(ak>6)-> αν είναι αληθής η παράσταση,τότε θα <εκτελεστεί> η αμέσως επόμενη εντολή δλδ η αμέσως επόμενη if(ak<12),ενώ αν δεν είναι αληθής τότε δεν θα εκτελεστεί και θα πάει στο else και θα εκτελέσει την εντολή Printf.

Σωστά το διατύπωσα?
Οι Θερμοπύλες απέδειξαν ότι υπάρχουν πολλοί άνθρωποι,αλλά ολίγοι άνδρες.

Άβαταρ μέλους
nirvana
Δημοσιεύσεις: 241
Εγγραφή: 01 Σεπ 2005 18:28
Τοποθεσία: Αγ. Παρασκευή

Γλώσσα C-Προτάσεις ελέγχου-Βρόχοι ....

Δημοσίευση από nirvana » 31 Μάιος 2008 22:51

Γιατι δεν βαζεις ομως αγκύλες στα if-else σου? ;)

Κώδικας: Επιλογή όλων

if&#40;ak>6&#41;&#123;
     if&#40;ak<12&#41;&#123;
          printf&#40;"plisiazies\n"&#41;;
     &#125;
&#125;
else&#123;
     printf&#40;"exases ena giro\n"&#41;;
&#125;
Η αλήθεια είναι οτι δεν χρειαζονται ολες αυτες οι αγκύλες αναγκαστικα αλλα ετσι γινεται ξεκαθαρος ο κωδικας. Αλλωστε τσαμπα ειναι. :P

Ετσι οπως το ειχες το else πηγαινε στο if(ak<12). Και λογικα θα πρεπει να σου εβγαζε λαθη..

Άβαταρ μέλους
vspartan
Δημοσιεύσεις: 57
Εγγραφή: 03 Δεκ 2007 03:18

Γλώσσα C-Προτάσεις ελέγχου-Βρόχοι ....

Δημοσίευση από vspartan » 31 Μάιος 2008 23:31

Κώδικας: Επιλογή όλων

#include <stdio.h>
void main &#40;&#41;
&#123;
int ak;

printf&#40;"dwse enan int\n"&#41;;
scanf&#40;"%d",&ak&#41;;

if&#40;ak>6&#41;
&#123;                                 
if&#40;ak<12&#41;
printf&#40;"plisiazies\n"&#41;;
&#125;                                     
else
printf&#40;"exases ena giro\n"&#41;;


system &#40;"pause"&#41;;
return 0;
&#125;
Αυτό το νέο κομμάτι δεν είναι <ισοδύναμο> με τον αρχικο κώδικα που έγραψα?
Πρόσθεσα τις αγγύλες μετά απο το 1 If. :P
Οι Θερμοπύλες απέδειξαν ότι υπάρχουν πολλοί άνθρωποι,αλλά ολίγοι άνδρες.

Άβαταρ μέλους
Basilakis
PHP Moderator
Δημοσιεύσεις: 8574
Εγγραφή: 17 Νοέμ 2003 13:03
Τοποθεσία: Womans' Brain
Επικοινωνία:

Γλώσσα C-Προτάσεις ελέγχου-Βρόχοι ....

Δημοσίευση από Basilakis » 01 Ιουν 2008 03:14

Κώδικας: Επιλογή όλων

#include <stdio.h>
void main &#40;&#41;
&#123;
int ak;

printf&#40;"dwse enan int\n"&#41;;
scanf&#40;"%d",&ak&#41;;

if&#40;ak>6 || ak<12&#41;
&#123;                                 
printf&#40;"plisiazies\n"&#41;;
&#125;         
                            
else
printf&#40;"exases ena giro\n"&#41;;


system &#40;"pause"&#41;;
return 0;
&#125;

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Γλώσσα C-Προτάσεις ελέγχου-Βρόχοι ....

Δημοσίευση από dva_dev » 01 Ιουν 2008 11:01

Basilakisweb έγραψε:

Κώδικας: Επιλογή όλων

...
if&#40;ak>6 || ak<12&#41;
...
Αυτό δεν μου φαίνεται σωστό. Οποιον αριθμό και να δώσεις ή θα είναι μεγαλύτερος του 6 ή μικρότερος του 12 ή και τα δύο μαζί.

Άβαταρ μέλους
vspartan
Δημοσιεύσεις: 57
Εγγραφή: 03 Δεκ 2007 03:18

Γλώσσα C-Προτάσεις ελέγχου-Βρόχοι ....

Δημοσίευση από vspartan » 01 Ιουν 2008 13:02

Ο κώδικας του Basilakisweb,δεν νομίζω να είναι σωστός.Θα συμφωνήσω με τον dva_dev.

Κώδικας: Επιλογή όλων

#include <stdio.h>
void main &#40;&#41;
&#123;
int ak;

printf&#40;"dwse enan int\n"&#41;;
scanf&#40;"%d",&ak&#41;;

if&#40;ak>6 || ak<12&#41;
&#123;                                 
printf&#40;"plisiazies\n"&#41;;
&#125;         
                           
else
printf&#40;"exases ena giro\n"&#41;;


system &#40;"pause"&#41;;
return 0;
&#125; 
Εκανα μία τροποποίηση:

Κώδικας: Επιλογή όλων

#include <stdio.h>

main &#40;&#41;
&#123;
int ak;

printf&#40;"dwse enan int\n"&#41;;
scanf&#40;"%d",&ak&#41;;

if&#40;ak>6 && ak<12&#41;
printf&#40;"plisiazies\n"&#41;;
                                   
else
printf&#40;"exases ena giro\n"&#41;;

system &#40;"pause"&#41;;
return 0;
&#125; 
Εβαλα αντί για ||, && και επίσης έβγαλα στην πρώτη if τις αγγύλες μιας και τις θεώρησα άσκοπες,θα τις έβαζα αν είχα ένα <γκρουπ> εντολών.
Οι Θερμοπύλες απέδειξαν ότι υπάρχουν πολλοί άνθρωποι,αλλά ολίγοι άνδρες.

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες