Visit

15 November 2011

input keyboard, with scanf

lezione input da keyboard with scanf, esercizio 8.5

/* esercizio 8.5
* controllo input con scanf
* disegnare una cornice una stringa con/senza spazi
* utilizzando un carattere a scelta, anche il carattere
* e' un char
* utilizzare le caratteristiche di scanf studiate
* compile with gcc -Wall -g nome.c -o nomeeseguibile
*/

#include
#include
#include

int main (int argc, char **argv)
{
char messaggio[] = "Welcome in Linux Box by Erika Lab";
char carattere[] = " ";
char mess_01[256];
int cicloInterno = 0, cicloEsterno = 0, dummy = 0, lassa = 0, ancora = 0;

/* disegno una cornice con i vari caratteri */

/* questo impedisce di avere caratteri ancora in input
do {
c = scanf ("% [sdc o altro] " , [&] var );
if ( c == 0) {
scanf ("%*[^\ n ]");
printf ("var: Attenzione : input non valido .\ n ");
}
} while ( c == 0); */


printf ("immetti il carattere: ");
do {
ancora = scanf ("%s" , carattere );
if ( ancora == 0) {
scanf ("%*[^\n]");
printf ("carattere: Attenzione : input non valido .\n ");
}
} while ( ancora == 0);

ancora = 0;
printf ("immetti messaggio: ");
do {
ancora = scanf (" %[^\n]" , mess_01 ); /* qui ho messo " %[^\n]"
per mettere stringhe con spazi */
if ( ancora == 0) {
scanf ("%*[^\n]");
printf ("mess_01; Attenzione : input non valido .\n ");
}
} while ( ancora == 0);

dummy = strlen (messaggio) + 4;

while (cicloEsterno < dummy)
{
printf ("%s", carattere);
cicloEsterno++;
}
printf ("\n");

cicloInterno = 0;
cicloEsterno = 0;
while (cicloInterno < dummy)
{
if (cicloInterno < 2)
{
if (cicloInterno == 0)
printf ("%s", carattere);
if (cicloInterno == 1)
{
printf (" ");
lassa = 1;
}
}

if (lassa == 1)
{
printf ("%s ", messaggio);
printf ("%s\n", carattere);
lassa = 0;
}
cicloInterno++;
}

cicloEsterno = 0;
while (cicloEsterno < dummy)
{
printf ("%s", carattere);
cicloEsterno++;
}
printf ("\n");

dummy = strlen (mess_01) + 4;
lassa = 0;
cicloInterno = 0;
cicloEsterno = 0;

while (cicloEsterno < dummy)
{
printf ("%s", carattere);
cicloEsterno++;
}
printf ("\n");

while (cicloInterno < dummy)
{
if (cicloInterno < 2)
{
if (cicloInterno == 0)
printf ("%s", carattere);
if (cicloInterno == 1)
{
printf (" ");
lassa = 1;
}
}

if (lassa == 1)
{
printf ("%s ", mess_01);
printf ("%s\n", carattere);
lassa = 0;
}
cicloInterno++;
}

cicloEsterno = 0;
while (cicloEsterno < dummy)
{
printf ("%s", carattere);
cicloEsterno++;
}
printf ("\n");

return (0);
}


No comments:

Post a Comment