Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Abbiamo provato Samsung Galaxy Tab S12 Ultra nella versione 12 GB + 256 GB con tastiera, e il risultato è un tablet che in questa configurazione si comporta come un notebook con la fluidità tipica di Android. Spessore di 5,1 mm, display Dynamic AMOLED 2X da 14,6 pollici, MediaTek Dimensity 9500 e un software senza incertezze compongono un prodotto di vertice, con prezzi da 1.539 euro, frenato solo da un'autonomia nella parte bassa del confronto
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Abbiamo provato per dieci giorni la Hyundai IONIQ 5 N, con 650 CV, 770 Nm e uno 0-100 km/h in 3,4 secondi. Il suo punto forte è N e-Shift, che simula un cambio a otto rapporti con suoni da motore termico e perfino un bang supersonico
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-11-2011, 16:54   #1
stopper11
Senior Member
 
L'Avatar di stopper11
 
Iscritto dal: Apr 2010
Messaggi: 542
[c++]programma per dare il resto!

ciao a tutti ho un compito da fare per scuola che è il seguente:
avere un importo da pagare, la somma inserita e tornare il resto a 50 20 e 10 cent
ho fatto il seguente programma
Quote:
#include<iostream.h>

float imp, pag, resto, m50, m20, m10;
int r50=0, r20=0, r10=0;
main()
{
m50=0.5;
m20=0.2;
m10=0.1;
cout<<"importo da pagare: ";cin>>pag;
cout<<"importo inserito: ";cin>>imp;
resto=(imp-pag);
cout<<"Resto: "<<resto<<endl;
while(resto>=m50)
{
if(resto>=m50)
{r50=r50+1;
resto=resto-m50;}
}
cout<<resto<<endl;
while(resto>=m20)
{
if(resto>=m20)
{r20=r20+1;
resto=resto-m20;}
}
cout<<resto<<endl;
if (resto==m10)
{r10=r10+1;
resto=resto-m10;}
cout<<resto<<endl;

cout<<r50<<" monete da 50 cent."<<endl;
cout<<r20<<" monete da 20 cent."<<endl;
cout<<r10<<" monete da 10 cent."<<endl;

system("pause");
}
il controllo sui 50 cent lo fa sempre giusto ma sui 20 e 10 nn entra come posso risolvere? grz a tutti
stopper11 è offline   Rispondi citando il messaggio o parte di esso
Old 28-11-2011, 19:40   #2
Mommolo
Member
 
Iscritto dal: Nov 2011
Messaggi: 158
Scritto con il tag CODE è più leggibile:
Codice:
#include<iostream.h>

float imp, pag, resto, m50, m20, m10;
int r50=0, r20=0, r10=0;
main()
{
	m50=0.5;
	m20=0.2;
	m10=0.1;
	cout<<"importo da pagare: ";cin>>pag;
	cout<<"importo inserito: ";cin>>imp;
	resto=(imp-pag);
	cout<<"Resto: "<<resto<<endl;
	while(resto>=m50)
	{
		if(resto>=m50)
		{
			r50=r50+1;
			resto=resto-m50;
		}
	}
	cout<<resto<<endl;
	while(resto>=m20)
	{
		if(resto>=m20)
		{
			r20=r20+1;
			resto=resto-m20;
		}
	}
	cout<<resto<<endl;
	if (resto==m10)
	{
		r10=r10+1;
		resto=resto-m10;
	}
	cout<<resto<<endl;

	cout<<r50<<" monete da 50 cent."<<endl;
	cout<<r20<<" monete da 20 cent."<<endl;
	cout<<r10<<" monete da 10 cent."<<endl;

	system("pause");
}
intanto scrivere:
Codice:
	while(resto>=m50)
	{
		if(resto>=m50)
		{
			r50=r50+1;
			resto=resto-m50;
		}
	}
è equivalente a scrivere:
Codice:
	while(resto>=m50)
	{
		r50=r50+1;
		resto=resto-m50;
	}
L'if all'interno è del tutto inutile.

Il programma mi sembra corretto (oppure anche a me sfugge qualcosa )
Sicuro che legga bene dall'input i valori pag e imp? Compresa la virgola?
__________________
Dubbi o domande sul Galaxy S2????
Prova a dare un'occhiata qua
https://docs.google.com/document/d/1...ZjQ/edit?pli=1
Mommolo è offline   Rispondi citando il messaggio o parte di esso
Old 28-11-2011, 22:16   #3
stopper11
Senior Member
 
L'Avatar di stopper11
 
Iscritto dal: Apr 2010
Messaggi: 542
ho provato in tutti i modi ma non capisco cosa c sia di sbagliato ho dato una sistemata ed è venuto così ma ora sbaglia il controllo sui 10 centesimi
Codice:
#include<iostream.h>

float imp, pag, resto, m50, m20, m10;
int r50=0, r20=0, r10=0;
  main()
  {
  m50=0.5;
  m20=0.2;
  m10=0.1;
  cout<<"importo da pagare: ";cin>>pag;
  cout<<"importo inserito: ";cin>>imp;
  resto=(imp-pag);
  cout<<"Resto: "<<resto<<endl;
while(resto>0)
   {
       if(resto>=m50)
          {r50=r50+1;
          resto=resto-m50;}
          
       if((resto<m50)&&(resto>=m20))
          {r20=r20+1;
            resto=resto-m20;}
                  
       if (resto<=m20)
         {r10=r10+1;
         resto=resto-m10;}
           
       }
       

cout<<r50<<" monete da 50 cent."<<endl;
cout<<r20<<" monete da 20 cent."<<endl;
cout<<r10<<" monete da 10 cent."<<endl;


system("pause");
}
stopper11 è offline   Rispondi citando il messaggio o parte di esso
Old 28-11-2011, 22:35   #4
Mommolo
Member
 
Iscritto dal: Nov 2011
Messaggi: 158
Quote:
Originariamente inviato da stopper11 Guarda i messaggi
ho provato in tutti i modi ma non capisco cosa c sia di sbagliato ho dato una sistemata ed è venuto così ma ora sbaglia il controllo sui 10 centesimi
Codice:
       if((resto<m50)&&(resto>=m20))
          {r20=r20+1;
            resto=resto-m20;}
                  
       if (resto<=m20)
         {r10=r10+1;
         resto=resto-m10;}
Se il resto è 20centesimi soddisfa entrambe le condizioni.
Dovresti scrivere
if (resto<m20) e non if (resto<=m20)
oppure
if (resto<=m10)
__________________
Dubbi o domande sul Galaxy S2????
Prova a dare un'occhiata qua
https://docs.google.com/document/d/1...ZjQ/edit?pli=1
Mommolo è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2011, 13:08   #5
stopper11
Senior Member
 
L'Avatar di stopper11
 
Iscritto dal: Apr 2010
Messaggi: 542
funziona solo con le variabili in long double ma float non funziona certe volte va sotto con il resto oppure da una sottrazione tipo 0.60-0.50 mi da 0,0999999
Codice:
#include<iostream.h>

float imp, pag, resto, m50, m20, m10;
int r50=0, r20=0, r10=0;
  main()
  {
  m50=0.5;
  m20=0.2;
  m10=0.1;
  cout<<"importo da pagare: ";cin>>pag;
  cout<<"importo inserito: ";cin>>imp;
  resto=(imp-pag);
  cout<<"Resto: "<<resto<<endl;
while(resto>0)
   {
       if(resto>=m50)
          {r50=r50+1;
          resto=resto-m50;
          cout<<resto<<endl;}
      else 
              if(resto>m10)
                {r20=r20+1;
                resto=resto-m20;
                cout<<resto<<endl;}
             else
                     
                 if
                   {r10=r10+1;
                   resto=resto-m10;
                   cout<<resto<<endl;}
           
       }
       

cout<<r50<<" monete da 50 cent."<<endl;
cout<<r20<<" monete da 20 cent."<<endl;
cout<<r10<<" monete da 10 cent."<<endl;


system("pause");
}
stopper11 è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2011, 14:16   #6
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 13053
Usa double, non ha alcun senso usare float.
WarDuck è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale CES Unveiled Milan, l'IA diventa tecnologia fond...
 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP Recensione OPPO Find X10 Pro Max: un top di gam...
Proton convoca i dipendenti per un collo...
Il prossimo chip Exynos potrebbe essere ...
La crisi delle memorie non fa sconti a S...
Realme prepara il rilancio con la serie ...
IBM rafforza la sicurezza degli agenti I...
iPhone Duo, ancora problemi: Apple sta c...
PHP2Shell: Came sospende smart home e an...
LG Sound Suite: Dolby Atmos su misura pe...
Firefox, la nuova campagna è geniale: i ...
Black Flag Resynced, ora puoi morire anc...
Adesione di massa per l'IA nello studio:...
Tre problemi aperti da decenni risolti d...
Microsoft corregge una falla in Authenti...
Apple svela il piano linguistico di Siri...
Lara 3, l'IA romana che batte GPT, Claud...
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:05.


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