QUALCUNO SA TROVARE IL PERCHE' VIENE COMUNICATO IL MESSAGGIO DI EERORE: "exited with non-zero status"

di Anonimizzato21577 il
5 risposte
Sto seguendo un corso di programmazione in liguaggio C e svolgendo un esercizio ho riscontrato il problema di messaggio di errore "exited with non-zero status" ma il codice sorgente mi sembra scritto bene.... non capisco l'errore....

Allego il file printscreen con codice sorgente ed output; se potete, rispondetemi, grazie.

https://prnt.sc/fax9k

Grazie.

5 Risposte

  • Nel caso qualcuno volesse provarci con il suo compilatore, posto il breve codice sorgente anche se è sul file printscreen allegato sopra:
    
    #include <stdio.h>
    int main( void )
    {
    	  puts( "QUESTO E' UN PROGRAMMA PER IL CALCOLO DELLE COMMISSIONI SULLE VENDITE\n" );
    	  float venditaLorda;
    	  puts( "Inserire la vendita lorda settimanale\n(-1 per terminare)" );
    	  scanf( "%f", &venditaLorda );
    	  
    	  while ( venditaLorda != -1 ) {
    	      
    	      float guadagno = venditaLorda / 100 * 9 + 200;
    	      
    	      printf( "Il guadagno settimanale del 9% sul lordo delle vendite più 200 euro di fisso settimanale ammonta a:\n%.3f euro\n", guadagno );
    	      
    	      puts( "Inserire la vendita lorda settimanale\n(-1 per terminare)" );
    	      scanf( "%f", &venditaLorda );
    	  
    	   }
    }
    
  • Il carattere % è inteso come carattere di controllo. Nella stringa scrivi 9%%
  • Ma non manca il return 0 ??
  • Cerco di spiegarti meglio osa ti sta dicendo oregon
    In questa riga di codice
     printf( "Il guadagno settimanale del 9% sul lordo delle vendite più 200 euro di fisso settimanale ammonta a:\n%.3f euro\n", guadagno );
    compaiono 2 caratteri di controllo %, il primo nella prima parte 9% ed il secondo in %.3f, quindi il compilatore si attende 2 parametri ma il parametro passato è uno solo: guadagno.

    Per evitare che il primo % venga considerato un carattere di controllo ma sia invece trattato come testo semplice devi aggiungere un secondo %

    ovvero
     "Il guadagno settimanale del 9%% sul lordo delle vendite più 200 euro di fisso settimanale ammonta a:\n%.3f euro\n", guadagno );
    in questo caso verrà considerato come stringa e non come carattere di controllo, con conseguente result 0 (nessun errore)
  • Grazie a tutti ed eccovi il printscreen del programma corretto....senza di voi non ce l'avrei fatta!! ) ;-DD

    https://prnt.sc/fbfh3

    Ciaaaao!
Devi accedere o registrarti per scrivere nel forum
5 risposte