[C] Esercizio con ciclo while controllato da un valore sentinella

Pubblicità

jolly

Utente Attivo
Messaggi
110
Reazioni
4
Punteggio
38
Salve,questo è l'esercizio che devo svolgere:
Una grande industria chimica retribuisce i propri venditori basandosi sulle provvigioni.Il venditore riceve 200€ la settimana più il 9% delle proprie vendite lorde portate a termine durante la settimana.Per esempio un venditore che in una settimana venda prodotti chimici per un valore di 5000€,riceverà 200€ più il 9% di 5000€,ovverosia un totale di 650€.
Scrivete un programma che prenda in input le vendite lorde di ogni venditore e quindi calcoli e visualizzi il salario di ognuno di loro.Elaborate i conti di un venditore per volta.

Ecco come ho svolto il programma:
Codice:
#include <stdio.h>

/* la funzione main è il punto d'inizio dell'esecuzione del programma */
int main( void )
{
	int valore; /* dichiarazione variabile */
	
	/* fase di elaborazione */

	printf( "Inserisci il valore -1 per uscire: " ); /* sollecita l'inserimento */
	scanf( "%d" , &valore ); /* legge il valore inserito dall'utente e lo memorizza nella variabile valore */

	/* cicla finchè il valore della sentinella non viene inserito dall'utente */

	while ( valore != -1 ) { /* inzizio del ciclo while controllato da un valore sentinella */
		valore = valore * 9 / 100 + 200; /* aggiunge alla variabile valore, 200€ fissi settimanali più il 9% delle vendite */
		printf( "Il salario è %d\n\n" , valore ); /* visualizza il valore totale */
	
		/* acquisisce il prossimo valore dell'utente */

		printf( "Inserisci le vendite -1 per uscire: " ); /* sollecita l'inserimento */
		scanf( "%d" , &valore ); /* legge il valore inserito dall'utente */

	} /* fine del ciclo while */
	
	return 0; /* indica che il programma è terminato con successo */
} /* fine della funzione main */

Il programma funziona,però vorrei un vostro parere,se il codice è strutturato bene oppure se devo modificare qualcosa; grazie.
 
Ma in questo modo lavori su unico venditore mentre la traccia mi fa capire che dovresti considerare il fatto che potrebbe essercene più di uno..o sbaglio? Apparte questo il codice è ben strutturato..niente da dire :)
 
Grazie della risposta,ora ho completato il ciclo while,e da come ho capito ci sono 2 tipi di iterazone:
Iterazione controllata da un contatore che è da usare quando sappiamo con precisione o meglio in anticipo quanti input ci sono.

Iterazione controllata da un valore sentinella,che è preferibile usare quando non sappiamo di preciso quanti input ci saranno.
Spero di aver capito bene :)

Esatto la traccia dice che ci potrebbe essere più di un venditore,ma poichè non specifica quanti input ci dovranno essere,ho pensato di usare un ciclo while controllato da un valore sentinella.

In pratica è come se lavorassi su tanti venditori,perchè dopo ogni calcolo di un salario,si passa ad un altro venditore etc ,fino a che non si digita il valore sentinella(-1)
 
Pubblicità
Pubblicità
Indietro
Top