Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Google ha appena rinnovato la sua celebre serie A con il Pixel 10a, lo smartphone della serie più conveniente se consideriamo il rapporto tra costo e prestazioni. Con il chip Tensor G4, un design raffinato soprattutto sul retro e l'integrazione profonda di Gemini, il colosso di Mountain View promette un'esperienza premium a un prezzo accessibile. E il retro non ha nessuno scalino
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026
Al MWC Qualcomm annuncia una coalizione industriale per lanciare il 6G entro il 2029 e introduce agenti IA per la gestione autonoma della RAN. Ericsson, presente sul palco, conferma la direzione: le reti del futuro saranno IA-native fin dalla progettazione
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso
CHUWI CoreBook Air è un ultraleggero da 1 kg con Ryzen 5 6600H, display 14" 16:10 e 16 GB LPDDR5. Offre buona portabilità, autonomia discreta e costruzione in alluminio, ma storage PCIe 3.0 e RAM saldata limitano l'espandibilità. A 549 euro sfida brand più noti nella stessa fascia di mercato.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-12-2006, 21:09   #1
Ledmauro
Member
 
L'Avatar di Ledmauro
 
Iscritto dal: Jun 2006
Città: Palermo
Messaggi: 278
problema nubbio in C

Ciao a tutti. Ho da poco acquistato il libro "C corso completo di programmazione" e sto appena entrando nel mondo della programmazione Sono arrivato al while, ma non ho capito alcuni passi di un esempio che riporta il libro. L'esempio ha lo scopo di calcolare la media di una classe, e inserendo come valore del grado, il valore -1, il programma termina. Ecco il codice:

Codice:
#include<stdio.h>
int main()
{
    int counter;
    int grade;
    int total;
    float average;
    
    total= 0;
    counter=0;
    
    printf("Inserisci un grado, -1 per terminare \n");
    scanf("%d", &grade);
    
  while(grade != -1) {
        total = total + grade;
        counter = counter + 1;
        printf(" Inserisci un voto: ");
        scanf("%d", &grade);
} 
    if (counter != 0){         
    average= (float) total / counter;
    printf("La media è %.2f", average);
}
else {
    printf("Non hai inserito nessun voto");
}
return 0;
}
Adesso, non capisco alcuni passi...le mie domande sono:
1)Nel ciclo WHILE, perchè nn mette prima la funzione printf e scanf e poi sommare la somma è aumentare il contatore dei voti?
2)Perchè prima del ciclo WHILE bisogna inserire:
Codice:
   printf("Inserisci un grado, -1 per terminare \n");
    scanf("%d", &grade);
Vi prego di rispondere in maniera chiara, perchè ho particolari difficoltà ancora Grazie anticipamente e ciao!!
Ledmauro è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2006, 00:24   #2
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
come puoi vedere la prima scanf la fai sopra il while...questo perchè se metti subito -1 esci diretto.
quindi se metti un valore valido entri nel while e il primo valore ce l'hai già, quindi lo sommi al totale, contatore ecc..
se poi dallo scanf dentro il while metti -1...esci
spero di essere stato chiaro
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2006, 02:41   #3
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da Ledmauro
1)Nel ciclo WHILE, perchè nn mette prima la funzione printf e scanf e poi sommare la somma è aumentare il contatore dei voti?
printf e scanf le mette alla fine anziché all'inizio perché in tal modo il check del valore di uscita (-1) avviene praticamente subito dopo la scanf. se invece printf e scanf fossero all'inizio accadrebbe che prima del check verrebbe effettuata un'iterazione completa e il -1 verrebbe calcolato come un valore qualunque.

Quote:
2)Perchè prima del ciclo WHILE bisogna inserire:
Codice:
   printf("Inserisci un grado, -1 per terminare \n");
    scanf("%d", &grade);
la scanf prima del while serve perché altrimenti quando entri nel while la prima volta fai un'iterazione senza aver fatto nessuna scanf prima. questo è causato dal fatto precedente, cioè che la scanf del while si trova alla fine anziché all'inizio.


più chiaro di così non ci riesco
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2006, 12:53   #4
Ledmauro
Member
 
L'Avatar di Ledmauro
 
Iscritto dal: Jun 2006
Città: Palermo
Messaggi: 278
Grazie mille, ho capito
Ledmauro è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026 6G, da rete che trasporta dati a rete intelligen...
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso CHUWI CoreBook Air alla prova: design premium, b...
Roborock Saros 20: il robot preciso e molto sottile Roborock Saros 20: il robot preciso e molto sott...
ASUS ROG Kithara: quando HIFIMAN incontra il gaming con driver planari da 100mm ASUS ROG Kithara: quando HIFIMAN incontra il gam...
Star Wars: Knights of the Old Republic R...
Huang, NVIDIA: OpenClaw ha realizzato in...
Annunciano il recupero di 4,8 milioni di...
Oggi degli ottimi auricolari Sony con ca...
Muffa in casa? Questo deumidificatore da...
Sonos Era 100: il punto d'ingresso per u...
"Non stiamo sostituendo nessuno con...
Tutti i robot in offerta ora: prezzi bas...
Fra 3 giorni, a mezzanotte, Amazon attiv...
Il principale limite del MacBook Neo &eg...
899€ in tutti i colori, crolla il prezzo...
Sempre più pubblicità su Y...
Costo della memoria alle stelle? Non ave...
GPT-5.4 cambia il modo di usare ChatGPT:...
Centinaia di petabyte in una molecola: l...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 13:36.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v