Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
HONOR Magic V6 è arrivato in Italia a 2.299,90 euro con una promessa precisa: unire 4 mm di spessore da aperto (8,75 mm chiuso nel modello White, 9 mm negli altri colori) a una batteria da 6.660 mAh, la più capiente mai vista su un pieghevole. Lo abbiamo usato per oltre una settimana in versione Red 16/512 GB per capire se lo Snapdragon 8 Elite Gen 5 tiene testa alla concorrenza anche fuori dai benchmark ufficiali
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7 punta su un display ampio e fluido, una batteria capace di accompagnare l'uso quotidiano senza ansie da ricarica e un prezzo accessibile, a partire da 179,90 euro per la versione con 64 GB di storage. Lo Snapdragon 6s 4G Gen 2 e i 4 GB di RAM della configurazione più diffusa frenano però chi cerca reattività e multitasking spinto: ecco il bilancio dopo due settimane di prova diretta
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Polygon è la concept car di Peugeot che mostra il futuro delle soluzioni del segmento B: tra design compatti e innovativi affiancati da dimensioni compatte uno scherzo dalla manovrabilità incredibile per le manovre a bassa velocità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 30-09-2007, 11:17   #1
Il Razziatore
Member
 
L'Avatar di Il Razziatore
 
Iscritto dal: Jul 2006
Messaggi: 74
[C] Problema con switch e getchar()

Ho scritto questo programmino per provare le cose di base (ho iniziato il C da... ieri ):

Codice:
#include <stdio.h>

int n1,n2,risultato,scelta;

main()
{
printf("\nCosa vuoi fare?\n");
printf("1)moltiplicazione   2)addizione\n");
printf("3)divisione         4)sottrazione\n");
scanf("%d",&scelta);
 switch(scelta)
{                    
 case 1: 
    printf("Inserisci il primo numero: ");
    scanf("%d",&n1);
    printf("Inserisci il secondo numero: ");
    scanf("%d",&n2);
     risultato=n1*n2;
    printf("\nIl risultato di %d*%d e': %d\n",n1,n2,risultato);
    break;
 case 2:
     printf("Inserisci il primo numero: ");
     scanf("%d",&n1);
     printf("Inserisci il secondo numero: ");
     scanf("%d",&n2);
      risultato=n1+n2;
     printf("\nIl risultato di %d+%d e': %d\n",n1,n2,risultato);
     break;
   default:
     printf("Non disponibile");
}    
 getchar();
  return 0;
}
Se faccio la moltiplicazione o l'addizione non faccio in tempo a vedere il risultato.
Anche con getchar non funziona.

Come devo fare?

Grazie ciao
__________________
Il Razziatore è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2007, 12:23   #2
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
mettine due.. oppure una scanf di una tua variabile giusto per tenere aperta la schermata..
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2007, 13:15   #3
Il Razziatore
Member
 
L'Avatar di Il Razziatore
 
Iscritto dal: Jul 2006
Messaggi: 74
Ok, grazie mille ora funziona.

Mi è spuntato un altro problema andando a fare la divisione:
Codice:
 case 3:
     printf("Inserisci il primo numero: ");
     scanf("%f",&n1f);
     printf("Inserisci il secondo numero: ");
     scanf("%f",&n2f);
      risultatof=n1/n2;
     printf("\nLa divisione tra %f e %f e': %f",n1f,n1f,risultatof);      
     break;
Quando vado ad inserire il primo numero mi crasha ç___ç

Perchè?
__________________
Il Razziatore è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2007, 13:30   #4
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
non vedo la dichiarazione di quella variabile ma premuso tu l'abbia fatta.. è un double?
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2007, 13:31   #5
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
Quote:
Originariamente inviato da Il Razziatore Guarda i messaggi
Ok, grazie mille ora funziona.

ah, anche prima funzionava ma il tuo occhio non è così svelto da vedere il risultato
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2007, 18:30   #6
Il Razziatore
Member
 
L'Avatar di Il Razziatore
 
Iscritto dal: Jul 2006
Messaggi: 74
Quote:
Originariamente inviato da ndakota Guarda i messaggi
non vedo la dichiarazione di quella variabile ma premuso tu l'abbia fatta.. è un double?
Si si, dichiarata: ecco come si presenta ora
Codice:
#include <stdio.h>

int n1,n2,risultato,scelta;
float n1f,n2f,risultatof;

main()
{
printf("\nCosa vuoi fare?\n");
printf("1)moltiplicazione   2)addizione\n");
printf("3)divisione         4)sottrazione\n");
scanf("%d",&scelta);
 switch(scelta)
{                    
 case 1: 
    printf("Inserisci il primo numero: ");
    scanf("%d",&n1);
    printf("Inserisci il secondo numero: ");
    scanf("%d",&n2);
     risultato=n1*n2;
    printf("\nLa moltiplicazione tra %d e %d e': %d\n",n1,n2,risultato);
    break;
 case 2:
     printf("Inserisci il primo numero: ");
     scanf("%d",&n1);
     printf("Inserisci il secondo numero: ");
     scanf("%d",&n2);
      risultato=n1+n2;
     printf("\nLa somma tra %d e %d e': %d\n",n1,n2,risultato);
 case 3:
     printf("Inserisci il primo numero: ");
     scanf("%2.2f",&n1f);
     printf("Inserisci il secondo numero: ");
     scanf("%2.2f",&n2f);
      risultatof=n1/n2;
     printf("\nLa divisione tra %2.2f e %2.2f e': %2.2f",n1f,n1f,risultatof);      
     break;
   default:
     printf("Non disponibile");
}    
 getchar(); 
 getchar();
  return 0;
}
Quote:
Originariamente inviato da ndakota Guarda i messaggi
ah, anche prima funzionava ma il tuo occhio non è così svelto da vedere il risultato
... forse lo devo aggiornare...
__________________
Il Razziatore è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2007, 19:12   #7
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
ma funziona o no? in ogni caso ricordati di controllare il secondo numero nella divisione che non può essere zero altrimenti ti crasha in runtime..
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2007, 19:45   #8
Il Razziatore
Member
 
L'Avatar di Il Razziatore
 
Iscritto dal: Jul 2006
Messaggi: 74
Si, continua a crasharmi. Scrivo 9, do invio e crasha subito.
__________________
Il Razziatore è offline   Rispondi citando il messaggio o parte di esso
Old 01-10-2007, 15:40   #9
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16214
Quote:
Originariamente inviato da Il Razziatore Guarda i messaggi
Ok, grazie mille ora funziona.

Mi è spuntato un altro problema andando a fare la divisione:
Codice:
 case 3:
     printf("Inserisci il primo numero: ");
     scanf("%f",&n1f);
     printf("Inserisci il secondo numero: ");
     scanf("%f",&n2f);
      risultatof=n1/n2;
     printf("\nLa divisione tra %f e %f e': %f",n1f,n1f,risultatof);      
     break;
Quando vado ad inserire il primo numero mi crasha ç___ç

Perchè?
Non vorrei sbagliare, ma mi sa che rimane un newline sullo standard output dopo che hai operato la scelta; e quello, venendo letto dalla scanf successiva, dà problemi.
Ora provo io...
EDIT: boh... io, con un codice simile, nessun problema...
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Chi scherza col fuoco si brucia.
Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici
REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu

Ultima modifica di Ziosilvio : 01-10-2007 alle 15:49.
Ziosilvio è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere? Recensione HONOR Magic V6: spessore record e sup...
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni Redmi Pad 2 9.7: ampio display, economico e peso...
Peugeot Polygon Concept: ecco il futuro delle utilitarie Peugeot Polygon Concept: ecco il futuro delle ut...
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione Reno16 Pro: il compatto di OPPO punta su fotocam...
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco Hisense 55U7SE: tuttofare e accessibile, il Min...
Chat Control: il Parlamento europeo viet...
vivo Watch GT 2: stile, salute e autonom...
Il fix di Microsoft Defender è pe...
SentinelOne integra Prompt Security con ...
Ha fotografato Giove con una Game Boy Ca...
Sony RX10 V: tornano le fotocamere bridg...
OpenAI lancia ChatGPT Lavoro: l'agente c...
GPT-5.6 Sol 'asfalta' Claude Fable 5: Op...
Netflix ha ucciso la TV coi canali, ora ...
Kyndryl estende i servizi per il cloud s...
Addio allo scalino delle fotocamere? Una...
"Il mio piccolo sporco segreto"...
Instagram e Facebook sotto accusa: secon...
GeForce RTX 5090 SE in arrivo? NVIDIA st...
Ollama, nato da due ex Docker, chiude un...
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: 16:52.


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