απιστευτος Δημοσιεύτηκε Μάϊος 10, 2007 #1 Κοινοποίηση Δημοσιεύτηκε Μάϊος 10, 2007 θελω να γραψω ενα προγραμμα που να εισαγει μικρα γραμματα(αγγλ) και θα τα μετατρεπεI σε κεφαλαια θα τα εμφανιζει στην οθονη και θα γραφει τον αντιστοιχο ASCll κωδικο σε καποιο αριθμητικο συστημα...μηπως υπαρχει καμια ιδεα?ξερω οτι αυτο γινεται με τη συναρτηση touper(a) αλλα στη πραξη δεν ειναι τοσο ευκολα τελικα.αυτο με την ASCll δε το εχω πολυπιασει!!!ειμαι αρχαριος ακομα εννοειται.......... Link to comment Share on other sites More sharing options...
trendy Μάϊος 10, 2007 #2 Κοινοποίηση Μάϊος 10, 2007 Καλύτερα ένα search στο google. Είναι τεριμμένο αυτό που ζητάς και σίγουρα κάποιος το έχει κάνει πριν από σένα. Link to comment Share on other sites More sharing options...
tolis861416003225 Μάϊος 10, 2007 #3 Κοινοποίηση Μάϊος 10, 2007 μετατρεπεις τα γραματα στους αντιστοιχους αριθμους τους (υπαρχει συναρτηση που το κανει δε θυμαμαι ονομα τωρα) και μετα προσθετεις σε καθε ενα γραμμα το 32 αν θυμαμαι καλα διοτι στον ασκιι τα μικρα με τα κεφαλαια απεχουν κατα 32. ε, μετα τα εκτυπωνεις παλι αφου φυσικα αποθυκευσεις τα νεα κεφαλαια πια γραμματα Link to comment Share on other sites More sharing options...
Wizard! Μάϊος 10, 2007 #4 Κοινοποίηση Μάϊος 10, 2007 Γράψε στο Google: C++ ToUpper ToAscii και πάτα Search Link to comment Share on other sites More sharing options...
απιστευτος Μάϊος 10, 2007 Author #5 Κοινοποίηση Μάϊος 10, 2007 thanx βρηκα λυση... Link to comment Share on other sites More sharing options...
απιστευτος Μάϊος 11, 2007 Author #6 Κοινοποίηση Μάϊος 11, 2007 τελικα ομως ηταν μονο για την μετατροπη των μικρων σε κεφ.με το ascii δε βρηκα λυση.η συναρτηση που θα χρησιμοποιησω ειναι η toascii.ο κωδικας ειναι καπως ετσι:#include <ctype.h>#include <stdio.h> #include <stdlib.h>main(){ char c, ch; while ((c = getchar()) ) { if (c >= 'a' && c <= 'z') ch = toupper©; else ch = c; putchar(ch); }system("pause");}εχω δοκιμασει πολλυς συνδυασμους με την toascii αλλα δε μου βγαινει.μηπως ξερετε που πρεπει να μπει αυτη??? Link to comment Share on other sites More sharing options...
Wizard! Μάϊος 11, 2007 #7 Κοινοποίηση Μάϊος 11, 2007 Για δες αυτό μήπως σε βοηθήσει: http://www.geekpedia.com/tutorial14_Transforming-a-string-into-ASCII.htmlH ToAscii ήταν λάθος μου. Κάνει το ανάποδο. Μετατρέπει 16αδικό σε χαρακτήρα Link to comment Share on other sites More sharing options...
απιστευτος Μάϊος 11, 2007 Author #8 Κοινοποίηση Μάϊος 11, 2007 ειμαι πολυ κοντα αλλα κατι στραβωνει ρε γαμωτο.αυτο που λεει ειναι για c++ κωδικα και οχι για c.εγω σε c κωδικα γραφω.το cin >> word; τι ειναι ακριβως.αυτο μου χαλαει τη δουλεια.ο κωδικας θα ναι καπως ετσι περιπou:char word[32]; int x = 0; cin >> word; while (word[x] != '\0') { cout << int(word[x]); x++; } cout << "\n"; return 0;}τι λες?το cout ξερω ειναι το printf.to cin στην c ποιο ειναι?? Link to comment Share on other sites More sharing options...
trendy Μάϊος 11, 2007 #9 Κοινοποίηση Μάϊος 11, 2007 cin -> standard input, κάτι σαν τη scanf σε ποιο χύμα μορφή. Link to comment Share on other sites More sharing options...
απιστευτος Μάϊος 11, 2007 Author #10 Κοινοποίηση Μάϊος 11, 2007 τελικα εγραψα αυτο:#include <ctype.h>#include <stdio.h> #include <stdlib.h>main(){ char c,ch,word[32]; int x ; x=0; while ((c = getchar())) { if (c >= 'a' && c <= 'z') ch = toupper©; else ch = c; scanf("%c",&x); while ((word[x]==("0"))) { printf((word[x])) ; x++;printf("%c",x); putchar(ch); } }system("pause");}αλλα τωρα οταν βαζω γραμμα δε κανει τιποτα!τι φταει ρε γαμωτη μου???? Link to comment Share on other sites More sharing options...
απιστευτος Μάϊος 11, 2007 Author #11 Κοινοποίηση Μάϊος 11, 2007 κανεις??μα καλα τοσα λαθη εχω κανει????:cry: Link to comment Share on other sites More sharing options...
trendy Μάϊος 11, 2007 #12 Κοινοποίηση Μάϊος 11, 2007 Η scanf δεν καταλαβαίνω γιατί υπάρχει, αφού τους χαρακτήρες τους τσιμπάς με την getchar. Μου φαίνεται ότι το έγραψες βιαστικά το πρόγραμμα. Κάνε ένα flow control graph στο χαρτί με τον πλήρη αλγόριθμο και μετά τον μεταφέρεις σε κώδικα. Έτσι που πας να τον γράψεις απ' ευθείας θα κάνεις λάθη ειδικά αν είναι νέος. Link to comment Share on other sites More sharing options...
απιστευτος Μάϊος 11, 2007 Author #13 Κοινοποίηση Μάϊος 11, 2007 ναι οντως.καλα εγω δε περιμενα τιποτα ετοιμο να μου δωσουν να το αντιγραψω.εχω μπει στην λογικη.αυτο που μονο μου σπαει τα νευρα ειναι το ascii διοτι πρωτη φορα το ακουσα σε αυτην την ασκηση. καθε αρχη και δυσκολη... Link to comment Share on other sites More sharing options...
απιστευτος Μάϊος 12, 2007 Author #14 Κοινοποίηση Μάϊος 12, 2007 τελικα εγραψα αυτο:#include <ctype.h>#include <stdio.h> #include <stdlib.h>main(){ char c,ch,word[32]; int x ; x=0; while ((c = getchar())) { if (c >= 'a' && c <= 'z') ch = toupper©; else ch = c; x=(int)c; { putchar(ch); printf("%d\n",x); printf("\n"); } }system("pause"); }και δουλευει.μονο που στο τελος εκτυπωνει κ ενα 10!πχ πληκτρολογω b και βγαζει:bΒ6610επισης οταν παταω enter μου βγαζει 10.ti μπορει να ναι αυτο? Link to comment Share on other sites More sharing options...
trendy Μάϊος 12, 2007 #15 Κοινοποίηση Μάϊος 12, 2007 10 είναι το enter. Αν δε θέλεις να φαίνεται τότε κάνε έναν έξτρα έλεγχο μετά την getchar να είναι αλφαριθμητικό μόνο.Πάρε το πρόγραμμα κάπως πιο optimized.#include <ctype.h>#include <stdio.h>#include <stdlib.h>main(){char c,ch,word[32];int x;while ((c = getchar())) { if (c >= 'a' && c <= 'z') ch = toupper(c); else ch = c; x=(int)c; printf("%c-%d\n",ch,x);}} Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.