Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη Υπολογιστή
Επικοινωνία με τον υπολογιστή Συναρτήσεις Εισόδου Οι συναρτήσεις εισόδου χρησιμοποιούνται για εισαγωγή γή δεδομένων στο πρόγραμμα. Ο ρόλος της scanf() είναι να καταχωρήσει τις τιμές που πληκτρολογεί ο χρήστης σε καθορισμένες μεταβλητές
Διάβασμα εισόδου και αποθήκευση Σύνταξη: σε μία μεταβλητή scanf( Προσδιοριστής, &Μεταβλητή ); Παράδειγμα: int a; scanf( %d,&a); Προσοχή!!: Πριν τη μεταβλητή θα βάζετε το σύμβολο & που δηλώνει αναφορά στη διεύθυνση μνήμης της μεταβλητής. Η έννοια αυτή θα γίνει περισσότερο κατανοητή σε επόμενο μάθημα.
Συναρτήσεις Εισόδου Δημιουργείστε νέο αρχείο με όνομα test3.cpp Γράψτε ένα πρόγραμμα το οποίο: Να εμφανίζει μήνυμα που να ζητά από το χρήστη να πληκτρολογίσει έναν ακέραιο αριθμό Να διαβάζει και να αποθηκεύει τον αριθμό σε μια μεταβλητή Να εμφανίζει μήνυμα στο χρήστη με τον αριθμό που διάβασε
Συναρτήσεις Εισόδου #include <tdi <stdio.h> #include <stdlib.h> main(){ int a; /*Δήλωση μεταβλητής για αποθήκευση ακέραιας τιμή που θα εισάγει ο χρήστης */ /* Για να γράψουμε μήνυμα αίτησης προς τον χρήστη, χρησιμοποιούμε τη συνάρτηση εξόδου printf (εκτύπωση απλού κειμένου)*/ printf( Please input a number\n ); /* Για να διαβάσουμε την τιμή που πληκτρολόγησε ο χρήστης και να την αποθηκεύσουμε στη μεταβλητή a χρησιμοποιούμε τη συνάρτηση εισόδου scanf */ scanf( %d,&a); %d,&a); /* Για να εμφανίσουμε μήνυμα με την τιμή της μεταβλητής a, χρησιμοποιούμε τη συνάρτηση εξόδου printf */ printf( User has entered number:%d\n,a); system( pause ); return 0; }
Συναρτήσεις Εισόδου Διάβασμα εισόδου και αποθήκευση σε περισσότερες μεταβλητές σε μία εντολή Σύνταξη: scanf( Λίστα_Προσδιοριστών, Λίστα_Διευθύνσεων_Μεταβλητών ); Παράδειγμα: int b, c, d; scanf( %d %d %d, &b, &c, &d );
Συναρτήσεις Εισόδου Τι αλλαγές θα κάνετε στο αρχείο test3.cpp ώστε το πρόγραμμα να διαβάζει 3 ακέραιους που δίνονται από το χρήστη, να τους αποθηκεύει στις μεταβλητές abcκαι a,b,c να τους εμφανίζει στην οθόνη
Αλλαγές στο αρχείο test3.cpp #include <stdio.h> #include <stdlib.h> main(){ int a, b, c; Δήλωση των επιπλέον μεταβλητών printf( Please input 3 numbers\n ); Αλλαγή μνμ προς το χρήστη scanf( %d %d %d,&a, &b, &c); Διάβασμα και αποθήκευση των επιπλέων μεταβλητών printf( User has entered numbers:%d, %d and %d\n,a,b,c); system( pause ); return 0; } Εμφάνιση των επιπλέων μεταβλητών
Χρήση ακέραιου πλάτους στους προσδιοριστές Με τη χρήση ακέραιου πλάτους πριν τον προσδιοριστή ρ ορίζεται ο αριθμός των ψηφίων που θα διαβαστεί. Παράδειγμα: int a; scanf( %2d,&a); Αν ο χρήστης πληκτρολογήσει λ 12345, στο a θα αποθηκευτεί το 12.
Χρήση ακέραιου πλάτους στους προσδιοριστές Τι αλλαγές θα κάνετε στο αρχείο test3.cpp ώστε το πρόγραμμα να διαβάζει 3 τριψήφιους αριθμούς και να τους εμφανίζει σε διαφορετικές γραμμές σε διάστημα 5 στηλών
Χρήση ακέραιου πλάτους στους προσδιοριστές #include <stdio.h> #include <stdlib.h> main(){ int a, b, c; printf( Please input 3 numbers\n ); scanf( %3d %3d %3d,&a, &b, &c); Αποθήκευση μόνο των 3 πρώτων ψηφίων κάθε αριθμού που εισάγεται printf( User has entered numbers:%5d \n %5d \n %5d\n,a,b,c); system( pause ); return 0; } Εκτύπωση μεταβλητών σε διάστημα 5 στηλών, και προσθήκη χαρακτήρων νέας γραμμής
Άσκηση 1 int, double, float Γράψτε ένα πρόγραμμα που να ζητά από το χρήστη 1. Να δώσει ένα ακέραιο και να τον εκτυπώνει σε δεκαδική, δεκαεξαδική και οκταδική μορφή. 2. Να δώσει έναν float και να τον εκτυπώνει 2 φορές. Τη μία με fixed point μορφή και την άλλη με ακρίβεια α2 δεκαδικών ψηφίων σε 4 στήλες. 3. Να δώσει έναν double και να τον εκτυπώνει με ακρίβεια 8 δεκαδικών ψηφίων.
Άσκηση 1 int, double, float, Λύση (1/5) #include <stdio.h> //Δηλώσεις Επικεφαλίδων #include <stdlib.h> main(){ //Η συνάρτηση main //Δηλώσεις μεταβλητών int arithmos os_ int; double arithmos_double; float arithmos_float;
Άσκηση 1 int, double, float Λύση (2/5) // 1. Εκτύπωση συμβολοσειράς printf("input integer\n"); // Διάβασμα ακεραίου και αποθήκευση scanf("%d",&arithmos_int); i t) /* Εκτύπωση μεταβλητής στις μορφές που ζητούνται */ printf("input integer decimal is:%d, oct is:%o and hex is :%x\n",arithmos_int, arithmos_int, arithmos_int);
Άσκηση 1 int, double, float Λύση (3/5) // 2. Εκτύπωση μνμ αίτησης printf("input Float\n"); // Διάβασμα float scanf("%f",&arithmos_float); // Εκτύπωση float printf("input fixed point float is:%f\n Float with accuracy 2 dec is:%4.2f \n",arithmos_float,arithmos_float);
Άσκηση 1 int, double, float Λύση (4/5) // 3. Εκτύπωση μνμ αίτησης printf("input Double\n"); // Διάβασμα double scanf("%lf",&arithmos_double); & i h d // Εκτύπωση double printf("input double with accuracy 8 decimal is:%0.8f",arithmos_double); ith )
Άσκηση 1 int, double, float Λύση (5/5) // 4. «Πάγωμα» οθόνης system("pause"); // 5. Συνάρτηση επιστροφής return 0; }