ΕΑΡΙΝΟ ΠΡΟΓΡΑΜΜΑ 2010 ΕΡΓΑΣΗΡΙΑ C++ Βαςιλϊντα Κουμπό

Σχετικά έγγραφα
Εισαγωγή στη C++ Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα:

Βαγγϋλησ Οικονόμου Διϊλεξη 5 ΠΙΝΑΚΕΣ. Δομ. Προγραμ. - Διϊλεξη 5 1

Εντολές εισόδου - εξόδου. Εισαγωγή στη C++

«ΕΙΔΙΚΑ ΘΕΜΑΣΑ ΣΟΝ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΤΠΟΛΟΓΙΣΩΝ» Κεφϊλαιο2: Βαςικϊ ςτοιχεύα τησ γλώςςασ

ΣΤΟΙΧΕΙΑ ΤΗΣ ΓΛΩΣΣΑΣ C++ Constructors, Destructors, Pointers IO Streams, File Streams

Βαγγϋλησ Οικονόμου Διϊλεξη 6. Δομ. Προγραμ. - Συναρτόςεισ - Διϊλεξη 6

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

2 η Διάλεξη C++ Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ

Προγραμματισμός Υπολογιστών με C++

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΚΑΙ ΠΙΝΑΚΕΣ

Βαγγϋλησ Οικονόμου Διϊλεξη 4. Δομ. Προγραμ. - Διϊλεξη 4

3 η Διάλεξη C++ - Βασικοί τύποι δεδομένων. Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ

Αρχεία & Ρεύματα ΑΡΧΕΙΑ & ΡΕΥΜΑΤΑ. Γεώργιος Παπαϊωάννου ( ) gepap@aueb.gr

«ΕΙΔΙΚΑ ΘΕΜΑΣΑ ΣΟΝ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΤΠΟΛΟΓΙΣΩΝ» ΚΕΦΑΛΑΙΟ 3: ΑΝΤΙΚΕΙΜΕΝΑ ΚΑΙ ΜΕΘΟΔΟΙ

S, (5, -3, 34, -23, 7) ( *, _

Γ7.1 Επανάληψη ύλης Β Λυκείου. Γ Λυκείου Κατεύθυνσης

Χωρική Βάση δεδοµένων Autocad

Συμβολοσειρές ΣΥΜΒΟΛΟΣΕΙΡΕΣ. Γεώργιος Παπαϊωάννου ( )

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

#define, 70, 575 #elif, 580 #else, 580 #endif, 580 #error, 584 #if, 580 #ifdef, 583 #ifndef, 580, 583 #include, 70, 227, 574 #undef, 579

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

Οντοκεντρικός Προγραμματισμός

19/10/2009. Προηγοφμενη βδομάδα... Σήμερα Γεωγραφικά Συςτήματα Πληροφοριϊν Χωρικά Μοντζλα Δεδομζνων. Δομή του μαθήματοσ

Εισαγωγή στην πληροφορική

ΗΥ-150. Προγραμματισμός

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

Εισαγωγή στη γλώσσα προγραμματισμού C++

Υλοποίηςη Αλγορίθμου με υπολογιςτή - Προγραμματιςμόσ

Δομημένος Προγραμματισμός

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματιστικές τεχνικές

Οντοκεντρικός Προγραμματισμός

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΠΡΑΞΕΙΣ ΜΕΤΑΒΛΗΤΕΣ. Ακέραιοι αριθμοί (int) Πράξεις μεταξύ ακεραίων αριθμών

Μαύροσ Γιϊννησ Μαθηματικόσ

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Τύποι δεδομένων, μεταβλητές, πράξεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Αναφορές, είκτες και Αλφαριθμητικά

Streams Input / Output in C++ George Kastrinis

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

ΗΥ-150. Προγραμματισμός

Προγραμματισμός Η/Υ (ΤΛ2007 )

Ανάπτυξη και Σχεδίαση Λογισμικού

Προγραμματισμό για ΗΜΥ

Στοιχειώδης προγραμματισμός σε C++

Δομημένος Προγραμματισμός (ΤΛ1006)

18. ΡΕΥΜΑΤΑ(STREAMS) ΚΑΙ ΑΡΧΕΙΑ (FILES)

Περιεχόμενα. Πρόλογος... 21

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Οντοκεντρικός Προγραμματισμός

Αντικειμενοστραφείς Γλώσσες Προγραμματισμού C++ / ROOT

ιαφάνειες παρουσίασης #6 (β)

ΚΕΥΑΛΑΙΟ 2 Σο εςωτερικό του υπολογιςτό

Φροντιςτήριο. Linked-List

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

= 8 ενώ Shift + = * * 8

Περιεχόμενα. Πρόλογος... 17

Εισαγωγή στην πληροφορική

Διάλεξη 18η: Διαχείρηση Αρχείων

Τεχνικόσ Μαγειρικόσ Τϋχνησ Αρχιμϊγειρασ (Chef) Β Εξϊμηνο

Προγραµµατιστικές Τεχνικές

Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι είναι ; Συναρτήσεις. Παράδειγμα #1. double convert ( double cm ) { double inch;

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Περιεκτικότητα ςε θρεπτικϊ ςτοιχεύα Ικανότητα ανταλλαγόσ κατιόντων Οξύτητα εδϊφουσ (ph)

Δομή Προγράμματος C++, Χειρισμός Μεταβλητών και Συναρτήσεις Εισόδου - Εξόδου

Η εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;..

ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ.

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Προγραµµατιστικές Τεχνικές

Δομή ππογπάμμαηορ ζηη C++

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

Σελίδα 2 από Ένα γινόμενο με ύδιουσ παρϊγοντεσ μπορεύ να γραφεύ ωσ δύναμη, π.χ =

Ειςαγωγή ςτην Πληροφορική των Επιχειρήςεων

Υπερφόρτωση τελεστών (operator(

Κεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12)

Πανεπιςτήμιο Πελοποννήςου Τμήμα Επιςτήμησ και Τεχνολογίασ Τηλεπικοινωνιών. Λειτουργικά Συςτήματα Προγραμματιςμόσ Συςτήματοσ.

Εισαγωγή στην πληροφορική

Συναρτήσεις και διαδικασίες

Τύποι Δεδομένων Είσοδος/Έξοδος

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 3-2

Συναρτήσεις και Πίνακες

Προγραμματισμός Η/Υ (ΤΛ2007 )

NetMasterII ςύςτημα μόνιμησ εγκατϊςταςησ επιτόρηςη και καταγραφό ςημϊτων από αιςθητόρια και μετατροπεύσ κϊθε εύδουσ ςύςτημα ειδοπούηςησ βλϊβη

Προγραμματισμός Υπολογιστών με C++

Προγραμματισμός Ι. Εισαγωγή στην C++ Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι (ΗΥ120)

Κεφάλαιο , 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Εισαγωγή στον Προγραμματισμό

Προγραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Αντανάκλαςη Συναιςθημάτων. Μαρία Ιωάννα Αργυροπούλου Έλενα Παππά

TMHMA TEXNΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛ/ΝΙΩΝ Προγραμματισμός Ι ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ , Α ΕΞΑΜΗΝΟ Βασίλης Μποζαντζής. Βασίλης Μποζαντζής

Προγραμματισμός Η/Υ (ΤΛ2007 )

Γ7.2 Συμβολοσειρές (Strings) Γ Λυκείου Κατεύθυνσης

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Transcript:

ΕΑΡΙΝΟ ΠΡΟΓΡΑΜΜΑ 2010 ΕΡΓΑΣΗΡΙΑ C++ Βαςιλϊντα Κουμπό 1

Θϋματα 1 ου Προεργαςτηρύου Περιβϊλλον Dev C++ Εγγραφό μηνυμϊτων ςτην οθόνη και ςε αρχεύο Βαςικού τύποι δεδομϋνων-μεταβλητϋσ, προτεραιότητα τελεςτών Ειςαγωγό τιμών από πληκτρολόγιο και αρχεύο Βιβλιοθόκεσ <iomanip>, <cmath>, <ctime> Μαθηματικϋσ ςυναρτόςεισ-τυχαύοι αριθμού Ένα απλό if ςχεςιακού τελεςτϋσ 2

C και C++ Από την C η C++ διατηρεύ : τουσ βαςικούσ τύπουσ δεδομϋνων char,int, long, short, float,double, long double τουσ τελεςτϋσ +, -, *, /, %, <, >, κλπ, με τη γνωςτό ςειρϊ προτεραιότητασ. εληνιέο ξνήο όπσο if, if-else, switch, while, for, θιπ. Όπωσ και ςτη C, ϋνα C++ πρόγραμμα αποτελεύται από μια ςυλλογή οριςμών, δηλώςεων και ςυναρτήςεων η οπούα μπορεύ να εύναι διαμεριςμϋνη ςε περιςςότερα από ϋνα αρχεύα. χόλια ςτη C++ περικλεύονται ςε /* */. Εναλλακτικϊ οι χαρακτόρεσ // μπορούν να χρηςιμοποιηθούν ςτην αρχό μιασ γραμμόσ για να δηλώςουν ότι η ςυγκεκριμϋνη γραμμό εύναι ςχόλιο. Κϊθε μεταβλητό ςε ϋνα πρόγραμμα C++ πρϋπει να οριςθεύ. 3

Βαςικοί τύποι Δεδομένων char (sizeof) 1 byte short μικρόσ ακϋραιοσ 2 bytes από -32.768 ϋωσ 32.767 int ακϋραιοσ 4 bytes από -2.147.438.648 ϋωσ -+2.147.438.648 long μεγϊλοσ ακϋραιοσ float πραγματικόσ 4 bytes από -2.147.438.648 ϋωσ -+2.147.438.648 4 bytes Από 3.4x10-38 ϋωσ 3.4x10 38 με ακρύβεια 7 δεκαδικών ψηφύων double πραγματικόσ διπλόσ ακρύβειασ long double πραγματικόσ διπλόσ ακρύβειασ 8 bytes από 1.7x10-308 ϋωσ 1.7x10 308, με 15 δεκαδικϊ ψηφύα 12 bytes από 1.2x10-4932 ϋωσ 1.2x10 4932, με 19 δεκαδικϊ ψηφύα 4

Προτεραιότητεσ τελεςτών 5

Ο τύποσ Bool Η C++ περιϋχει τον τύπο bool Ο τύποσ bool έχει δύο ςταθερέσ true false Οι λογικού τελεςτϋσ εύναι, όπωσ και ςτην C, οι &&,,! Επύςησ ιςχύει ότι, μια λογικό ϋκφραςη ϋχει τιμό false αν η τιμό τησ ϋκφραςησ εύναι 0. Διαφορετικϊ, αν ϋχει μη-μηδενικό τιμό τότε η λογικό τιμό τησ ϋκφραςησ εύναι true. 6

Συμβολοςειρέσ και ςταθερέσ υμβολοςειρϋσ: Όπωσ και ςτην C μια ςυμβολοςειρϊ εύναι μια ακολουθύα από χαρακτόρεσ που περικλεύεται ςε.... Κατϊ την αποθόκευςη μιασ τϋτοιασ ςταθερϊσ κϊθε χαρακτόρασ αποθηκεύεται ςε ςυνεχόμενα κουτιϊ μνόμησ ακολουθούμενη από τον χαρακτόρα ('\0') ο οπούοσ ςηματοδοτεύ το τϋλοσ τησ ακολουθύασ. ταθερϋσ: Η δεςμευμϋνη λϋξη const μπορεύ να χρηςιμοποιηθεύ για τη δημιουργύα ςταθερών τιμών ςε ϋνα C++ πρόγραμμα. Χρόςη του ϋχει ςαν αποτϋλεςμα ότι η τιμό του οριζόμενου αντικειμϋνου δεν μπορεύ να αλλαχθεύ αλλϊ μόνο να διαβαςτεύ. const float Pi = 3.1415; const int SampleSize = 100; macros: #define star * ; 7

Είςοδοσ/Έξοδοσ Μια διαφορϊ ανϊμεςα ςτισ C και C++ εύναι η μϋθοδοσ ειςόδου και εξόδου χαρακτόρων. υγκεκριμϋνα, η C++ δεν περιϋχει ςυναρτόςεισ όπωσ η scanf, printf, fprintf, fscanf, getc για την εύςοδο και ϋξοδο χαρακτόρων από και προσ τα ρεύματα ροόσ. Για επύτευξη αυτού του ςτόχου η C++ χρηςιμοποιεύ αντικεύμενα που εύναι οριςμϋνα ςε βιβλιοθόκεσ τησ γλώςςασ και μεθόδουσ των αντικειμϋνων αυτών. Σα πιο κϊτω αντικεύμενα εύναι οριςμϋνα ςτη βιβλιοθόκη iostream. cin, εύναι αντικεύμενο που αντιςτοιχεύ ςτο ρεύμα ειςόδου. cout, εύναι αντικεύμενο που αντιςτοιχεύ ςτο ρεύμα εξόδου. Για εγγραφό και ανϊγνωςη από και προσ τα αντικεύμενα αυτϊ δηλαδό προσ και από τα ρεύματα ειςόδου και εξόδου υπϊρχουν oριςμϋνοι οι τελεςτϋσ << και >> (υπερφοτωμϋνοι) 8

Εκβέιεηα κεηαβιεηώλ void f() { int i = 1; cout << i << endl; // insert 1 { } int j = 10; cout << i << j << endl; // insert 1 10 i = 2; cout << i << j << endl // insert 2 10 } cout << i << endl; // insert 2 cout << j << endl; // illegal 9

int i = 1; int main f() { cout << i << endl; // insert 1 char i = 'a'; cout << i << endl; // insert a::i = 2; cout << i << endl; // insert a cout << ::i << endl; // insert 2 } return 0; 10

Είςοδοσ/Έξoδοσ Ο τελεςτόσ ειςαγωγόσ, ειςαγϊγει ςτον αριςτερό του τελεςτϋο τον δεξιό του τελεςτϋο: cout << ϋκφραςη, και O τελεςτόσ εξαγωγόσ, εξαγϊγει από τον αριςτερό του τελεςτϋο αντικεύμενο που τοποθετεύ ςτον δεξιό τελεςτϋο: cin >> ϋκφραςη. Οι δύο αυτού τελεςτϋσ μπορούν να γρϊψουν ό να διαβϊςουν ςτοιχεύα οποιουδόποτε από τουσ βαςικούσ τύπουσ τησ C++. Έτςι για παρϊδειγμα η ϋκφραςη cout << Hello!\n ϋχει ςαν αποτϋλεςμα την ειςαγωγό τησ ςυμβολοςειρϊσ Hello!\n ςτη ροό εξόδου του προγρϊμματοσ. Οι τελεςτϋσ << και >> μπορούν να χρηςιμοποιηθούν περιςςότερεσ από μια φορϊ ςε μια εντολό. Για παρϊδειγμa: cout << Insertion operations << can be << cascaded 11

#include <iostream> int main() { // διαζηάζεις length and width cout << "Rectangle dimensions: "; float Length; float Width; Οριςμού cin >> Length >> Width; // Υπολογιζμός και ηιμή για area float Area = Length * Width; Ειςαγωγό Οριςμόσ με αρχικοπούηςη } cout << "Area = " << Area << " = Length " << Length << " * Width " << Width << endl ; return 0; 12

Αποτέλεςμα εκτέλεςησ του προγράμματοσ 13

Η κλάςη string H C++ επιτρϋπει τη δημιουργύα νϋων τύπων και κλϊςεων. Ο προγραμματιςτόσ μπορεύ να δημιουργήςει νέουσ, δικούσ του τύπουσ/κλϊςεισ ό να χρηςιμοποιόςει όδη ϋτοιμεσ κλϊςεισ που προςφϋρονται ςτισ βιβλιοθόκεσ τησ γλώςςασ. Παράδειγμα είναι η κλάςη string χρηςιμοποιεύται για να απεικονύςει μια ακολουθύα χαρακτόρων ωσ ϋνα μόνο αντικεύμενο. Παραδεύγματα οριςμών και αρχικοποιόςεων: string Name = "Joanne"; string DecimalPoint = "."; string Question = '?'; // illegal 14

Χρήςιμεσ Βιβλιοθήκεσ iostream Για επεξεργαςύα ρευμϊτων ροόσ fstream Για επεξεργαςύα αρχεύων iomanip Για φορμαριςμϋνη εύςοδο και ϋξοδο δεδομϋνων ctype Βιβλιοθόκη βαςιςμϋνη ςε βιβλιοθόκη C για επεξεργαςύα χαρακτόρων math Βιβλιοθόκη βαςιςμϋνη ςε βιβλιοθόκη C που περιϋχει τριγωνομετρικϋσ, λογαριθμικϋσ και ϊλλεσ ςυναρτόςεισ Η C++ ϋχει και πολλϋσ ϊλλεσ βιβλιοθόκεσ 15

Βιβλιοθήκη iostream Περιϋχει ϋνα ςύνολο κλϊςεων που χρηςιμοποιούνται για δημιουργύα αντικειμϋνων που αντιςτοιχούν ςε ρεύματα ειςόδου και εξόδου. Σα αντικεύμενα cin και cout (cerr και clog) εύναι ςτιγμιότυπα κλϊςεων που ανόκουν ςτο iostream, και δημιουργούνται αυτόματα όταν ξεκινϊει η εκτϋλεςη ενόσ προγρϊμματοσ. Η βιβλιοθόκη επύςησ περιϋχει κϊποιουσ χειριςτϋσ (manipulators) που περιλαμβϊνουν dec endl ends flush oct εμφανύζει αριθμητικϋσ τιμϋσ ςε δεκαδικό μορφό προςθϋτει το χαρακτόρα \n ςτην ροό την οπούα και κϊνει flush προςθϋτει το χαρακτόρα NULL ςτην ροό την οπούα και κϊνει flush κϊνει flush το ρεύμα ροόσ εμφανύζει αριθμητικϋσ τιμϋσ ςε οκταδικό μορφό 16

H βιβλιοθήκη iomanip Οξίδεη έλα ζύλνιν από ρεηξηζηέο (manipulators) ξεπκάησλ ξνήο πνπ επηδξνύλ πάλσ ζηε ζπκπεξηθνξά ηεο εηζόδνπ θαη εμόδνπ δεδνκέλσλ. Εθηόο από ην setw() όια ηα ππόινηπα είλαη εμαθνινπζεηηθά (persistent), δειαδή παξακέλνπλ ζε ηζρύ κέρξη ηελ εθαξκνγή θάπνηνπ άιινπ manipulator πνπ αιιάδεη ηε ζπκπεξηθνξά ηνπ ξεύκαηνο. Μεξηθνί από ηνπο ρεηξηζηέο δελ είλαη πινπνηεκέλνη από όινπο ηνπο compiler C++. 17

H βιβλιοθόκη iomanip setw(int x) θϋτει το μόκοσ του πεδύου που θα τυπωθεύ ςε x setfill(int c) θϋτει τον χαρακτόρα γεμύςματοσ θϋςεων ςε c setbase(int b) θϋτει το b ωσ βϊςη των εμφανιζόμενων αριθμών fixed εμφανύζει τη δεκαδικό τιμό πραγματικών αριθμών setprecision(int d) θϋτει το d ωσ τον αριθμό θϋςεων ακρύβειασ skipws τα κενϊ αγνοούνται κατϊ τισ εξαγωγϋσ noskipws τα κενϊ δεν αγνοούνται 18

Παραδεύγματα cout << setfill( # ) << setw(15) << Hello << endl; ##########Hello int number = 9; int base = 8; cout << number << in base 10 is << setbase(base) << number << in base << dec << base << endl ; 9 in base 10 is 11 in base 8 cout << 1000000000000.0 << endl; cout << 0.0000000000001 << endl ; cout << 921.8 << endl; cout << fixed << 1000000000000.0 << endl; cout << 0.0000000000001 << endl ; cout << 921.8 << endl; 1e+012 1000000000000.000000 1e-013 0.000000 921.8 921.800000 19

cout << setprecision(6) << 12.01234 << endl << 12.0123 << endl << 12.012 << endl << 12.01 << endl << 12.0 << endl; 12.0123 12.0123 12.012 12.01 Παραδεύγματα 20

Η βιβλιοθόκη fstream Οξίδεη ηηο θιάζεηο ifstream, ofstream, θαη fstream, ζηηγκηόηππα ησλ νπνίσλ είλαη αληηθείκελα πνπ αλαπαξαζηνύλ ξεύκαηα ξνήο γηα αλάγλσζε από θαη γξάςηκν πξνο αξρεία. Γηα ηε δεκηνπξγία ελόο ξεύκαηνο ξνήο γηα αλάγλσζε ζηνηρείσλ από έλα αξρείν ζα πξέπεη λα δεκηνπξγήζνπκε έλα αληηθείκελν ηύπνπ ifstream. Γηα παξάδεηγκα, ε πην θάησ εληνιή αλνίγεη γηα αλάγλσζε ην αξρείν file.txt, δεκηνπξγώληαο ην aληηθείκελν ηύπνπ ifstream fin: ifstream fin( file.txt ); Παξόκνηα γηα εγγξαθή πξνο ην αξρείν file2.txt ζα πξέπεη λα δεκηνπξγήζνπκε αληηθείκελν ηύπνπ ofstream: ofstream fout( file2.txt ); 21

Η βηβιηνζήθε fstream Αλάγλσζε θαη εγγξαθή κέζσ ησλ δεκηνπξγεζέλησλ ξεπκάησλ κπνξνύλ λα γίλνπλ κέζσ ησλ ηειεζηώλ << θαη >>. Πξνζνρή: ε δεκηνπξγία ελόο ξεύκαηνο ofstream πξνο έλα αληηθείκελν έρεη σο απνηέιεζκα ηε δηαγξαθή ησλ πεξηερνκέλσλ ηνπ. Η C++ δίλεη ηελ δπλαηόηεηα λα γξάςνπκε ζην ηέινο ελόο αξρείνπ (append) δεκηνπξγώληαο ξεύκα ξνήο σο εμήο: ofstream myout( file.txt, (ios::out ios::app)); 22

#include <fstream> // file stream library #include <string> int main() { ifstream fin("mydata.txt"); int ValuesProcessed = 0; float ValueSum = 0; float Value; while (fin >> Value) { ValueSum += Value; ++ValuesProcessed; } } if (ValuesProcessed > 0) { ofstream fout("average.txt"); float Average = ValueSum / ValuesProcessed; fout << "Average: " << Average << endl; } else cerr << "No list to average" << endl; return 0; 23

ifstream sin("in1.txt"); ofstream sout("out1.txt"); string s; while (sin >> s) { sout << s << endl; } sin.close(); sout.close(); if (!sin) { cerr<< cannot open In1.txt ; exit(1); } sin.open("in2.txt"); sout.open("out2.txt,(ios::out ios::app)); while (sin >> s) { sout << s << endl; } sin.close(); sout.close(); 24