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