codice://*Aggiunge 1 al contatore se il numero inserito da input e minore di soglia *// #include "stdafx.h" int main() { int contatore = 0; int numero = 0; int i, n; int soglia; char c; do { printf ("Inserire il numero di quanti volori devi utilizare "); scanf("%d",&n); printf("Inserire il valore di soglia "); scanf("%d",&soglia); for (i=0; i<n; i++) { printf(" Inserire il valore N "); scanf("%d",&numero); printf("Il livello del contatore attuale e' di %d \n\n",contatore); if (numero < soglia) { contatore = contatore + 1; } } printf(" Il vallore di Contatore e' %d \n",contatore); printf(" Vuoi continuare Y/N \n"); scanf("%c",&c); } while (c=='y' ||c=='Y'); return 0; }
allora il problema in efetti sono due
1) Do While (che alla prima ripetizione funziona mentre, la secondavolta indifferentemente da Y/N termina)
2) La printf che mi mostra il contatore attuale non funziona come dovrebbe , perche se il l' IF risulta falsa tutto OK, ma se l' IF risulta vera il contatora si aggiorna ma il valore della printf viene aggiornato nell (i+1).
Mentre se sposto la printf dopo contatore=contatore+1, in caso di IF falso non mostra a video la Printf, ma solo se l' IF e falso meme posso fare
grazie 1000

Rispondi quotando