Programmation en C pour changer toutes les lettres majuscules et toutes les lettres plus basses

C’est mon code

#include  #include  #include  #include  char chaCap(char n); int main() { char ch,a; printf("Enter Sentence\n"); while((ch=getchar()) != '\n') { chaCap(ch); printf("%c",a); } printf(" \n"); return 0; } void chaCap(char n) { if(n >= 'a' && n <='z') n-=32; } 

j’ai besoin

  1. Demander à l’utilisateur d’entrer la phrase
  2. Convertir la phrase en lettres majuscules et imprimer
  3. Convertir la phrase en minuscules et imprimer
  4. Convertissez chaque caractère s’il est supérieur à inférieur et vice versa.

Je me suis mis à changer de majuscule, mais je ne pouvais pas baisser et inversement.

quand j’ai créé le code pour les 2. et 3, getchar () n’est plus rien

Utilisez la fonction tolower () :

  while((ch=getchar()) != '\n') { printf("%c", tolower(ch)); } 

vous devez renvoyer une valeur dans la fonction chaCap(char n) ,

 char chaCap(char n)//need to return char instead of void { if(n >= 'a' && n <='z') n-=32; return n; // return capital letter here } 

et ensuite obtenir une valeur de retour lors de l'appel dans main() ,

 int main() { //... while((ch=getchar()) != '\n') { a = chaCap(ch); // get return value printf("%c",a); } } 
 #include  #include  #include  char *strlwr(char *str){ char *s; for(s = str; *s; ++s){ if(isupper(*s)) *s = tolower(*s); } return str; } char *strupr(char *str){ char *s; for(s = str; *s; ++s){ if(islower(*s)) *s = toupper(*s); } return str; } char *strvrs(char *str){ char *s; for(s = str; *s; ++s){ if(islower(*s)) *s = toupper(*s); else if(isupper(*s)) *s = tolower(*s); } return str; } int main(void){ int ch; size_t i = 0, size = 32; char *str = malloc(size); printf("Enter Sentence\n"); while((ch=getchar()) != '\n' && ch != EOF){ str[i++] = ch; str[i++] = '\0'; if(i-- == size){ char *temp = realloc(str, (size += 32)); if(!temp){ fprintf(stderr, "realloc error\n"); free(str); exit(EXIT_FAILURE); } str = temp; } } printf("original : %s\n", str); printf("vice versa : %s\n", strvrs(str)); printf("upper : %s\n", strupr(str)); printf("lower : %s\n", strlwr(str)); free(str); return 0; } 

Déclarez ch tant que variable globale.

Le programme suivant changera toutes les lettres majuscules en minuscules et toutes les lettres minuscules en majuscules.

Votre programme a besoin de quelques modifications pour obtenir le résultat souhaité. J’ai effectué les modifications requirejses.

 #include  #include  #include  #include  void chaCap(char ch); char ch; int main() { printf("Enter Sentence\n"); while((ch=getchar()) != '\n') { chaCap(ch); printf("%c",ch); } printf(" \n"); return 0; } void chaCap(char ch) { if(ch >= 'a' && ch <='z') ::ch=ch-32; else if(ch>='A'&&ch<='Z') ::ch=ch+32; }