Grazie al consiglio di Wierstrass, mi sono cimentato a scrivere un programmino semplice, per utilizzare getchar, intercettando un carattere desiderato o preimpostato. spero sia gradito.
# include <stdio.h>
# include <stdlib.h>
//Programma Didattico per apprendere l'utilizzo di getchar fornendo 4 opzioni per uscire dal programma
char Carattere;//Scelgo la stringa da stampare
char NewLine(char InputTastiera);//Creazione prototipo funzione NewLine
char FunctPunto(char InputTastiera);//Creazione prototipo funzione Punto
char FunctEOF(char InputTastiera); //Creazione prototipo funzione Inpu Tastiera
char FunctCaratAScelta (char InputTastiera);//Creazione prototipo funzione CaratAScelta
int main(void)
{
int Scelta;//Scelgo la voce per uscire dal programma
printf("Fai il numero di voce Interessata per terminare il programma:\n");
while(Scelta < 1 || Scelta > 4)//Scelta!=1 && Scelta!=2 && Scelta!=3 && Scelta!=4
// Ripeto il ciclo se scelta
{
printf("1)Esco dal flusso del programma Inserendo il punto\n");
printf("2)Esco dal programma inserendo new line e return\n");
printf("3) Esco dal Programma Quando Raggiungo la fine del finele EOF\n");
printf(" Nota per code Block e-->Per GDBOnline premere Ctrl c per raggiungere EOF\n");
printf("4)Esco dal Flusso del programma con un carattere a scelta\n");
scanf(" %d", &Scelta);
if(Scelta>4 || Scelta<0)printf("Scelta Errata....\nInserire il numero corretto\n");
printf("Inserisci la stringa desiderata:\n ");
}
switch(Scelta)//Esguo una selezione
{
case 1:
NewLine(Carattere);//Richiamo la funzione
break;
case 2 :
FunctPunto(Carattere);//Richiamo la funzione
break;
case 3 :
FunctEOF (Carattere);
break;
case 4 :
FunctCaratAScelta ( Carattere);
break;
default:
printf("Scelta Sbagliata");
break;
}
}
///********************************************************************************
//Creo La funzione NewLIne
char NewLine(char InputTastiera)
{
while((InputTastiera=getchar()) !='.')//Esco quando digito il punto
putchar(InputTastiera);
return InputTastiera;
}
///**********************************************************************
//Creo La funzione Punto
char FunctPunto(char InputTastiera)
{
while((InputTastiera =getchar()) =='\n' || (InputTastiera =getchar()) =='\r')//Uscita dal Programma quando digito invio
//Ottenendo una new Line \n Ed un return \r
{putchar(InputTastiera);}
return InputTastiera;
}
///*******************************************************
//CREO LA funzione EOF
char FunctEOF(char InputTastiera)
{
while((InputTastiera = getchar()) != EOF);//Uscita dal programma quando raggiungo EOF END OF FILE
{InputTastiera = getchar();
putchar(InputTastiera);
printf("Sto Uscendo Dal Programma");}
return InputTastiera;
}
///++++++++++++++++++++++++++++++++++++++
char FunctCaratAScelta (char InputTastiera)
{
while((InputTastiera= getchar()) == '\n' ||(InputTastiera = getchar()) == '\r' );
{printf("Inserisci il Carattere di Uscita\n");
InputTastiera = getchar();//Inserisco il carattere desiderato per l'uscita
printf("Sto Uscendo dal Programma");
return InputTastiera;
getchar();}//Puasa in attesa del comando
}