SlideShare a Scribd company logo
H ΓΛΩΣΣΑ C
Μάθηµα 15:
Είσοδος/Έξοδος: Συναρτήσεις Εισόδου
∆ηµήτρης Ψούνης
Περιεχόµενα Μαθήµατος
Α. Ροές
1. Γενικά
2. Η ροή προκαθορισµένης εισόδου stdin
3. Η ροή προκαθορισµένης εξόδου stdout
4. Η ροή προκαθορισµένης εξόδου λαθών stderr
Β. Συναρτήσεις ροής εισόδου stdin
1. Γενικά
2. Η συνάρτηση getchar()
3. Η συνάρτηση getch()
4. Η συνάρτηση getche()
5. H συνάρτηση ungetc()
6. Η συνάρτηση gets()
7. Η συνάρτηση fgets()
8. Η συνάρτηση scanf()
9. Η συνάρτηση fflush()
2∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
A. Ροές
1. Γενικά
3∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
Η είσοδος και η έξοδος στην C, γίνεται µέσω ροών (streams).
Μία ροή είναι µια ακολουθία χαρακτήρων η οποία είναι εν αναµονή για να την
χρησιµοποιήσουµε ανάλογα µε την θέλησή µας.
Ήδη (χωρίς να το γνωρίζουµε) έχουµε χρησιµοποιήσει δύο ροές:
Την προκαθορισµένη ροή εισόδου (stdin) από την οποία διαβάζουµε χαρακτήρες από το
πληκτρολόγιο.
Την προκαθορισµένη ροή εξόδου (stdout) στην οποία γράφουµε χαρακτήρες στην οθόνη.
stdout
stdin
A. Ροές
1. Γενικά
4∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
Κάθε ροή της C λοιπόν είναι µια ακολουθία χαρακτήρων την οποία µπορούµε να διαχειριστούµε
από το πρόγραµµά µας. Πέρα από τις 2 σηµαντικές ροές που έχουµε δουλέψει έχουν οριστεί
πολλές ακόµη ροές που µπορούν να διαχειριστούν είσοδο/έξοδο από και πρός άλλες συσκευές,
π.χ
stdout
stdin
printer
DVD-ROM
HARD DISK
A. Ροές
2. Η ροή προκαθορισµένης εισόδου stdin
5∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
H ANSI C (διεθνές πρότυπο µε τις βασικές λειτουργίες που πρέπει να έχει κάθε µεταγλωττιστής
της C) ορίζει ότι οι παρακάτω 5 ροές υπάρχουν σε κάθε υλοποίηση της C:
Οι ροές µε * χρησιµοποιούνταν σε παλιότερες εκδόσεις του DOS και θεωρούνται πλέον
παρωχηµένες.
Όνοµα Ροή Συσκευή
stdin Προκαθορισµένη Είσοδος Πληκτρολόγιο
stdout Προκαθορισµένη Έξοδος Οθόνη
stderr Προκαθορισµένο Λάθος Οθόνη
stdprn* Προκαθορισµένος Εκτυπωτής Εκτυπωτής (LPT1)
stdaux* Προκαθορισµένο Βοήθηµα Σειριακή Θύρα (COM1)
A. Ροές
2. Η ροή προκαθορισµένης εισόδου stdin
6∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
Καλό είναι να σκεφτόµαστε την stdin σαν µια «σωλήνα» η οποία συνδέει το πληκτρολόγιο µε το
πρόγραµµά µας
Π.χ. Η συνάρτηση scanf που µάθαµε, διαβάζει τόσους χαρακτήρες από την stdin, όσοι
καθορίζονται από τον προσδιοριστη που έχουµε θέσει σαν 1o όρισµα. Αν ο χρήστης έχει εισάγει
περισσότερους χαρακτήρες τότε αυτοί παραµένουν στην stdin για επόµενο διάβασµα από
κάποια εντολή διαχείρισης της προκαθορισµένης εισόδου.
Θα δούµε και άλλες συναρτήσεις που διαχειρίζονται την προκαθορισµένη είσοδο.
stdin
11223 xyzw 223
A. Ροές
3. Η ροή προκαθορισµένης εισόδου stdout
7∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
Αντίστοιχα η stdout είναι µία «σωλήνα» που συνδέει το πρόγραµµα µας µε την οθόνη του
υπολογιστή.
Π.χ. Η συνάρτηση puts, τοποθετεί στην stdout την συµβολοσειρά που δέχεται ως όρισµα και
δίνει εντολή να τυπωθούν οι χαρακτήρες που βρίσκονται στην stdout στην οθόνη.
stdout
A. Ροές
4. Η ροή προκαθορισµένης εξόδου λαθών stderr.
8∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
Η stderr είναι µια αυτόνοµη ροή που λειτουργεί όπως η stdout, στην οποία γράφουµε µηνύµατα
λάθους εκτέλεσης του προγράµµατός µας.
Σε µεγάλα προγράµµατα είναι συχνό να σταµατάνε να λειτουργούν για λόγους που δεν είναι
απαραίτητα προγραµµατιστικά λάθη (π.χ. Αδυναµία δέσµευσης µνήµης, αποτυχία υλικού,
ασύγχρονης επικοινωνίας κ.λπ.)
Προκειµένου να µην µπερδευτούν τα µηνύµατα που θέλουµε να προβάλλουµε στην οθόνη, µε
τα σηµαντικά µηνύµατα αστοχίας του προγράµµατος, η C ορίζει αυτήν την βοηθητική ροή, για
να γίνει διαχωρισµός της εξόδου προγράµµατος, από τα µηνύµατα λάθους.
stderr
B. Συναρτήσεις Ροής Εισόδου
1. Σύνοψη
9∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
H C µας παρέχει µία σειρά από συναρτήσεις για να διαχειριστούµε την είσοδο από το
πληκτρολόγιο.
∆ύο είναι τα βασικά χαρακτηριστικά των συναρτήσεων που πρέπει να έχουµε υπόψη µας:
Αν οι χαρακτήρες που πληκτρολογούµε µένουν σε έναν προσωρινό χώρο αποθήκευσης
και πηγαίνουν στην stdin πατώντας Enter, ή αν κάθε χαρακτήρας που πληκτρολογούµε
πηγαίνει κατευθείαν στην stdin. Το χαρακτηριστικό αυτό θα το ονοµάσουµε ενδιάµεση
αποθήκευση χαρακτήρων
Αν ότι πληκτρολογούµε προβάλλεται ταυτόχρονα και στην οθόνη ή όχι. Το χαρακτηριστικό
αυτό θα το ονοµάσουµε προβολή χαρακτήρων
B. Συναρτήσεις Ροής Εισόδου
1. Σύνοψη
10∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
Ας ρίξουµε µια πρώτη µατιά στις συναρτήσεις που θα µελετήσουµε στις επόµενες διαφάνειες:
Όνοµα Λειτουργία Ενδιάµεση
Αποθήκευση
Χαρακτήρων
Προβολή
Χαρακτήρων
Βιβλιοθήκη
getchar ∆ιάβασµα ενός χαρακτήρα
εισόδου
NAI NAI stdio.h
getch ∆ιάβασµα ενός χαρακτήρα
εισόδου
ΟΧΙ ΟΧΙ conio.h
getche ∆ιάβασµα ενός χαρακτήρα
εισόδου
ΟΧΙ Ν ΑΙ conio.h
ungetc Αναίρεση λήψης
χαρακτήρα
- - stdio.h
gets ∆ιάβασµα Συµβολοσειράς ΝΑΙ ΝΑΙ stdio.h
fgets ∆ιάβασµα Συµβολοσειράς ΝΑΙ ΝΑΙ stdio.h
scanf ∆ιάβασµα Συµβολοσειράς NAI NAI stdio.h
B. Συναρτήσεις Ροής Εισόδου
2. Η συνάρτηση getchar()
11∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
Το πρωτότυπο της συνάρτησης getchar είναι:
Και έχει οριστεί στη βιβλιοθήκη:
Η συνάρτηση διαβάζει έναν χαρακτήρα από την stdin και επιστρέφει τον ASCII κωδικό της.
Λειτουργεί µε ενδιάµεση αποθήκευση χαρακτήρων, άρα αναµένει από εµάς να
πληκτρολογήσουµε Enter για να καταχωρηθούν οι χαρακτήρες στην stdin.
Προβάλλει τους χαρακτήρες που πληκτρολογούµε στην οθόνη.
int getchar()
stdio.h
B. Συναρτήσεις Ροής Εισόδου
2. Η συνάρτηση getchar()
12∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση getchar
Ο χρήστης εισάγει µία συµβολοσειρά και στην συνέχεια πατάει Enter.
Η είσοδος αποθηκεύεται στην stdin και περνάει στο πρόγραµµα µόλις ο χρήστης πατήσει Enter.
/* getchar.c: Epideiksi tis entolis getchar */
#include <stdio.h>
main()
{
char c;
c=getchar();
while(c!='x')
{
printf("%c,",c);
c=getchar();
}
printf("%c.",c);
}
B. Συναρτήσεις Ροής Εισόδου
3. Η συνάρτηση getch ()
13∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
Το πρωτότυπο της συνάρτησης getch είναι:
Και έχει οριστεί στη βιβλιοθήκη:
Η συνάρτηση διαβάζει έναν χαρακτήρα από την stdin και επιστρέφει τον ASCII κωδικό της.
Λειτουργεί χωρίς ενδιάµεση αποθήκευση χαρακτήρων, άρα µε το που πατάµε έναν
χαρακτήρα αυτός αποθηκεύεται στην stdin.
∆εν προβάλλει τους χαρακτήρες που πληκτρολογούµε στην οθόνη!!
Προσοχή! Το αρχείο κεφαλίδας conio.h δεν είναι µέρος της ANSI C, άρα δεν είναι απαραίτητο
να υπάρχει σε οποιονδήποτε µεταγλωττιστή. Ωστόσο το DEV-C++ την ενσωµατώνει, άρα
µπορούµε να την χρησιµοποιήσουµε κανονικά!
int getch ()
conio.h
B. Συναρτήσεις Ροής Εισόδου
3. Η συνάρτηση getch ()
14∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση getch
Ο χρήστης πληκτρολογεί µία συµβολοσειρά.
Η είσοδος ∆ΕΝ αποθηκεύεται στην stdin και η πληκτρολόγηση κάθε χαρακτήρα διαβάζεται
αµέσως από την getch()
/* getch.c: Epideiksi tis entolis getch */
#include <stdio.h>
#include <conio.h>
main()
{
char c;
c=getch();
while(c!='x')
{
printf("%c,",c);
c=getch();
}
printf("%c.",c);
}
B. Συναρτήσεις Ροής Εισόδου
4. Η συνάρτηση getche ()
15∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
Το πρωτότυπο της συνάρτησης getche είναι:
Και έχει οριστεί στη βιβλιοθήκη:
Η συνάρτηση λειτουργεί µε τον ίδιο τρόπο µε την getch() µε την διαφορά ότι προβάλλει τον
χαρακτήρα που πληκτρολογούµε στην οθόνη.
Μεταγλωττίστε και εκτελέστε το πρόγραµµα getche.c που δείχνει την λειτουργία της και την
διαφορά από την εντολή getch.
int getche ()
conio.h
B. Συναρτήσεις Ροής Εισόδου
4. Η συνάρτηση getche ()
16∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση getche
Ο χρήστης πληκτρολογεί µία συµβολοσειρά.
Η είσοδος ∆ΕΝ αποθηκεύεται στην stdin και η πληκτρολόγηση κάθε χαρακτήρα διαβάζεται
αµέσως από την getche(). Όταν πληκτρολογούµε τον χαρακτήρα προβάλλεται στην οθόνη.
/* getche.c: Epideiksi tis entolis getch */
#include <stdio.h>
#include <conio.h>
main()
{
char c;
c=getche();
while(c!='x')
{
printf("%c,",c);
c=getche();
}
printf("%c.",c);
}
B. Συναρτήσεις Ροής Εισόδου
5. Η συνάρτηση ungetc()
17∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
Το πρωτότυπο της συνάρτησης ungetc είναι :
Και έχει οριστεί στη βιβλιοθήκη:
Η συνάρτηση ungetc αναιρεί την λήψη του χαρακτήρα ch από την ροή fp
Θα δούµε σε επόµενο µάθηµα, ότι µπορούµε να καθορίσουµε και ροές εισόδου από
αρχεία και γι’ αυτό ως 2ο όρισµα µπορούµε να ορίσουµε και ροή αρχείου.
Για να αναιρέσουµε λήψη από την stdin, απλά γράφουµε ως δεύτερο όρισµα τη ροή stdin.
Η συνάρτηση πρακτικά επανατοποθετεί στην ροή stdin τον χαρακτήρα ch που διάβασε.
Στο παράδειγµα της επόµενης διαφάνειας βλέπουµε πως χρησιµοποιούµε την ungetc.
int ungetc(int ch, FILE *fp)
stdio.h
B. Συναρτήσεις Ροής Εισόδου
5. Η συνάρτηση ungetc()
18∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση ungetc
Πληκτρολογήστε µια συµβολοσειρά που περιέχει τουλάχιστον µία φορά το γράµµα m και δείτε τι
επίδραση έχει στην stdin, λόγω του ότι επανατοποθετούµε έναν έξτρα χαρακτήρα στην stdin.
/* ungetc.c: Epideiksi tis entolis ungetc */
#include <stdio.h>
main()
{
char c;
c=getchar();
while(c!='n')
{
printf("%c",c);
c=getchar();
if (c=='m')
{
printf("%c",c);
ungetc('!',stdin);
}
}
}
B. Συναρτήσεις Ροής Εισόδου
6. Η συνάρτηση gets()
19∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
Το πρωτότυπο της συνάρτησης gets είναι :
Και έχει οριστεί στη βιβλιοθήκη:
Έχουµε ήδη µελετήσει την συγκεκριµένη συνάρτηση σε προηγούµενο µάθηµα.
Η συνάρτηση διαβάζει µία συµβολοσειρά από την stdin µέχρι τον χαρακτήρα ‘n’ τον οποίο
αντικαθιστά µε το ‘0’ και την αποθηκεύει στην συµβολοσειρά str που δέχεται ως όρισµα µέσω
αναφοράς.
Αν για κάποιο λόγο αποτύχει, επιστρέφεται η τιµή NULL (κενός δείκτης), αλλιώς
επιστρέφεται δείκτης στην str.
Ο συνηθισµένος τρόπος χρήσης της gets είναι:
Όπου buffer είναι συµβολοσειρά (πίνακας χαρακτήρων) που έχουµε δεσµεύσει είτε στατικά
είτε δυναµικά.
char *gets(char *str)
stdio.h
gets(buffer);
B. Συναρτήσεις Ροής Εισόδου
7. Η συνάρτηση fgets()
20∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
Πολλές φορές έχουµε πρόβληµα µε την gets, διότι η συµβολοσειρά που χρησιµοποιούµε δεν
έχει αρκετό χώρο για να αποθηκεύσει όλα τα δεδοµένα που εισάγει ο χρήστης. H fgets έρχεται
να λύσει αυτό το πρόβληµα.
Το πρωτότυπο της συνάρτησης fgets είναι:
Και έχει οριστεί στο αρχείο βιβλιοθήκης:
Η συνάρτηση διαβάζει µία συµβολοσειρά από την ροή fp και την αποθηκεύει στην str µέχρι:
Είτε διαβάζει τον χαρακτήρα ‘n’ τον οποίο αντικαθιστά µε ‘0’
Είτε διαβάσει n-1 χαρακτήρες. Τότε προσθέτει τον χαρακτήρα ‘0’ στο τέλος και τερµατίζει.
Με απλά λόγια η fgets βάζει όριο στους χαρακτήρες που θα διαβάσει προκειµένου να χωράνε
στην συµβολοσειρά που διοχετεύουµε ως όρισµα.
Το παράδειγµα της επόµενης διαφάνειας αναδεικνύει την χρήση των παραπάνω
char *fgets(char *str, int n, FILE *fp)
stdio.h
B. Συναρτήσεις Ροής Εισόδου
7. Η συνάρτηση fgets()
21∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση fgets
Πληκτρολογήστε µια συµβολοσειρά µε µήκος µεγαλύτερο του 10 και πατήστε Enter.
Παρατηρείστε την συµπεριφορά του προγράµµατος.
/* fgets.c: Epideiksi tis entolis fgets */
#include <stdio.h>
#define N 10
main()
{
char buffer[N];
while(1)
{
fgets(buffer,N,stdin);
printf("Eisodos: %sn",buffer);
}
}
B. Συναρτήσεις Ροής Εισόδου
8. Η συνάρτηση scanf()
22∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
Την συνάρτηση scanf την έχουµε µελετήσει ήδη δύο φορές.
Λόγω του πλούτου που έχει η χρήση της, σήµερα θα δούµε και τις τελευταίες εξειδικευµένες
χρήσεις
Ένα τυπικό παράδειγµα χρήσης της scanf που έχει οριστεί στο είναι το εξής:
Όπου το 1ο όρισµα είναι η συµβολοσειρά µορφοποίησης και στα επόµενα ορίσµατα
ορίζουµε τις (διευθύνσεις) των µεταβλητών που θα δεχθούν τις τιµές που θα εισάγει ο
χρήστης
Σηµαντικά θέµατα είναι τα εξής:
Τι µπορούµε να έχουµε στην συµβολοσειρά µορφοποίησης
Ποιοι είναι οι προσδιοριστές που µπορούµε να έχουµε στη συµβολοσειρά µορφοποίησης
Επίσης θα πρέπει να ξέρουµε ότι:
Γίνεται προβολή των χαρακτήρων στην οθόνη όσο πληκτρολογούµε.
Ενώ γίνεται και ενδιάµεση αποθήκευση των χαρακτήρων
stdio.h
scanf("%x",&µεταβλητή);
B. Συναρτήσεις Ροής Εισόδου
8. Η συνάρτηση scanf()
23∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
Στο µάθηµα 9: «Εισαγωγή στην Είσοδο/Έξοδο ∆εδοµένων» είδαµε τους προσδιοριστές της
scanf.
Έχουν ωστόσο οριστεί περαιτέρω δύο ειδικές χρήσεις προσδιοριστών ώστε να καθορίζουµε
ρητά τους χαρακτήρες που µπορούν να διαβαστούν (ισοδύναµα να απαγορευτεί το διάβασµα
κάποιων χαρακτήρων).
Αυτοί είναι:
Προσδιοριστής Τύπος δεδοµένων που αντιστοιχεί
[...] Συµβολοσειρα που µόνο οι χαρακτήρες στα [ ] είναι
αποδεκτοί. Μόλις διαβάσει χαρακτήρες εκτός των [ ]
σταµατά την ανάγνωση.
[^...] Το ίδιο µε την [ ], αλλά µόνο οι χαρακτήρες εκτός των [ ]
είναι αποδεικτοί
B. Συναρτήσεις Ροής Εισόδου
8. Η συνάρτηση scanf()
24∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
Το παρακάτω πρόγραµµα αναδεικνύει την χρήση των επιπλέον προσδιοριστών που εισάγαµε:
Πληκτρολογήστε και εκτελέστε το πρόγραµµα εισάγοντας µια φράση που περιέχει τους
χαρακτήρες που παρατίθενται στον προσδιοριστή.
/* scanf.c: Epideiksi tis entolis scanf */
#include <stdio.h>
main()
{
char buffer[80];
printf("Eisagete simvoloseira: ");
scanf("%[abcdef]",buffer);
printf("Diavastike: %sn",buffer);
printf("Eisagete simvoloseira: ");
scanf("%[^abcdef]",buffer);
printf("Diavastike: %s",buffer);
}
B. Συναρτήσεις Ροής Εισόδου
9. Η συνάρτηση fflush()
25∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
Όταν εκτελείται µία κλήση στην scanf λαµβάνεται τόση είσοδος από την stdin όση είναι
απαραίτητη για να διαβαστεί ο τύπος των δεδοµένων που ορίσαµε.
Έτσι για παράδειγµα αν έχουµε την εντολή:
Και ο χρήστης εισάγει:
Τότε διαβάζεται το 15 και ανατίθεται στη x, αγνοείται το κενό και διαβάζεται το 20 και ανατίθεται
στην y.Οι υπόλοιποι χαρακτήρες παραµένουν στην stdin για επόµενο διάβασµα.
Συνεπώς επειδή αναµένουµε πάντα κακή συµπεριφορά του χρήστη απέναντι στο πρόγραµµα
πρέπει πάντα να περιµένουµε ότι ενδέχεται να έχουν αποµείνει κάποιοι χαρακτήρες στην stdin
µετά από κάποιο διάβασµα.
Ειδικά ο χαρακτήρας n αποµένει στην είσοδο µετά από διάβασµα µε την scanf. Για τον λόγο
αυτό χρειαζόµαστε την συνάρτηση fflush.
stdio.h
scanf("%d",&x);
scanf("%d",&y);
15 20 30
B. Συναρτήσεις Ροής Εισόδου
9. Η συνάρτηση fflush()
26∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
Το πρωτότυπο της συνάρτησης fflush είναι:
Και έχει οριστεί στο αρχείο βιβλιοθήκης:
Η συνάρτηση «αδειάζει» την stdin από τυχόν χαρακτήρες που έχουν αποµείνει σε αυτήν.
Μεταγλωττίστε το παράδειγµα της επόµενης διαφάνειας (το οποίο δεν δουλεύει σωστά) µε
χρήση της fflush
int fflush(FILE *fp)
stdio.h
B. Συναρτήσεις Ροής Εισόδου
9. Η συνάρτηση fflush()
27∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
/* fflush_wrong.c: Epideiksi tis entolis fflush */
#include <stdio.h>
main()
{
int x,y,z;
char c;
printf("Dwse enan tripsifio arithmo:");
scanf("%1d%1d%1d", &x,&y,&z);
printf("Epelekse M-Monades,D-Dekades,E-Ekatontades: ");
scanf("%c",&c);
B. Συναρτήσεις Ροής Εισόδου
9. Η συνάρτηση fflush()
28∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
switch(c)
{
case 'M':
printf("Monades=%d",z);
break;
case 'D':
printf("Dekades=%d",y);
break;
case 'E':
printf("Ekatontades=%d",z);
break;
default:
printf("Lathos eisodos!");
}
}
Β. Ασκήσεις
1. Μετατροπή σε κεφαλαία (ξανά)
29∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
Γράψτε ένα πρόγραµµα το οποίο θέλουµε να:
1. ∆ιαβάζει µία συµβολοσειρά από το πληκτρολόγιο (∆ΕΝ θέλουµε να αποθηκεύεται σε κάποιον
πίνακα και ∆ΕΝ θέλουµε να εµφανίζεται αυτό που πληκτρολογεί ο χρήστης)
2. Εµφανίζει στην οθόνη την ίδια συµβολοσειρά όπου κάθε µικρός χαρακτήρας έχει
αντικατασταθεί από τον αντίστοιχο κεφαλαίο χαρακτήρα.
Β. Ασκήσεις
2. ∆ιάβασµα συµβολοσειρών
30∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
Γράψτε ένα πρόγραµµα το οποίο:
1. ∆ηλώνει έναν πίνακα χαρακτήρων (µε ονοµασία string) µεγέθους 10.
2. Ζητά από τον χρήστη να πληκτρολογήσει µία συµβολοσειρά.
3. Εάν η συµβολοσειρά χωράει στο string να την αποθηκεύει σε αυτό και να προβάλλει ότι «η
συµβολοσειρά διαβάστηκε» και να την τυπώνει.
4. Εάν η συµβολοσειρά δεν χωράει στο string να αποθηκεύει το µέρος που µπορεί να
αποθηκευτεί και να προβάλλει «η συµβολοσειρά δεν διαβάστηκε» και να τυπώνει το µέρος
που «χώρεσε» στο string. Να καθαρίζει την stdin από τους χαρακτήρες που έχουν αποµείνει.

More Related Content

What's hot

Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
Dimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ
Dimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ
Dimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
Dimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9 ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
Dimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ
Dimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
Dimitris Psounis
 
Η Γλώσσα C - Μάθημα 2
Η Γλώσσα C - Μάθημα 2Η Γλώσσα C - Μάθημα 2
Η Γλώσσα C - Μάθημα 2
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
Dimitris Psounis
 
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ
Dimitris Psounis
 
Η Γλώσσα C - Μάθημα 1
Η Γλώσσα C - Μάθημα 1Η Γλώσσα C - Μάθημα 1
Η Γλώσσα C - Μάθημα 1
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 4
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 4ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 4
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 4
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
Dimitris Psounis
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.5
ΠΛΗ10 ΜΑΘΗΜΑ 2.5ΠΛΗ10 ΜΑΘΗΜΑ 2.5
ΠΛΗ10 ΜΑΘΗΜΑ 2.5
Dimitris Psounis
 
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2
Dimitris Psounis
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.6
ΠΛΗ10 ΜΑΘΗΜΑ 2.6 ΠΛΗ10 ΜΑΘΗΜΑ 2.6
ΠΛΗ10 ΜΑΘΗΜΑ 2.6
Dimitris Psounis
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.3: ΤΕΛΕΣΤΕΣ ΚΑΙ Η ΕΝΤΟΛΗ ΑΠΟΦΑΣΗΣ
ΠΛΗ10 ΜΑΘΗΜΑ 2.3: ΤΕΛΕΣΤΕΣ ΚΑΙ Η ΕΝΤΟΛΗ ΑΠΟΦΑΣΗΣΠΛΗ10 ΜΑΘΗΜΑ 2.3: ΤΕΛΕΣΤΕΣ ΚΑΙ Η ΕΝΤΟΛΗ ΑΠΟΦΑΣΗΣ
ΠΛΗ10 ΜΑΘΗΜΑ 2.3: ΤΕΛΕΣΤΕΣ ΚΑΙ Η ΕΝΤΟΛΗ ΑΠΟΦΑΣΗΣ
Dimitris Psounis
 

What's hot (20)

Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 12
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 13 - ΔΟΜΕΣ
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9 ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 9
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
 
Η Γλώσσα C - Μάθημα 2
Η Γλώσσα C - Μάθημα 2Η Γλώσσα C - Μάθημα 2
Η Γλώσσα C - Μάθημα 2
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
 
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ
 
Η Γλώσσα C - Μάθημα 1
Η Γλώσσα C - Μάθημα 1Η Γλώσσα C - Μάθημα 1
Η Γλώσσα C - Μάθημα 1
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 4
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 4ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 4
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 4
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.5
ΠΛΗ10 ΜΑΘΗΜΑ 2.5ΠΛΗ10 ΜΑΘΗΜΑ 2.5
ΠΛΗ10 ΜΑΘΗΜΑ 2.5
 
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.6
ΠΛΗ10 ΜΑΘΗΜΑ 2.6 ΠΛΗ10 ΜΑΘΗΜΑ 2.6
ΠΛΗ10 ΜΑΘΗΜΑ 2.6
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.3: ΤΕΛΕΣΤΕΣ ΚΑΙ Η ΕΝΤΟΛΗ ΑΠΟΦΑΣΗΣ
ΠΛΗ10 ΜΑΘΗΜΑ 2.3: ΤΕΛΕΣΤΕΣ ΚΑΙ Η ΕΝΤΟΛΗ ΑΠΟΦΑΣΗΣΠΛΗ10 ΜΑΘΗΜΑ 2.3: ΤΕΛΕΣΤΕΣ ΚΑΙ Η ΕΝΤΟΛΗ ΑΠΟΦΑΣΗΣ
ΠΛΗ10 ΜΑΘΗΜΑ 2.3: ΤΕΛΕΣΤΕΣ ΚΑΙ Η ΕΝΤΟΛΗ ΑΠΟΦΑΣΗΣ
 

Viewers also liked

Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ
Dimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ (ΕΚΤΥΠΩΣΗ)ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
Η Γλώσσα C - Μάθημα 3 (Εκτύπωση)
Η Γλώσσα C - Μάθημα 3 (Εκτύπωση)Η Γλώσσα C - Μάθημα 3 (Εκτύπωση)
Η Γλώσσα C - Μάθημα 3 (Εκτύπωση)
Dimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 (ΕΚΤΥΠΩΣΗ)ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 

Viewers also liked (7)

Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ (ΕΚΤΥΠΩΣΗ)
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥΗ ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 16 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΞΟΔΟΥ
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ (ΕΚΤΥΠΩΣΗ)ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ (ΕΚΤΥΠΩΣΗ)
 
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)
Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 14 - ΕΜΒΕΛΕΙΑ ΜΕΤΑΒΛΗΤΩΝ (ΕΚΤΥΠΩΣΗ)
 
Η Γλώσσα C - Μάθημα 3 (Εκτύπωση)
Η Γλώσσα C - Μάθημα 3 (Εκτύπωση)Η Γλώσσα C - Μάθημα 3 (Εκτύπωση)
Η Γλώσσα C - Μάθημα 3 (Εκτύπωση)
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 (ΕΚΤΥΠΩΣΗ)ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 (ΕΚΤΥΠΩΣΗ)
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 17 - ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ (ΕΚΤΥΠΩΣΗ)
 

Similar to Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ

C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ CC++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
Dimitris Psounis
 
C_01122023.pdf
C_01122023.pdfC_01122023.pdf
C_01122023.pdf
argideli1
 
C_24112023.pdf
C_24112023.pdfC_24112023.pdf
C_24112023.pdf
argideli1
 
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
Dimitris Psounis
 
13 Προγράμματα C.
13 Προγράμματα C.13 Προγράμματα C.
13 Προγράμματα C.
Stathis Gourzis
 
Python. 1 2 δομή ακολουθίας
Python. 1 2 δομή ακολουθίαςPython. 1 2 δομή ακολουθίας
Python. 1 2 δομή ακολουθίας
Ιωάννου Γιαννάκης
 
Python. 1 1 σχεδίαση και συγγραφή κώδικα
Python. 1 1 σχεδίαση και συγγραφή κώδικαPython. 1 1 σχεδίαση και συγγραφή κώδικα
Python. 1 1 σχεδίαση και συγγραφή κώδικα
Ιωάννου Γιαννάκης
 

Similar to Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ (7)

C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ CC++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
 
C_01122023.pdf
C_01122023.pdfC_01122023.pdf
C_01122023.pdf
 
C_24112023.pdf
C_24112023.pdfC_24112023.pdf
C_24112023.pdf
 
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
 
13 Προγράμματα C.
13 Προγράμματα C.13 Προγράμματα C.
13 Προγράμματα C.
 
Python. 1 2 δομή ακολουθίας
Python. 1 2 δομή ακολουθίαςPython. 1 2 δομή ακολουθίας
Python. 1 2 δομή ακολουθίας
 
Python. 1 1 σχεδίαση και συγγραφή κώδικα
Python. 1 1 σχεδίαση και συγγραφή κώδικαPython. 1 1 σχεδίαση και συγγραφή κώδικα
Python. 1 1 σχεδίαση και συγγραφή κώδικα
 

More from Dimitris Psounis

Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Dimitris Psounis
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Dimitris Psounis
 
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
Dimitris Psounis
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Dimitris Psounis
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Dimitris Psounis
 
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
Dimitris Psounis
 
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
Dimitris Psounis
 
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
Dimitris Psounis
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
Dimitris Psounis
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
Dimitris Psounis
 

More from Dimitris Psounis (20)

Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
 
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
 
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
 
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
 
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ31 - ΤΕΣΤ 33
ΠΛΗ31 - ΤΕΣΤ 33ΠΛΗ31 - ΤΕΣΤ 33
ΠΛΗ31 - ΤΕΣΤ 33
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ31 ΤΕΣΤ 32
ΠΛΗ31 ΤΕΣΤ 32ΠΛΗ31 ΤΕΣΤ 32
ΠΛΗ31 ΤΕΣΤ 32
 
ΠΛΗ31 ΤΕΣΤ 31
ΠΛΗ31 ΤΕΣΤ 31ΠΛΗ31 ΤΕΣΤ 31
ΠΛΗ31 ΤΕΣΤ 31
 
ΠΛΗ31 ΤΕΣΤ 30
ΠΛΗ31 ΤΕΣΤ 30ΠΛΗ31 ΤΕΣΤ 30
ΠΛΗ31 ΤΕΣΤ 30
 

Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 15 - ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ

  • 1. H ΓΛΩΣΣΑ C Μάθηµα 15: Είσοδος/Έξοδος: Συναρτήσεις Εισόδου ∆ηµήτρης Ψούνης
  • 2. Περιεχόµενα Μαθήµατος Α. Ροές 1. Γενικά 2. Η ροή προκαθορισµένης εισόδου stdin 3. Η ροή προκαθορισµένης εξόδου stdout 4. Η ροή προκαθορισµένης εξόδου λαθών stderr Β. Συναρτήσεις ροής εισόδου stdin 1. Γενικά 2. Η συνάρτηση getchar() 3. Η συνάρτηση getch() 4. Η συνάρτηση getche() 5. H συνάρτηση ungetc() 6. Η συνάρτηση gets() 7. Η συνάρτηση fgets() 8. Η συνάρτηση scanf() 9. Η συνάρτηση fflush() 2∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου
  • 3. A. Ροές 1. Γενικά 3∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου Η είσοδος και η έξοδος στην C, γίνεται µέσω ροών (streams). Μία ροή είναι µια ακολουθία χαρακτήρων η οποία είναι εν αναµονή για να την χρησιµοποιήσουµε ανάλογα µε την θέλησή µας. Ήδη (χωρίς να το γνωρίζουµε) έχουµε χρησιµοποιήσει δύο ροές: Την προκαθορισµένη ροή εισόδου (stdin) από την οποία διαβάζουµε χαρακτήρες από το πληκτρολόγιο. Την προκαθορισµένη ροή εξόδου (stdout) στην οποία γράφουµε χαρακτήρες στην οθόνη. stdout stdin
  • 4. A. Ροές 1. Γενικά 4∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου Κάθε ροή της C λοιπόν είναι µια ακολουθία χαρακτήρων την οποία µπορούµε να διαχειριστούµε από το πρόγραµµά µας. Πέρα από τις 2 σηµαντικές ροές που έχουµε δουλέψει έχουν οριστεί πολλές ακόµη ροές που µπορούν να διαχειριστούν είσοδο/έξοδο από και πρός άλλες συσκευές, π.χ stdout stdin printer DVD-ROM HARD DISK
  • 5. A. Ροές 2. Η ροή προκαθορισµένης εισόδου stdin 5∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου H ANSI C (διεθνές πρότυπο µε τις βασικές λειτουργίες που πρέπει να έχει κάθε µεταγλωττιστής της C) ορίζει ότι οι παρακάτω 5 ροές υπάρχουν σε κάθε υλοποίηση της C: Οι ροές µε * χρησιµοποιούνταν σε παλιότερες εκδόσεις του DOS και θεωρούνται πλέον παρωχηµένες. Όνοµα Ροή Συσκευή stdin Προκαθορισµένη Είσοδος Πληκτρολόγιο stdout Προκαθορισµένη Έξοδος Οθόνη stderr Προκαθορισµένο Λάθος Οθόνη stdprn* Προκαθορισµένος Εκτυπωτής Εκτυπωτής (LPT1) stdaux* Προκαθορισµένο Βοήθηµα Σειριακή Θύρα (COM1)
  • 6. A. Ροές 2. Η ροή προκαθορισµένης εισόδου stdin 6∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου Καλό είναι να σκεφτόµαστε την stdin σαν µια «σωλήνα» η οποία συνδέει το πληκτρολόγιο µε το πρόγραµµά µας Π.χ. Η συνάρτηση scanf που µάθαµε, διαβάζει τόσους χαρακτήρες από την stdin, όσοι καθορίζονται από τον προσδιοριστη που έχουµε θέσει σαν 1o όρισµα. Αν ο χρήστης έχει εισάγει περισσότερους χαρακτήρες τότε αυτοί παραµένουν στην stdin για επόµενο διάβασµα από κάποια εντολή διαχείρισης της προκαθορισµένης εισόδου. Θα δούµε και άλλες συναρτήσεις που διαχειρίζονται την προκαθορισµένη είσοδο. stdin 11223 xyzw 223
  • 7. A. Ροές 3. Η ροή προκαθορισµένης εισόδου stdout 7∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου Αντίστοιχα η stdout είναι µία «σωλήνα» που συνδέει το πρόγραµµα µας µε την οθόνη του υπολογιστή. Π.χ. Η συνάρτηση puts, τοποθετεί στην stdout την συµβολοσειρά που δέχεται ως όρισµα και δίνει εντολή να τυπωθούν οι χαρακτήρες που βρίσκονται στην stdout στην οθόνη. stdout
  • 8. A. Ροές 4. Η ροή προκαθορισµένης εξόδου λαθών stderr. 8∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου Η stderr είναι µια αυτόνοµη ροή που λειτουργεί όπως η stdout, στην οποία γράφουµε µηνύµατα λάθους εκτέλεσης του προγράµµατός µας. Σε µεγάλα προγράµµατα είναι συχνό να σταµατάνε να λειτουργούν για λόγους που δεν είναι απαραίτητα προγραµµατιστικά λάθη (π.χ. Αδυναµία δέσµευσης µνήµης, αποτυχία υλικού, ασύγχρονης επικοινωνίας κ.λπ.) Προκειµένου να µην µπερδευτούν τα µηνύµατα που θέλουµε να προβάλλουµε στην οθόνη, µε τα σηµαντικά µηνύµατα αστοχίας του προγράµµατος, η C ορίζει αυτήν την βοηθητική ροή, για να γίνει διαχωρισµός της εξόδου προγράµµατος, από τα µηνύµατα λάθους. stderr
  • 9. B. Συναρτήσεις Ροής Εισόδου 1. Σύνοψη 9∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου H C µας παρέχει µία σειρά από συναρτήσεις για να διαχειριστούµε την είσοδο από το πληκτρολόγιο. ∆ύο είναι τα βασικά χαρακτηριστικά των συναρτήσεων που πρέπει να έχουµε υπόψη µας: Αν οι χαρακτήρες που πληκτρολογούµε µένουν σε έναν προσωρινό χώρο αποθήκευσης και πηγαίνουν στην stdin πατώντας Enter, ή αν κάθε χαρακτήρας που πληκτρολογούµε πηγαίνει κατευθείαν στην stdin. Το χαρακτηριστικό αυτό θα το ονοµάσουµε ενδιάµεση αποθήκευση χαρακτήρων Αν ότι πληκτρολογούµε προβάλλεται ταυτόχρονα και στην οθόνη ή όχι. Το χαρακτηριστικό αυτό θα το ονοµάσουµε προβολή χαρακτήρων
  • 10. B. Συναρτήσεις Ροής Εισόδου 1. Σύνοψη 10∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου Ας ρίξουµε µια πρώτη µατιά στις συναρτήσεις που θα µελετήσουµε στις επόµενες διαφάνειες: Όνοµα Λειτουργία Ενδιάµεση Αποθήκευση Χαρακτήρων Προβολή Χαρακτήρων Βιβλιοθήκη getchar ∆ιάβασµα ενός χαρακτήρα εισόδου NAI NAI stdio.h getch ∆ιάβασµα ενός χαρακτήρα εισόδου ΟΧΙ ΟΧΙ conio.h getche ∆ιάβασµα ενός χαρακτήρα εισόδου ΟΧΙ Ν ΑΙ conio.h ungetc Αναίρεση λήψης χαρακτήρα - - stdio.h gets ∆ιάβασµα Συµβολοσειράς ΝΑΙ ΝΑΙ stdio.h fgets ∆ιάβασµα Συµβολοσειράς ΝΑΙ ΝΑΙ stdio.h scanf ∆ιάβασµα Συµβολοσειράς NAI NAI stdio.h
  • 11. B. Συναρτήσεις Ροής Εισόδου 2. Η συνάρτηση getchar() 11∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου Το πρωτότυπο της συνάρτησης getchar είναι: Και έχει οριστεί στη βιβλιοθήκη: Η συνάρτηση διαβάζει έναν χαρακτήρα από την stdin και επιστρέφει τον ASCII κωδικό της. Λειτουργεί µε ενδιάµεση αποθήκευση χαρακτήρων, άρα αναµένει από εµάς να πληκτρολογήσουµε Enter για να καταχωρηθούν οι χαρακτήρες στην stdin. Προβάλλει τους χαρακτήρες που πληκτρολογούµε στην οθόνη. int getchar() stdio.h
  • 12. B. Συναρτήσεις Ροής Εισόδου 2. Η συνάρτηση getchar() 12∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση getchar Ο χρήστης εισάγει µία συµβολοσειρά και στην συνέχεια πατάει Enter. Η είσοδος αποθηκεύεται στην stdin και περνάει στο πρόγραµµα µόλις ο χρήστης πατήσει Enter. /* getchar.c: Epideiksi tis entolis getchar */ #include <stdio.h> main() { char c; c=getchar(); while(c!='x') { printf("%c,",c); c=getchar(); } printf("%c.",c); }
  • 13. B. Συναρτήσεις Ροής Εισόδου 3. Η συνάρτηση getch () 13∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου Το πρωτότυπο της συνάρτησης getch είναι: Και έχει οριστεί στη βιβλιοθήκη: Η συνάρτηση διαβάζει έναν χαρακτήρα από την stdin και επιστρέφει τον ASCII κωδικό της. Λειτουργεί χωρίς ενδιάµεση αποθήκευση χαρακτήρων, άρα µε το που πατάµε έναν χαρακτήρα αυτός αποθηκεύεται στην stdin. ∆εν προβάλλει τους χαρακτήρες που πληκτρολογούµε στην οθόνη!! Προσοχή! Το αρχείο κεφαλίδας conio.h δεν είναι µέρος της ANSI C, άρα δεν είναι απαραίτητο να υπάρχει σε οποιονδήποτε µεταγλωττιστή. Ωστόσο το DEV-C++ την ενσωµατώνει, άρα µπορούµε να την χρησιµοποιήσουµε κανονικά! int getch () conio.h
  • 14. B. Συναρτήσεις Ροής Εισόδου 3. Η συνάρτηση getch () 14∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση getch Ο χρήστης πληκτρολογεί µία συµβολοσειρά. Η είσοδος ∆ΕΝ αποθηκεύεται στην stdin και η πληκτρολόγηση κάθε χαρακτήρα διαβάζεται αµέσως από την getch() /* getch.c: Epideiksi tis entolis getch */ #include <stdio.h> #include <conio.h> main() { char c; c=getch(); while(c!='x') { printf("%c,",c); c=getch(); } printf("%c.",c); }
  • 15. B. Συναρτήσεις Ροής Εισόδου 4. Η συνάρτηση getche () 15∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου Το πρωτότυπο της συνάρτησης getche είναι: Και έχει οριστεί στη βιβλιοθήκη: Η συνάρτηση λειτουργεί µε τον ίδιο τρόπο µε την getch() µε την διαφορά ότι προβάλλει τον χαρακτήρα που πληκτρολογούµε στην οθόνη. Μεταγλωττίστε και εκτελέστε το πρόγραµµα getche.c που δείχνει την λειτουργία της και την διαφορά από την εντολή getch. int getche () conio.h
  • 16. B. Συναρτήσεις Ροής Εισόδου 4. Η συνάρτηση getche () 16∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση getche Ο χρήστης πληκτρολογεί µία συµβολοσειρά. Η είσοδος ∆ΕΝ αποθηκεύεται στην stdin και η πληκτρολόγηση κάθε χαρακτήρα διαβάζεται αµέσως από την getche(). Όταν πληκτρολογούµε τον χαρακτήρα προβάλλεται στην οθόνη. /* getche.c: Epideiksi tis entolis getch */ #include <stdio.h> #include <conio.h> main() { char c; c=getche(); while(c!='x') { printf("%c,",c); c=getche(); } printf("%c.",c); }
  • 17. B. Συναρτήσεις Ροής Εισόδου 5. Η συνάρτηση ungetc() 17∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου Το πρωτότυπο της συνάρτησης ungetc είναι : Και έχει οριστεί στη βιβλιοθήκη: Η συνάρτηση ungetc αναιρεί την λήψη του χαρακτήρα ch από την ροή fp Θα δούµε σε επόµενο µάθηµα, ότι µπορούµε να καθορίσουµε και ροές εισόδου από αρχεία και γι’ αυτό ως 2ο όρισµα µπορούµε να ορίσουµε και ροή αρχείου. Για να αναιρέσουµε λήψη από την stdin, απλά γράφουµε ως δεύτερο όρισµα τη ροή stdin. Η συνάρτηση πρακτικά επανατοποθετεί στην ροή stdin τον χαρακτήρα ch που διάβασε. Στο παράδειγµα της επόµενης διαφάνειας βλέπουµε πως χρησιµοποιούµε την ungetc. int ungetc(int ch, FILE *fp) stdio.h
  • 18. B. Συναρτήσεις Ροής Εισόδου 5. Η συνάρτηση ungetc() 18∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση ungetc Πληκτρολογήστε µια συµβολοσειρά που περιέχει τουλάχιστον µία φορά το γράµµα m και δείτε τι επίδραση έχει στην stdin, λόγω του ότι επανατοποθετούµε έναν έξτρα χαρακτήρα στην stdin. /* ungetc.c: Epideiksi tis entolis ungetc */ #include <stdio.h> main() { char c; c=getchar(); while(c!='n') { printf("%c",c); c=getchar(); if (c=='m') { printf("%c",c); ungetc('!',stdin); } } }
  • 19. B. Συναρτήσεις Ροής Εισόδου 6. Η συνάρτηση gets() 19∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου Το πρωτότυπο της συνάρτησης gets είναι : Και έχει οριστεί στη βιβλιοθήκη: Έχουµε ήδη µελετήσει την συγκεκριµένη συνάρτηση σε προηγούµενο µάθηµα. Η συνάρτηση διαβάζει µία συµβολοσειρά από την stdin µέχρι τον χαρακτήρα ‘n’ τον οποίο αντικαθιστά µε το ‘0’ και την αποθηκεύει στην συµβολοσειρά str που δέχεται ως όρισµα µέσω αναφοράς. Αν για κάποιο λόγο αποτύχει, επιστρέφεται η τιµή NULL (κενός δείκτης), αλλιώς επιστρέφεται δείκτης στην str. Ο συνηθισµένος τρόπος χρήσης της gets είναι: Όπου buffer είναι συµβολοσειρά (πίνακας χαρακτήρων) που έχουµε δεσµεύσει είτε στατικά είτε δυναµικά. char *gets(char *str) stdio.h gets(buffer);
  • 20. B. Συναρτήσεις Ροής Εισόδου 7. Η συνάρτηση fgets() 20∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου Πολλές φορές έχουµε πρόβληµα µε την gets, διότι η συµβολοσειρά που χρησιµοποιούµε δεν έχει αρκετό χώρο για να αποθηκεύσει όλα τα δεδοµένα που εισάγει ο χρήστης. H fgets έρχεται να λύσει αυτό το πρόβληµα. Το πρωτότυπο της συνάρτησης fgets είναι: Και έχει οριστεί στο αρχείο βιβλιοθήκης: Η συνάρτηση διαβάζει µία συµβολοσειρά από την ροή fp και την αποθηκεύει στην str µέχρι: Είτε διαβάζει τον χαρακτήρα ‘n’ τον οποίο αντικαθιστά µε ‘0’ Είτε διαβάσει n-1 χαρακτήρες. Τότε προσθέτει τον χαρακτήρα ‘0’ στο τέλος και τερµατίζει. Με απλά λόγια η fgets βάζει όριο στους χαρακτήρες που θα διαβάσει προκειµένου να χωράνε στην συµβολοσειρά που διοχετεύουµε ως όρισµα. Το παράδειγµα της επόµενης διαφάνειας αναδεικνύει την χρήση των παραπάνω char *fgets(char *str, int n, FILE *fp) stdio.h
  • 21. B. Συναρτήσεις Ροής Εισόδου 7. Η συνάρτηση fgets() 21∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου Το παρακάτω παράδειγµα αναδεικνύει την συνάρτηση fgets Πληκτρολογήστε µια συµβολοσειρά µε µήκος µεγαλύτερο του 10 και πατήστε Enter. Παρατηρείστε την συµπεριφορά του προγράµµατος. /* fgets.c: Epideiksi tis entolis fgets */ #include <stdio.h> #define N 10 main() { char buffer[N]; while(1) { fgets(buffer,N,stdin); printf("Eisodos: %sn",buffer); } }
  • 22. B. Συναρτήσεις Ροής Εισόδου 8. Η συνάρτηση scanf() 22∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου Την συνάρτηση scanf την έχουµε µελετήσει ήδη δύο φορές. Λόγω του πλούτου που έχει η χρήση της, σήµερα θα δούµε και τις τελευταίες εξειδικευµένες χρήσεις Ένα τυπικό παράδειγµα χρήσης της scanf που έχει οριστεί στο είναι το εξής: Όπου το 1ο όρισµα είναι η συµβολοσειρά µορφοποίησης και στα επόµενα ορίσµατα ορίζουµε τις (διευθύνσεις) των µεταβλητών που θα δεχθούν τις τιµές που θα εισάγει ο χρήστης Σηµαντικά θέµατα είναι τα εξής: Τι µπορούµε να έχουµε στην συµβολοσειρά µορφοποίησης Ποιοι είναι οι προσδιοριστές που µπορούµε να έχουµε στη συµβολοσειρά µορφοποίησης Επίσης θα πρέπει να ξέρουµε ότι: Γίνεται προβολή των χαρακτήρων στην οθόνη όσο πληκτρολογούµε. Ενώ γίνεται και ενδιάµεση αποθήκευση των χαρακτήρων stdio.h scanf("%x",&µεταβλητή);
  • 23. B. Συναρτήσεις Ροής Εισόδου 8. Η συνάρτηση scanf() 23∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου Στο µάθηµα 9: «Εισαγωγή στην Είσοδο/Έξοδο ∆εδοµένων» είδαµε τους προσδιοριστές της scanf. Έχουν ωστόσο οριστεί περαιτέρω δύο ειδικές χρήσεις προσδιοριστών ώστε να καθορίζουµε ρητά τους χαρακτήρες που µπορούν να διαβαστούν (ισοδύναµα να απαγορευτεί το διάβασµα κάποιων χαρακτήρων). Αυτοί είναι: Προσδιοριστής Τύπος δεδοµένων που αντιστοιχεί [...] Συµβολοσειρα που µόνο οι χαρακτήρες στα [ ] είναι αποδεκτοί. Μόλις διαβάσει χαρακτήρες εκτός των [ ] σταµατά την ανάγνωση. [^...] Το ίδιο µε την [ ], αλλά µόνο οι χαρακτήρες εκτός των [ ] είναι αποδεικτοί
  • 24. B. Συναρτήσεις Ροής Εισόδου 8. Η συνάρτηση scanf() 24∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου Το παρακάτω πρόγραµµα αναδεικνύει την χρήση των επιπλέον προσδιοριστών που εισάγαµε: Πληκτρολογήστε και εκτελέστε το πρόγραµµα εισάγοντας µια φράση που περιέχει τους χαρακτήρες που παρατίθενται στον προσδιοριστή. /* scanf.c: Epideiksi tis entolis scanf */ #include <stdio.h> main() { char buffer[80]; printf("Eisagete simvoloseira: "); scanf("%[abcdef]",buffer); printf("Diavastike: %sn",buffer); printf("Eisagete simvoloseira: "); scanf("%[^abcdef]",buffer); printf("Diavastike: %s",buffer); }
  • 25. B. Συναρτήσεις Ροής Εισόδου 9. Η συνάρτηση fflush() 25∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου Όταν εκτελείται µία κλήση στην scanf λαµβάνεται τόση είσοδος από την stdin όση είναι απαραίτητη για να διαβαστεί ο τύπος των δεδοµένων που ορίσαµε. Έτσι για παράδειγµα αν έχουµε την εντολή: Και ο χρήστης εισάγει: Τότε διαβάζεται το 15 και ανατίθεται στη x, αγνοείται το κενό και διαβάζεται το 20 και ανατίθεται στην y.Οι υπόλοιποι χαρακτήρες παραµένουν στην stdin για επόµενο διάβασµα. Συνεπώς επειδή αναµένουµε πάντα κακή συµπεριφορά του χρήστη απέναντι στο πρόγραµµα πρέπει πάντα να περιµένουµε ότι ενδέχεται να έχουν αποµείνει κάποιοι χαρακτήρες στην stdin µετά από κάποιο διάβασµα. Ειδικά ο χαρακτήρας n αποµένει στην είσοδο µετά από διάβασµα µε την scanf. Για τον λόγο αυτό χρειαζόµαστε την συνάρτηση fflush. stdio.h scanf("%d",&x); scanf("%d",&y); 15 20 30
  • 26. B. Συναρτήσεις Ροής Εισόδου 9. Η συνάρτηση fflush() 26∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου Το πρωτότυπο της συνάρτησης fflush είναι: Και έχει οριστεί στο αρχείο βιβλιοθήκης: Η συνάρτηση «αδειάζει» την stdin από τυχόν χαρακτήρες που έχουν αποµείνει σε αυτήν. Μεταγλωττίστε το παράδειγµα της επόµενης διαφάνειας (το οποίο δεν δουλεύει σωστά) µε χρήση της fflush int fflush(FILE *fp) stdio.h
  • 27. B. Συναρτήσεις Ροής Εισόδου 9. Η συνάρτηση fflush() 27∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου /* fflush_wrong.c: Epideiksi tis entolis fflush */ #include <stdio.h> main() { int x,y,z; char c; printf("Dwse enan tripsifio arithmo:"); scanf("%1d%1d%1d", &x,&y,&z); printf("Epelekse M-Monades,D-Dekades,E-Ekatontades: "); scanf("%c",&c);
  • 28. B. Συναρτήσεις Ροής Εισόδου 9. Η συνάρτηση fflush() 28∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου switch(c) { case 'M': printf("Monades=%d",z); break; case 'D': printf("Dekades=%d",y); break; case 'E': printf("Ekatontades=%d",z); break; default: printf("Lathos eisodos!"); } }
  • 29. Β. Ασκήσεις 1. Μετατροπή σε κεφαλαία (ξανά) 29∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου Γράψτε ένα πρόγραµµα το οποίο θέλουµε να: 1. ∆ιαβάζει µία συµβολοσειρά από το πληκτρολόγιο (∆ΕΝ θέλουµε να αποθηκεύεται σε κάποιον πίνακα και ∆ΕΝ θέλουµε να εµφανίζεται αυτό που πληκτρολογεί ο χρήστης) 2. Εµφανίζει στην οθόνη την ίδια συµβολοσειρά όπου κάθε µικρός χαρακτήρας έχει αντικατασταθεί από τον αντίστοιχο κεφαλαίο χαρακτήρα.
  • 30. Β. Ασκήσεις 2. ∆ιάβασµα συµβολοσειρών 30∆ηµήτρης Ψούνης, Η Γλώσσα C, Μάθηµα 15: Συναρτήσεις Εισόδου Γράψτε ένα πρόγραµµα το οποίο: 1. ∆ηλώνει έναν πίνακα χαρακτήρων (µε ονοµασία string) µεγέθους 10. 2. Ζητά από τον χρήστη να πληκτρολογήσει µία συµβολοσειρά. 3. Εάν η συµβολοσειρά χωράει στο string να την αποθηκεύει σε αυτό και να προβάλλει ότι «η συµβολοσειρά διαβάστηκε» και να την τυπώνει. 4. Εάν η συµβολοσειρά δεν χωράει στο string να αποθηκεύει το µέρος που µπορεί να αποθηκευτεί και να προβάλλει «η συµβολοσειρά δεν διαβάστηκε» και να τυπώνει το µέρος που «χώρεσε» στο string. Να καθαρίζει την stdin από τους χαρακτήρες που έχουν αποµείνει.