1) non ho capito bene la domanda ovvero, non ho capito se con la frase utilizzare i float intendi riscrivere il programma interamente oppure inserire dei numeri con la virgola senza modificare il programma. Nel primo caso dovrebbe funzionare,ma stai attento a non cambiare solo la dicitura int in float perchè devi anche modificare i parametri delle funzioni printf e scanf. Ovvero devi scrivere così:
Nel secondo caso invece siccome accetti solo interi puoi avere problemi quando provi ad inserire numeri decimali.#include <stdio.h>
#include <iostream>
int main () {
char fine;
float val, max=-val, min=val;
printf("Inserire i numeri da confrontare e premere q per terminare.\n");
do {
scanf("%f", &val);
if (val>=max) max=val;
if (val<=min) min=val;
scanf("%c", &fine);
}while(fine!='q');
printf("Massimo: %f\n", max);
printf("Minino: %f\n", min);
system ("pause");
return 0;
}
2) No, forse non hai ben chiaro come funzioni la funzione scanf. Il suo prototipo è int scanf ( const char * formato, &variabile)
Il primo argomento è il tipo di dato che si vuole leggere dalla tastiera. Nel tuo caso "%d" per gli interi o "%f" per i float. Il secondo membro è l'indirizzo della variabile in cui vuoi "salvare" il carattere letto dalla tastiera. Quindi scrivi &fine.
PS: Comunque questo è C e non C++![]()