απιστευτος Δημοσιεύτηκε Μάϊος 10, 2007 #1 Δημοσιεύτηκε Μάϊος 10, 2007 θελω να γραψω ενα προγραμμα που να εισαγει μικρα γραμματα(αγγλ) και θα τα μετατρεπεI σε κεφαλαια θα τα εμφανιζει στην οθονη και θα γραφει τον αντιστοιχο ASCll κωδικο σε καποιο αριθμητικο συστημα...μηπως υπαρχει καμια ιδεα?ξερω οτι αυτο γινεται με τη συναρτηση touper(a) αλλα στη πραξη δεν ειναι τοσο ευκολα τελικα.αυτο με την ASCll δε το εχω πολυπιασει!!!ειμαι αρχαριος ακομα εννοειται..........
trendy Μάϊος 10, 2007 #2 Μάϊος 10, 2007 Καλύτερα ένα search στο google. Είναι τεριμμένο αυτό που ζητάς και σίγουρα κάποιος το έχει κάνει πριν από σένα.
tolis861416003225 Μάϊος 10, 2007 #3 Μάϊος 10, 2007 μετατρεπεις τα γραματα στους αντιστοιχους αριθμους τους (υπαρχει συναρτηση που το κανει δε θυμαμαι ονομα τωρα) και μετα προσθετεις σε καθε ενα γραμμα το 32 αν θυμαμαι καλα διοτι στον ασκιι τα μικρα με τα κεφαλαια απεχουν κατα 32. ε, μετα τα εκτυπωνεις παλι αφου φυσικα αποθυκευσεις τα νεα κεφαλαια πια γραμματα
απιστευτος Μάϊος 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 αλλα δε μου βγαινει.μηπως ξερετε που πρεπει να μπει αυτη???
Wizard! Μάϊος 11, 2007 #7 Μάϊος 11, 2007 Για δες αυτό μήπως σε βοηθήσει: http://www.geekpedia.com/tutorial14_Transforming-a-string-into-ASCII.htmlH ToAscii ήταν λάθος μου. Κάνει το ανάποδο. Μετατρέπει 16αδικό σε χαρακτήρα
απιστευτος Μάϊος 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 ποιο ειναι??
απιστευτος Μάϊος 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");}αλλα τωρα οταν βαζω γραμμα δε κανει τιποτα!τι φταει ρε γαμωτη μου????
trendy Μάϊος 11, 2007 #12 Μάϊος 11, 2007 Η scanf δεν καταλαβαίνω γιατί υπάρχει, αφού τους χαρακτήρες τους τσιμπάς με την getchar. Μου φαίνεται ότι το έγραψες βιαστικά το πρόγραμμα. Κάνε ένα flow control graph στο χαρτί με τον πλήρη αλγόριθμο και μετά τον μεταφέρεις σε κώδικα. Έτσι που πας να τον γράψεις απ' ευθείας θα κάνεις λάθη ειδικά αν είναι νέος.
απιστευτος Μάϊος 11, 2007 Author #13 Μάϊος 11, 2007 ναι οντως.καλα εγω δε περιμενα τιποτα ετοιμο να μου δωσουν να το αντιγραψω.εχω μπει στην λογικη.αυτο που μονο μου σπαει τα νευρα ειναι το ascii διοτι πρωτη φορα το ακουσα σε αυτην την ασκηση. καθε αρχη και δυσκολη...
απιστευτος Μάϊος 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 μπορει να ναι αυτο?
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);}}
Recommended Posts
Archived
This topic is now archived and is closed to further replies.