Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    26

    [C] Programma abbastanza banale

    Ciao a tutti,
    premetto che sto studiando C all'uni e che ne so ancora molto poco però per esercitazione faccio i programmi che ci vengono consigliati.

    Vendiamo a noi, devo fare un prog che letta una parola da input deve contare il numero di vocali e numerarle, ho fatto il codice ma una volta eseguita, crasha penso perchè si inneschi un ciclo infinito sicuramente a causa di errori di sintassi miei visto che non ricordo alcune cosucce.
    Ecco il codice:

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    
    int main()
    {
    
    char parola[30];
    int k;
    int a,e,i,o,u;
    
    //Putting char by char into an array
     printf("Inserire parola: ");
     scanf("%s",parola);
     
    //Comparing the char with the vowels
     for(k=0; parola[k]!='\0'; i++)
     {
              if(parola[i]=='a')
              a++;
              if(parola[i]=='e')
              e++;
              if(parola[i]=='i')
              i++;
              if(parola[i]=='o')
              o++;
              if(parola[i]=='u')
              u++;   
     }
     
    //Showing the numbers of vowels
     if(a!=0)
     printf("Il numero di a nella parola è: %d\n",a);
     if(e!=0)
     printf("Il numero di e nella parola è: %d\n",e);
     if(i!=0)
     printf("Il numero di i nella parola è: %d\n",i);
     if(o!=0)
     printf("Il numero di o nella parola è: %d\n",o);
     if(u!=0)
     printf("Il numero di u nella parola è: %d\n",u);     
    
    system("pause");
    }
    Grazie a tutti anticipatamente!

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304

    Moderazione

    Come richiesto dal regolamento, il titolo della discussione non deve essere dispersivo, ma deve dare un'idea della discussione.

    Di "programmi abbastanza banali" se ne possono creare infiniti.

    Inoltre, il codice va postato all'interno degli appositi tag [code] e [/code].

    Correggo titolo e, ove possibile, l'impostazione del codice.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    26
    Grazie a scusa non accadrà più

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Beh ... e' un errore di "distrazione" ...

    Ricorda che stai usando k come indice ... in rosso gli errori ...

    codice:
    for(k=0; parola[k]!='\0'; i++)
     {
              if(parola[i]=='a')
    ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    26
    Grazie che fesseria abnorme :S
    Ah un altra domanda, xke se inizializzo cosi:

    codice:
    int a,e,o,i,u;
    non funziona (mi da valori sballati), mentre se inizializzo

    codice:
    int a=0;
    int e=0;
    int i=0;
    int o=0;
    int u=0;
    MI da valori giusti?

    Grazie

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Perche' nel primo caso il valore assunto da ogni variabile NON e' zero, ma un numero casuale ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7

    Re: [C] Programma abbastanza banale

    Originariamente inviato da ZioDema2
    ...
    sicuramente a causa di errori di sintassi miei
    ...
    Tranquillo se ci fossero errori di sintassi il compilatore ti stroncherebbe sul nascere. A tal proposito ti consiglio di aumentare il livello d'attenzione del compilatore. Ad esempio compilando con:
    codice:
    $ gcc -Wall -ansi -pedantic main.c
    si ottiene:
    codice:
    main.c: In function 'main':
    main.c:44: warning: control reaches end of non-void function
    Il problema è che una sintassi corretta non implica necessariamnte una semantica corretta.
    ;-)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.