X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=exo3%2Fexo3.c;h=89170ea09430b75907e4bec4b994bb8254ec1eeb;hb=eb0c99634dc36a57993cb69a55985d37c2b24af3;hp=d1b09563b38ddb2d9a7efa01210cb53309f1fa85;hpb=753121470afc9b67c59d5b039715295b984b2e8d;p=TD_C.git diff --git a/exo3/exo3.c b/exo3/exo3.c index d1b0956..89170ea 100644 --- a/exo3/exo3.c +++ b/exo3/exo3.c @@ -1,4 +1,5 @@ #include +#include //FIXME: Comment the code !!! @@ -26,13 +27,40 @@ void reverseString(char* str) { } } +// FIXME: this function have issues with non english characters +void permAlphaChar(char* str, int key) { + char alphabet[26] = "abcdefghijklmnopqrstuvwxyz"; + int str_length = stringLength(str); + + for (int i; i < str_length; i++) { + //if (str[i] == ' ') continue; + for (int j = 0; j < 26; j++) { + if (str[i] == alphabet[j]) { + str[i] = alphabet[(j+key) % 26]; + break; + } else if (str[i] == toupper(alphabet[j])) { + str[i] = toupper(alphabet[(j+key) % 26]); + break; + } + } + } +} + int main() { - char msg[] = "Bonjour et a bientot"; - int length = stringLength(msg); + char rev_msg[] = "Bonjour le monde"; + int rev_length = stringLength(rev_msg); + char perm_msg[] = "Bonjour a tous et toutes"; + int perm_length = stringLength(perm_msg); + + printf("La chaine de caracteres a inverser est \"%s\" et a pour longueur %d caractere(s)\n", rev_msg, rev_length); + reverseString(rev_msg); + printf("La chaine inversee de caracteres est \"%s\"\n", rev_msg); - printf("La chaine de caracteres est \"%s\" et a pour longueur %d caractere(s)\n", msg, length); - reverseString(msg); - printf("La chaine inversee de caracteres est \"%s\"\n", msg); + printf("\n"); + + printf("La chaine de caracteres a permuter est \"%s\" et a pour longueur %d caractere(s)\n", perm_msg, perm_length); + permAlphaChar(perm_msg, 13); + printf("La chaine permutee de caracteres est \"%s\"\n", perm_msg); return 0; }