Να γραφεί πρόγραμμα που να ζητάει από το χρήστη:
έναν οποιοδήποτε ακέραιο αριθμό με έλεγχο εγκυρότητας και επιτρεπτά πλήκτρα ΜΟΝΟ τα '+', '-' και τα νούμερα από '0' ώς και '9'.
έναν οποιοδήποτε αριθμό (δεκαδικό ή ακέραιο) με έλεγχο εγκυρότητας και επιτρεπτά πλήκτρα ΜΟΝΟ τα '+', '-', '.(τελεία ως ρόλος υποδιαστολής)' και τα νούμερα από '0' ώς και '9'.
Όσο ο πελάτης δε βάζει σωστό νούμερο, το πρόγραμμα να του ξαναζητά να πληκτρολογήσει. Μόλις βάλει σωστό νούμερο, το πρόγραμμαν να το εκτυπώνει και να τερματίζει
Εμφάνιση 1-7 από 7
-
20-11-20, 19:55 βοηθεια σε προγραμμα στη c #1
-
20-11-20, 20:03 Απάντηση: βοηθεια σε προγραμμα στη c #2
Γιατί δεν ανεβάζεις τι έχεις ετοιμάσει εσύ;
-
20-11-20, 20:07 Απάντηση: βοηθεια σε προγραμμα στη c #3Κώδικας:
#include<stdio.h> #include<stdlib.h> #include<ctype.h> int main() { system("CHCP 1253"); system("CLS"); char temp; int x; printf("äùóå åíá øçöéï:"); scanf("%c",&temp); if(isdigit(temp)!=0) { printf("ìðñáâï!åäùóåò áñéèìï!\n"); } else printf("ëáèïò! äåí åäùóå áéèìï!\n"); system("PAUSE"); return 0;
Τελευταία επεξεργασία από το μέλος euri : 22-11-20 στις 10:53. Αιτία: προσθήκη του [code] tag
-
21-11-20, 22:49 Απάντηση: βοηθεια σε προγραμμα στη c #4
Δεν έχεις κάνει και πολλά
Που κόλλησες;
-
22-11-20, 11:21 Απάντηση: βοηθεια σε προγραμμα στη c #5
Ας έρθουμε σε αυτό πρώτα. Εσύ έγραψες Ελληνικά σε "8bit σύστημα" που είχαμε παλιά στο DOS και είναι σύνηθες σε windows. Όπως έχεις και στο πρόγραμμά σου, αυτό χρησιμοποιεί την κωδικοσελίδα 1253 (γνωστή και ως Windows-1253). Ο browser / το software του φόρουμ / ποιος ξέρει τι άλλο εμπλέκεται στο να δούμε εμείς το μήνυμά σου, δουλεύει με UTF8. Ως εδώ ωραία.
Όταν έκανες copy / paste στον browser, δεν ήξερε τι έγραψες εσύ και το πιο πιθανό είναι ότι το ερμήνευσε σαν "αγγλικό" κείμενο δηλαδή ISO-8859-1. Ας κάνουμε κάποιες δοκιμές για να το επαληθεύσουμε.
Κώδικας:% file utf8 utf8: UTF-8 Unicode text % cat utf8 printf("äùóå åíá øçöéï:"); scanf("%c",&temp); if(isdigit(temp)!=0) { printf("ìðñáâï!åäùóåò áñéèìï!\n"); }
Κώδικας:% iconv -f utf8 -t windows-1253 -o w1253 utf8 # Μετάτρεψε από utf8 σε windows-1253 και ονόμασε το αρχείο w1253 iconv: μη έγκυρη ακολουθία εισόδου στη θέση 8 % iconv -f utf8 -t iso8859-1 -o w1253 utf8 # Μετάτρεψε από utf8 σε iso8859-1 και ονόμασε το αρχείο w1253 % cat w1253 printf("äùóå åíá øçöéï:"); scanf("%c",&temp); if(isdigit(temp)!=0) { printf("ìðñáâï!åäùóåò áñéèìï!\n"); }
Κώδικας:% iconv -f windows-1253 -t utf8 w1253 printf("δωσε ενα ψηφιο:"); scanf("%c",&temp); if(isdigit(temp)!=0) { printf("μπραβο!εδωσες αριθμο!\n"); }
Η δόκιμη λύση είναι να πας σε κάποιο σοβαρό C περιβάλλον και ακόμη και τότε, να αποφύγεις τα ελληνικά όσο μπορείς. Αν ασχοληθείς σοβαρά με προγραμματισμό, θα δεις πώς θα το κάνεις τότε. Μέχρι τότε "Dose arithmo", "Edoses 5" για να μην έχεις προβλήματα.
Πάμε τώρα στον κώδικα. Δεν έδειξες ότι το προχώρησες καθόλου (χωρίς να θέλω να σε προσβάλω, αυτό που έδωσες δείχνει σαν σκελετός που έδωσε ο δάσκαλος) οπότε δεν μπορώ να σου πω κώδικα και θα σχολιάσω μόνο γενικά πράγματα.
Όπου μπορείς, να γράφεις "int main(void)". Δεν θα δημιουργήσει προβλήματα πρακτικά, αλλά αν θέλουμε να είμαστε τυπικοί, είναι λάθος σε C (σε C++ είναι σωστό).
Απόφυγε ό,τι έχει τη λέξη system. Καταλαβαίνω γιατί τα βάζουν σε ασκήσεις. Καθαρίζει την οθόνη και στο τέλος περιμένει ώστε να δεις το αποτέλεσμα του προγράμματος χωρίς να μπλέκεις με "κονσόλες" αλλά είναι βλακεία και παίζει μόνο σε συγκεκριμένα περιβάλλοντα.
Τι ζητάς με το "%c"; Θα δουλέψει σωστά αν εγώ δώσω "35"; Αν δώσω "+5";"I like offending people, because I think people who get offended should be offended" - Linus Torvalds
"Παλιά είχαμε φτωχούς οι οποίοι ζούσανε σε φτωχογειτονιές. Τώρα, η οικονομικά δυσπραγούσα τάξη
κατέχει στέγες υποδεέστερης ποιότητας σε υποβαθμισμένα αστικά κέντρα" - George Carlin
Γα.... την πολιτική ορθότητα.
-
22-11-20, 14:50 Απάντηση: βοηθεια σε προγραμμα στη c #6
σου δίνω ένα tip
αυτό μπορείς να το κάνεις με while χρησιμοποιώντας τον πίνακα asciiἀναφαίρετον ὅπλον ἡ ἀρετή
-
23-11-20, 16:07 Απάντηση: βοηθεια σε προγραμμα στη c #7
ευχαριστω παρα πολυ
Bookmarks