Jump to content

προγραμμα σε dev c++


Recommended Posts

θελω να γραψω ενα προγραμμα που να εισαγει μικρα γραμματα(αγγλ) και θα τα μετατρεπεI σε κεφαλαια θα τα εμφανιζει στην οθονη και θα γραφει τον αντιστοιχο ASCll κωδικο σε καποιο αριθμητικο συστημα...μηπως υπαρχει καμια ιδεα?ξερω οτι αυτο γινεται με τη συναρτηση touper(a) αλλα στη πραξη δεν ειναι τοσο ευκολα τελικα.αυτο με την ASCll δε το εχω πολυπιασει!!!ειμαι αρχαριος ακομα εννοειται..........

Link to comment
Share on other sites

μετατρεπεις τα γραματα στους αντιστοιχους αριθμους τους (υπαρχει συναρτηση που το κανει δε θυμαμαι ονομα τωρα) και μετα προσθετεις σε καθε ενα γραμμα το 32 αν θυμαμαι καλα διοτι στον ασκιι τα μικρα με τα κεφαλαια απεχουν κατα 32. ε, μετα τα εκτυπωνεις παλι αφου φυσικα αποθυκευσεις τα νεα κεφαλαια πια γραμματα

Link to comment
Share on other sites

τελικα ομως ηταν μονο για την μετατροπη των μικρων σε κεφ.με το 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

ειμαι πολυ κοντα αλλα κατι στραβωνει ρε γαμωτο.αυτο που λεει ειναι για 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

τελικα εγραψα αυτο:

#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

Η scanf δεν καταλαβαίνω γιατί υπάρχει, αφού τους χαρακτήρες τους τσιμπάς με την getchar.

Μου φαίνεται ότι το έγραψες βιαστικά το πρόγραμμα. Κάνε ένα flow control graph στο χαρτί με τον πλήρη αλγόριθμο και μετά τον μεταφέρεις σε κώδικα. Έτσι που πας να τον γράψεις απ' ευθείας θα κάνεις λάθη ειδικά αν είναι νέος.

Link to comment
Share on other sites

ναι οντως.καλα εγω δε περιμενα τιποτα ετοιμο να μου δωσουν να το αντιγραψω.εχω μπει στην λογικη.αυτο που μονο μου σπαει τα νευρα ειναι το ascii διοτι πρωτη φορα το ακουσα σε αυτην την ασκηση. καθε αρχη και δυσκολη...

Link to comment
Share on other sites

τελικα εγραψα αυτο:

#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

Β66

10

επισης οταν παταω enter μου βγαζει 10.

ti μπορει να ναι αυτο?

Link to comment
Share on other sites

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.