Sequenze di caratteri

di il
3 risposte

Sequenze di caratteri

Ciao ragazzi devo scrivere il seguente programma. Si scriva un programma C che acquisisca sequenze di caratteri da tastiera conclusa da un ritorno a capo. Il programma deve continuare ad acquisire sequenze fino alla ricezione di un EOF (Ctrl-z). Il programma deve quindi stampare le sequenze caratteri acquisiti.
Qualcuno mi può aiutare visto che non viene, quando inserisco EOF (CTRL -Z) non si ferma...
(Quello fatto da me è nel seguito)...grazie mille

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#define MAX 100

int main ()
{
int c;
int i;
char seq[MAX];
printf ("Inserisci le sequenze:\n");

do
{
c = getchar ();
while (c != '\n')
{
seq=c;
i++;
c = getchar();
}
}
while (c != EOF);
getc (stdin);
return 0;
}

3 Risposte

  • Re: Sequenze di caratteri

    Allora innanzitutto la variabile c dovrebbe essere un char, poi serve un solo ciclo while, non due annidati, che termina quando inserisci eof, cioè ctrl+z su una nuova riga
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <ctype.h>
    #define MAX 100
    
    int main ()
    {
    int i=0,j=0;
    char c,seq[MAX];
    printf ("Inserisci le sequenze:\n");
    do
    {
    	c = getchar ();
    	seq[i]=c;
    	i++;
    } while (c != EOF);
    for (j=0;j<i-1;j++)
    	printf("%c",seq[j]);
    getc (stdin);
    return 0;
    }
  • Re: Sequenze di caratteri

    Ok...grazie...però puoi spiegarmi come fa il programma a capire quando vado a capo e comincio una nuova sequenza??
  • Re: Sequenze di caratteri

    Semplicemente perché l'acapo è un carattere che viene memorizzato nella stringa, cioè '\n'...
Devi accedere o registrarti per scrivere nel forum
3 risposte