k_mishima
21-04-2007, 14:30
Salve, ho provato a convertire da MAIUSCOLO a minuscolo e viceversa un carattere tramite operatori bitwise ma il programma non va, dopo la scelta, non mi fa fare la scanf e sinceramente non capisco perchè
/*Algoritmo che converte un carattere da maiuscolo a minuscolo tramite bitwise*/
/*E il contrario*/
#include <stdio.h>
int MAtoMIN(char x);
void MINtoMA(char y,char *w);
main()
{
int scelta;
char x,z;
puts("Digita che tipo di conversione vuoi fare");
puts("[0] Da maiuscolo a minuscolo");
puts("[1] Da minuscolo a maiuscolo");
scanf("%d",&scelta);
if (scelta==0)
{
printf("Digita un carattere MAIUSCOLO: ");
scanf("%c",&x);
z=MAtoMIN(x);
printf("Carattere convertito: %d\n\n",z);
}
else if (scelta==1)
{
printf("Digita un carattere minuscolo: ");
scanf("%c",&x);
MINtoMA(x,&z);
printf("Carattere convertito: %d\n\n",z);
}
else
puts("Scelta errata");
system("pause");
}
int MAtoMIN(char x)
{
return (x|32);
}
void MINtoMA(char y,char *w)
{
*w=(y^32);
}
Qualcuno sa cosa posso aver sbagliato? Tnx ;)
/*Algoritmo che converte un carattere da maiuscolo a minuscolo tramite bitwise*/
/*E il contrario*/
#include <stdio.h>
int MAtoMIN(char x);
void MINtoMA(char y,char *w);
main()
{
int scelta;
char x,z;
puts("Digita che tipo di conversione vuoi fare");
puts("[0] Da maiuscolo a minuscolo");
puts("[1] Da minuscolo a maiuscolo");
scanf("%d",&scelta);
if (scelta==0)
{
printf("Digita un carattere MAIUSCOLO: ");
scanf("%c",&x);
z=MAtoMIN(x);
printf("Carattere convertito: %d\n\n",z);
}
else if (scelta==1)
{
printf("Digita un carattere minuscolo: ");
scanf("%c",&x);
MINtoMA(x,&z);
printf("Carattere convertito: %d\n\n",z);
}
else
puts("Scelta errata");
system("pause");
}
int MAtoMIN(char x)
{
return (x|32);
}
void MINtoMA(char y,char *w)
{
*w=(y^32);
}
Qualcuno sa cosa posso aver sbagliato? Tnx ;)