Δημοσιεύτηκε: 03 Μαρ 2012, 17:08
από migf1
Δες το και πλήρες (με χειροκίνητη διαχείριση των πάντων)....

Μορφοποιημένος Κώδικας: Επιλογή όλων
#include <stdio.h>
#include <ctype.h>

#define MAXINPUT (255+1)
#define NORMAL "ABEIOS"
#define BIFFED "483105"

/* ------------------------------------------------------------------- */
char toBiff( const char c )
{
for (int i=0; NORMAL[i]; i++ )
if ( c == NORMAL[i] )
return BIFFED[i];
return c;
}
/* ------------------------------------------------------------------- */
int main( void )
{
int i;
char msg[ MAXINPUT ] = {'\0'};

printf( "Message: ");
for (i=0; i < MAXINPUT-1 && '\n' != (msg[i] = getchar()); i++ )
msg[i] = toBiff( toupper(msg[i]) );

/* remove '\n' from end of msg (if exists) */
if ( msg[i] == '\n' )
msg[i] = '\0';

/* append 10 '!' at the end of msg, or less if there is no room */
for (int j=0; j < 10 && i < MAXINPUT-1; i++, j++)
msg[i] = '!';

printf("BIFFED : %s\n", msg );

return 0;
}

Εκείνα τα MAXINPUT-1 είναι για να εξασφαλίζουν πως η τελευταία θέση είναι για τον χαρακτήρας '\0' ... παρατήρησε επίσης πως αρχικοποιώ το msg[] με όλο το μήκος τους γεμάτο μηδενικούς χαρακτήρες στην αρχή ;)