Jump to content



Μαθήματα C++ [OutOfSchool 2010]


Dr.Paneas

Recommended Posts

  • Replies 87
  • Created
  • Last Reply

...μια λεπτομερεια...

οταν εκανα προγραμματισμο στη σχολη, για να χρησιμοποιησουμε το std::cout κτλ,

θυμαμαι δηλωναμε :using namespace std; πριν την main().

Τωρα για ποιο λογο δεν το δηλωνουμε;

Ευχαριστω δασκαλε :)

Link to comment
Share on other sites

ο λόγος που δεν το κάνω αυτό είναι για να κατανοήσετε καλύτερα ότι το cout (παραδειγμα) είναι εντολή που εμπεριέχεται στο namespace std . Και όλο αυτό, για να γίνει καλύτερα κατανοητή η σημασία και η έννοια της Std Library.

Πάντως σε μεγάλα προγράμματα που έχουν αρκετά namespaces όταν φτιάχνεις μια function η οποια ενδέχεται να χρησιμοποιηθεί από πολλά υποπρογράμματα, είναι κανόνας να μην γράφεις το using namespace γιατί εκεί απλά παίζουν πολλά namespaces και χάνεται ο έλεγχος. Είναι προτιμότερο να μην χρησιμοποιείς την using directive σε μεγάλα προγράμματα γιατί τότε θα καταλήξεις να γράφεις τα ίδια πράγματα τόσο στο main όσο και στο header file. Προσωπικά προτιμώ να γράφω το Namespace δίπλα από τις εντολές ώστε να ξέρω πότε κάνω χρήση της Standard Library και πότε όχι.

Παρόλα αυτά όποιος θέλει μπορεί να το χρησιμοποιεί, αφού έχουμε μικρά προγράμματα σε έκταση.

Teacher has spoken :D

Link to comment
Share on other sites

Εγω να ρωτησω κατι τωρα που μπορει να ακουστει πολ γελοιο...αφου γραψουμε αυτα που λες στο 1ο μαθημα και πατησουμε build, πρεπει να γινει κατι?...γιατι σε εμενα δεν γινεται τιποτα!..ι μετα παταω compile, μετα run και παλι τιποτα!...κανω κατι λαθος?

Link to comment
Share on other sites

Δεν σου βγάζει κάποιο μήνυμα, κάτω στο παράθυρο Log & Files, στην καρτέλα Build ;

Αν δεν τα καταφέρεις, κάνε ξανά install το CodeBlocks μήπως και δεν είδε τον compiler σωστά.

Αλλιώς δοκίμασε με το DevC++ και πες μου πάλι.

Link to comment
Share on other sites

Αν στην main συναρτηση, δηλωσεις μια μεταβλητη

int x;

και μετα πριν το κλεισιμο της main

cin >> x;

οταν εκτελεστει το προγραμμα, προτου τερματιστει, θα σου ζητησει κατι να εισαγεις.

Ετσι θα δεις το εμφανιζομενο μηνυμα hello world.

Ας μας τα πει καλυτερα ο δασκαλος :)

Link to comment
Share on other sites

Πρώτος τρόπος

// ένα μικρό C++ πρόγραμμα
#include <iostream>
int main()
{
std::cout << " hello world " << std::endl;
system("PAUSE"); // αυτό θα κάνει το exe να περιμένει.
return 0;
}

δεύτερος τρόπος

// ένα μικρό C++ πρόγραμμα
#include <iostream>
int main()
{
std::cout << " hello world " << std::endl;
std::cin.get(); // αυτό θα κάνει το exe να περιμένει.
return 0;
}

Τρίτος τρόπος

Τρέξ' το καλύτερα από cmd μέσα, γιατί αλλιώς σου βγάζει το hello world αλλά τελειώνει το πρόγραμμα μετά και κλείνει πριν προλάβεις να το δεις.
Link to comment
Share on other sites

Δάσκαλε, είπα να δω και τους άλλους 2 τρόπους και στον πρώτο λέει ότι

/home/pan/Untitled1.cpp||In function ‘int main()’:|

/home/pan/Untitled1.cpp|6|error: ‘system’ was not declared in this scope|

||=== Build finished: 1 errors, 0 warnings ===|

πρόσθεσα το <iostream> γιατι σκέτο include μου φάνηκε κάπως γυμνό :D

*έβγαζε ένα άλλο μήνυμα λάθους χωρίς το iostream

Link to comment
Share on other sites

Ελεος το vbulletin. Υπαρχει προβλημα. Αν γραψω μια λεξγ < λεξη > δεν την εμφανιζει . . . . Orion καμια βοηθεια ;

EDIT: Το < iostream > θα το βαζω με τα κενα ετσι οπως βλεπετε. Αλλιώς δεν το διαβαζει σωστα το vbulletin στο forum και ειναι σαν να μην το εχω βαλει.

Καλά που το πρόσεξες Μαύρος! This is Sparta

Link to comment
Share on other sites

Μια διευκρίνηση για όλους. Από δω και στο εξής όπου βλεπετε:

< iostream >

να ξέρετε ότι δεν ΔΕΝ ΠΡΕΠΕΙ ΝΑ ΥΠΑΡΧΕΙ κανένα κενό. Επίσης αν την γράψετε κολλητά δεν θα σας το εμφανίσει στο forum.

Για αυτό τον λόγο έχουμε μία λύση

1) και η πιο απλή

PHP Tags αντί για code tags.

Το σωστό λοιπόν είναι:

<iostream>

Προσπάθησα λίγο πιο μπελαλίδικη να χρησιμοποίειτε τα code tags, αλλά στο σημείο που είναι αν κάνετε include directives να γράφετε noparse tags πριν και μετα το iostream. Πάλι όμως δεν το εμφανίζει. . . δείτε και μόνοι σας.

[noparse]<iostream>[/noparse]

Το σωστό είναι κολλητά, χωρίς space.

Για αυτό τον λόγο θα χρησιμοποιώ@Μαύρος, με ποιο IDE έχεις πρόβλημα; Σε εμένα και οι δύο εντολές παίζουν. Είσαι σε Windows ή Linux ;

δοκίμασε

std::system("PAUSE");

Link to comment
Share on other sites

Υπόψιν για τους χρήστες windows:

Για να έχετε τον open source GCC compiler στον υπολογιστή σας, θα πρέπει είτε να εγκαταστήσετε το πακέτο MinGW (http://www.mingw.org/) είτε να κατεβάσετε και να εγκαταστήσετε το Code::BLocks που έρχεται μαζί με το MinGW: http://downloads.sourceforge.net/codeblocks/codeblocks-8.02mingw-setup.exe

Κατά την πρώτη εκτέλεση του Code:Blocks θα πρέπει να έχει βρει τον GCC compiler και να τον προτείνει ως default. Ειδάλλως δεν θα μπορείτε να κάνετε compile...

Μια άλλη λύση (η καλύτερη :D) είναι να βάλετε Linux...:D

Link to comment
Share on other sites

Οταν τρεχω το exe μεσα απο το devc++ μου λεει press any key to continue και αφου πατησω κατι κλεινει, ενω αν το τρεξω μεσω code::blocks μου λεει Process returned 0 (0x0) execution time : 1.328 s

Press any key to continue.

Ποιο απο τα δυο επερεπε να συμβαινει..επισης μεσα απο το code::blocks δεν μπορω να κανω compile oυτε build.

[ATTACH]7284[/ATTACH]

post-1847-1414343387,6739_thumb.jpg

Link to comment
Share on other sites

Υπόψιν για τους χρήστες windows:

Για να έχετε τον open source GCC compiler στον υπολογιστή σας, θα πρέπει είτε να εγκαταστήσετε το πακέτο MinGW (http://www.mingw.org/) είτε να κατεβάσετε και να εγκαταστήσετε το Code::BLocks που έρχεται μαζί με το MinGW: http://downloads.sourceforge.net/codeblocks/codeblocks-8.02mingw-setup.exe

Κατά την πρώτη εκτέλεση του Code:Blocks θα πρέπει να έχει βρει τον GCC compiler και να τον προτείνει ως default. Ειδάλλως δεν θα μπορείτε να κάνετε compile...

Μια άλλη λύση (η καλύτερη :D) είναι να βάλετε Linux...:D

redgeorge δοκίμασες την λύση του αρχηγού πιο πάνω ; ^^^^

Link to comment
Share on other sites

Κατεβασα την εκδοση με το mingw αλλα παλι δεν κανει compile...πηγα να αλλαξω τον compiler απο το menu αλλα ηταν διαφορα που ελεγαν GCC και δεν ηξερα πιο να διαλεξω...τωρα να βαλω Linux λιγο δυσκολο αλλα οχι και απιθανο.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Δημιουργία...

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.