Chea996
12-11-2016, 17:43
Buonasera, mi sono affacciato da poco alla programmazione e stasera, tentando di scrivere un programma che mi permetta di inserire massimo 10 caratteri minuscoli, non riesco a capire come ignorare i caratteri diversi da quelli minuscoli.
Ho studiato che i caratteri minuscoli hanno tutti una codificazione ASCII consequenziale e compresa tra a e z, ma il confronto non mi funziona. :(
Il codice che ho scritto è il seguente:
#include <stdio.h>
/*Esercizio 1+2 lab03-lab04*/
#define CAPIENZA 10
#define T \0 /*Carattere speciale che fa terminare l'inserimento di caratteri nella stringa*/
int main()
{
typedef struct
{
char Lista[CAPIENZA];
}ListaSequenziale;
ListaSequenziale TipoL;
int i;
char j; /*serve per memorizzare il carattere non valido inserito*/
printf("Inserire 10 caratteri minuscoli oppure di meno seguiti da T maiuscola, tutti diversi: ");
for(i=0;i<CAPIENZA;i++)
{
scanf("%c",&TipoL.Lista[i]);
if(TipoL.Lista[i]=='T')
{
TipoL.Lista[i]='\0';
i=CAPIENZA;
}
if(TipoL.Lista[i]<'a'||TipoL.Lista[i]>'z'); /*NON FUNZIONA QUI*/
{
j=TipoL.Lista[i];
}
}
printf("%s\n",TipoL.Lista);
printf("Il carattere inserito %c non è valido ed è stato ignorato\n\n",j);
return(0);
}
Ho studiato che i caratteri minuscoli hanno tutti una codificazione ASCII consequenziale e compresa tra a e z, ma il confronto non mi funziona. :(
Il codice che ho scritto è il seguente:
#include <stdio.h>
/*Esercizio 1+2 lab03-lab04*/
#define CAPIENZA 10
#define T \0 /*Carattere speciale che fa terminare l'inserimento di caratteri nella stringa*/
int main()
{
typedef struct
{
char Lista[CAPIENZA];
}ListaSequenziale;
ListaSequenziale TipoL;
int i;
char j; /*serve per memorizzare il carattere non valido inserito*/
printf("Inserire 10 caratteri minuscoli oppure di meno seguiti da T maiuscola, tutti diversi: ");
for(i=0;i<CAPIENZA;i++)
{
scanf("%c",&TipoL.Lista[i]);
if(TipoL.Lista[i]=='T')
{
TipoL.Lista[i]='\0';
i=CAPIENZA;
}
if(TipoL.Lista[i]<'a'||TipoL.Lista[i]>'z'); /*NON FUNZIONA QUI*/
{
j=TipoL.Lista[i];
}
}
printf("%s\n",TipoL.Lista);
printf("Il carattere inserito %c non è valido ed è stato ignorato\n\n",j);
return(0);
}