Ciclo do_while

di il
1 risposte

Ciclo do_while

Salve a tutti
sapete come posso aggiustare questo programmino in modo tale che ricominci il ciclo solo mettendo y?
praticamente nel punto in cui sono ora anche se metto n o qualsiasi altro carattere mi riparte tutto comunque
grazie

#include<stdio.h>

int main()
{
float N, x, f, sn, sd, mp, i; /*dichiaro le variabili*/
char y, n;
setvbuf(stdout, 0, _IONBF, 0);
sn=0; /*inizializzo alcune variabili*/
sd=0;
mp=0;
do
{
printf("Dammi un numero di coppie "); /*scrivo stringa*/
scanf("%f",&N); /*inserisco un valore da attribuire a N*/

for (i=0; i<N; i++)
{
printf("Dammi dei valori "); /*scrivo di darmi dei valori da utilizzare*/
scanf("%f",&x); /*attribuisco un valore a x*/
printf("Dammi il peso "); /*scrivo di darmi i pesi*/
scanf("%f",&f); /*attribuisco un valore a f*/
sn=sn+x*f; /*calcolo numeratore e denominatore e poi la media pesata*/
sd=sd+f;
mp=sn/sd;
}
printf("La media pesata viene %f\n", mp);
printf("Calcola ancora (y/n)?\n");
scanf("%c %s",&y,&n);
}
while("y");
printf("Press ENTER another time to terminate the program"); /*piccolo punto aggiunto da me per far si che il programma non si apra e si chiuda sedutastante*/
fflush(stdout);
getchar(); getchar();
return 0;
}

1 Risposte

  • Re: Ciclo do_while

    Questa scanf

    scanf("%c %s",&y,&n);

    è sbagliata. Devi usare una sola variabile per la risposta.

    E nella

    while("y");

    manca il confronto di 'y' con la variabile usata.
Devi accedere o registrarti per scrivere nel forum
1 risposte