Dubbio su una consegna

di Anonimizzato28411 il
30 risposte

30 Risposte - Pagina 2

  • Ah mi dice che l' espressione deve avere un valore costante(errore riferito a lim)
  • Ma non è solo questo ... anche se metti 10 al posto di lim poi il codice funziona? Come lo provi?
  • 
    void main()
    {
    	int lim = 10;
    	int c, s[10];
    	int i = 0;
    	c = getchar();
    	while (i < lim - 1)
    	{
    		++i;
    		if ((c = getchar()) != EOF) s[i] = c;
    		else if (c != '\n') s[i] = c;
    		putchar(s[i]);
    	}
    }
    
    Così funziona
  • SuperManPC ha scritto:


    
    void main()
    {
    	int lim = 10;
    	int c, s[10];
    	int i = 0;
    	c = getchar();
    	while (i < lim - 1)
    	{
    		++i;
    		if ((c = getchar()) != EOF) s[i] = c;
    		else if (c != '\n') s[i] = c;
    		putchar(s[i]);
    	}
    }
    
    Così funziona
    Lo dici perché l'hai provato?
  • Si, funziona ma non è proprio uguale al for
  • Ma se non è uguale allora NON funziona
  • Intendevo l' output con putchar non è uguale, l' input si
  • Ma no che non è uguale.

    Se scrivo

    ciao

    e RETURN, cosa succede? Cosa visualizzi? Il ciclo termina?
  • No il mio non termina
  • 
    int lim = 10;
    	int c, s[10];
    	int i = 0;
    	while (i < lim - 1)
    	{
    		++i;
    		if ((c = getchar()) != EOF) s[i] = c;
    		if (c != '\n') s[i] = c;
    		return;
    	}
    
    Così termina come il for
  • Ma che dici !?? Così termina TUTTA la funzione al primo giro !!

    Tu non hai idea di cosa sia il linguaggio C e a cosa servano le varie istruzioni. Tu e il C non siete fatti l'uno per l'altro. Mi dispiace ma per ora dovresti lasciar perdere e dedicarti ad altro.
  • @SuperManPC probabilmente hai studiato tanto, ma ti consiglio di partire nuovamente da 0. Ancora non hai chiari molti concetti chiave della programmazione che sono fondamentali, quindi andando avanti non fai altro che peggiorare la situazione. Hai un' estate davanti, quindi se proprio vuoi imparare a programmare, prendi un libro che tratti LE BASI della programmazione e inizia dal "hello world", ogni capitolo vai facendo gli esercizi e vai avanti SOLO quando sai risolvere almeno il 90% di essi! altrimenti non imparerai mai! Buono studio...
  • Il mio parte da hello word ma si lancia subito nel complesso, non ha trattato return finora. Che libro mi consigliate sulle basi?
    Magari è più avanti return sul mio libro, sembra che non spiega le cose in ordine di difficoltà.
  • oregon ha scritto:


    Ma che dici !?? Così termina TUTTA la funzione al primo giro !!

    Tu non hai idea di cosa sia il linguaggio C e a cosa servano le varie istruzioni. Tu e il C non siete fatti l'uno per l'altro. Mi dispiace ma per ora dovresti lasciar perdere e dedicarti ad altro.
    Così invece?:
    
    while (i < lim - 1)
    	{
    		++i;
    		if ((c = getchar()) != EOF) s[i] = c;
    		else if (c != '\n') s[i] = c;
    		break;
    
    	}
    
  • SuperManPC ha scritto:


    Il mio parte da hello word ma si lancia subito nel complesso, non ha trattato return finora. Che libro mi consigliate sulle basi?
    Magari è più avanti return sul mio libro, sembra che non spiega le cose in ordine di difficoltà.
    Se con il tuo libro non ti trovi bene cambialo! già l'utente @oregon ti aveva consigliato il Deitel&Deitel in un tuo thread, e posso dire avendolo letto che anche secondo me è un opzione molto valida. Puoi comunque fare una ricerca su internet.
Devi accedere o registrarti per scrivere nel forum
30 risposte