Confrontare stringhe di parole in una frase - C

di il
17 risposte

17 Risposte - Pagina 2

  • Re: Confrontare stringhe di parole in una frase - C

    Non salta solo quella, se tu avessi fatto un poco di debug ti sarebbe chiaro
    non so che compilatore/IDE usi, ma il mio che è scrauso e che so usare molto poco mi ha indicato il tuo problemino fin da subito, quindi forse è il caso di mettere un po' di impegno
    ad esempio, e con questo finisco, tu hai scritto, nella main:
    
    if(fp==NULL){ 
    	printf("errore nell'apertura del programma");
    }else{
    ......
    
    ora, al mio (non allenato) occhio saltano all'occhio, appunto ben tre problemi
    solo in quelle righe li
    1 "fp==NULL" è un test inutile, anche se pure molti docenti sembra che lo consiglino "!fp" è esattamente la stessa cosa (viene dal K&R non me lo sono inventato io)
    2) ok, che l'apertura del file ha fallito, ma non si da un return con un valore d'errore? almeno un return 1
    3) non hai letto quello che scrivi: perché hai scritto "apertura del programma", e non "apertura del file"

    queste cose indicano che non hai "pensato" al programma mentre lo scrivevi, queste cose non sono "paranoie", fidati
    se le applichi i problemi spariscono, infatti:
    intanto che io leggevo il tuo programma ho "visto" subito il problema principale, e te lo ho indicato immediatamente
  • Re: Confrontare stringhe di parole in una frase - C

    1) però usare fp==NULL non mi pare sia sbagliato e anche se esiste !fp non vedo il problema... ognuno scrive il programma nello stile che vuole
    2)il mio docente non ci ha mai detto di inserire un return 1 dopo il fallimento di apertura, quindi non ne avevo semplicemente idea.
    3)ho scritto quel printf molto velocemente per poi concentrarmi nella parte principale del programma, non ci ho fatto caso perché non era importante.


    grazie comunque per i suggerimenti, sono ancora un neofita... sbagliando imparo
  • Re: Confrontare stringhe di parole in una frase - C

    Ultimo suggerimento:
    il testo, che hai giustamente riportato all'inizio del programma, ti mette anche un insieme di parole di esempio e quale dovrebbe essere l'output del programma con quell'insieme, prova con quello invece che con una serie di parole inventata
Devi accedere o registrarti per scrivere nel forum
17 risposte