Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione OPPO Find X9 Ultra: è lui il cameraphone definitivo
Recensione OPPO Find X9 Ultra: è lui il cameraphone definitivo
Find X9 Ultra è lo smartphone che tanti aspettavano, e finalmente è arrivato anche in Italia. Abbiamo provato il flagship di OPPO per diverse settimane, e siamo volati fino in Cina alla sua presentazione ufficiale. Tutto gira intorno al suo incredibile comparto fotografico in collaborazione con Hasselblad e con un totale di sei fotocamere. Il resto è un mix di specifiche di altissimo livello, così come il prezzo. Vi raccontiamo tutto nella nostra recensione completa.
Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet
Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet
Il nuovo Deebot X12 OmniCyclone abbina un sistema di raccolta dello sporco senza sacchetto, un rullo di lavaggio esteso e la tecnologia FocusJet per intervenire più efficacemente sulle macchie più persistenti. Un robot completo e preciso che aiuta a tenere puliti i pavimenti di casa con il minimo sforzo
Narwal Flow 2: la pulizia di casa con un mocio a nastro
Narwal Flow 2: la pulizia di casa con un mocio a nastro
Narwal Flow 2 implementa un mocio a nastro che esegue una pulizia dettagliata del pavimento di casa, in abbinamento ad un potente motore di aspirazione della polvere: un prodotto ideale per gestire in autonomia e con grande efficacia le necessità di pulizia dei pavimenti di casa
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 30-05-2013, 11:39   #1
Alex_G
Junior Member
 
Iscritto dal: Nov 2012
Messaggi: 28
[C] PROBLEMA CON SWITCH

Ciao a tutti, sto provando a scrivere questo programma per calcolare la paga di diversi dipendenti utilizzando il comando switch; eseguendo il programma nonostante io immetta un carattere incluso nei casi dello switch, si verifica l'azione di default... cosa è sbagliato secondo voi ? Grazie in anticipo

int codice, paga_fissa=500, stipendio_ora=6, stipendio_ora_straordinario=9, paga_lavoratori_privvigione = 250, stipendio_fisso_articolo=5, articoli_prodotti;
float stipendio_dipendente, ore_lavorative, ore_bonus, paga_straordinari, vendite_lorde, bonus_dipendente_a_prov;

printf("Inserire la lettera corrispondente al dipendente del quale si vuole calcolare lo stipendio, seguendo la seguente tabella:\na: manager\nb: lavoratori a ore\nc:lavoratori a provvigione\nd:lavoratori a cottimo\nEOF: per terminare il programma;\n");
scanf("%d", &codice);

while (( codice = getchar() ) != EOF) {

switch ( codice ) {
case 'a':
stipendio_dipendente = paga_fissa;
printf("Lo stipendio ammonta ad una cifra di %.2f euro\n", stipendio_dipendente);
break;

case 'b':
printf("Inserire il numero di ore di lavoro effettuate:\n");
scanf("%f", &ore_lavorative);

if ( ore_lavorative<=40) {
stipendio_dipendente = ore_lavorative*stipendio_ora;
printf("Lo stipendio ammonta ad una cifra di %.2f euro\n", stipendio_dipendente);
}
else {
ore_bonus = ore_lavorative -40;
paga_straordinari = ore_bonus*stipendio_ora_straordinario;
stipendio_dipendente = 40*stipendio_ora + paga_straordinari;
printf("Lo stipendio ammonta ad una cifra di %.2f euro\n", stipendio_dipendente);
}


break;

case 'c':
printf("Inserire l'ammmontare in euro delle vendite lorde del dipendente:\n");
scanf("%f", &vendite_lorde);

bonus_dipendente_a_prov = (vendite_lorde/100)*5.7;
stipendio_dipendente = bonus_dipendente_a_prov + paga_lavoratori_privvigione;

printf("Lo stipendio ammonta ad una cifra di %.2f euro\n", stipendio_dipendente);
break;


case 'd':
printf("Inserire il numero di articoli prodotti:\n");
scanf("%d", &articoli_prodotti);

stipendio_dipendente = articoli_prodotti*stipendio_fisso_articolo;

printf("Lo stipendio ammonta ad una cifra di %.2f euro\n", stipendio_dipendente);
break;


default:
printf("E' stato inserito un numero di identificazione non corretto. Inserire nuovamente il numero per identificare il dipendente");
break;


}
}
return 0;
Alex_G è offline   Rispondi citando il messaggio o parte di esso
Old 30-05-2013, 19:32   #2
lorenzo001
Senior Member
 
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
Se è un carattere

scanf("%c", &codice);

e non

scanf("%d", &codice);
lorenzo001 è offline   Rispondi citando il messaggio o parte di esso
Old 31-05-2013, 00:55   #3
Alex_G
Junior Member
 
Iscritto dal: Nov 2012
Messaggi: 28
Quote:
Originariamente inviato da lorenzo001 Guarda i messaggi
Se è un carattere

scanf("%c", &codice);

e non

scanf("%d", &codice);
Ho provato ma continua a darmi il messaggio di default... S: non so che fare...
Alex_G è offline   Rispondi citando il messaggio o parte di esso
Old 31-05-2013, 08:48   #4
[Kendall]
Senior Member
 
L'Avatar di [Kendall]
 
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
Come mai hai inserito quelle due operazioni di lettura una dietro l'altra?

Codice:
scanf("%d", &codice);

while (( codice = getchar() ) != EOF) {

// corpo dello switch

}
L'errore è lì dentro, però prova a sbatterci un attimo la testa per capire dove.
Le operazioni di input/output da stream di varia natura sono sempre un pò ostiche all'inizio.

Ultima modifica di [Kendall] : 31-05-2013 alle 09:05.
[Kendall] è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione OPPO Find X9 Ultra: è lui il cameraphone definitivo Recensione OPPO Find X9 Ultra: è lui il c...
Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet Ecovacs Deebot X12 OmniCyclone: lava grazie a Fo...
Narwal Flow 2: la pulizia di casa con un mocio a nastro Narwal Flow 2: la pulizia di casa con un mocio a...
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless Tastiera gaming MSI GK600 TKL: switch hot-swap, ...
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
OPPO rinnova l'ecosistema: arrivano Watc...
OPPO Find X9 Ultra ufficiale: debutta il...
Renault Twingo: esposta a Milano per far...
Intel vuole cambiare: overclocking anche...
Anche PlayStation introduce la verifica ...
Samsung ed Sk hynix, i bonus per gli ope...
Windows 11 velocizza Esplora File: ecco ...
Funzioni nascoste nelle librerie ADLX Ra...
Itala rinasce: lo storico marchio automo...
Huawei Watch Fit 5 e 5 Pro ufficiali: di...
ECOVACS DEEBOT T90 PRO OMNI vs Roborock ...
Fastweb scompare dai partner Starlink Mo...
Huawei anticipa tutti con Pura X Max: il...
Amazon Tech Week 2026: RTX 5000, process...
Grandi offerte Amazon su scope elettrich...
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:50.


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