Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare
A New York HP ha messo al centro della scena HP IQ, la piattaforma di IA locale da 20 miliardi di parametri. L’abbiamo vista in funzione: è uno strumento che funziona, pensato per un target specifico, con vantaggi reali e limiti altrettanto evidenti
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è
La PNY GeForce RTX 5080 Slim OC si distingue nel panorama delle GPU di fascia alta per il design compatto a due slot, ispirato alla NVIDIA GeForce RTX 5080 Founders Edition. In questo test analizziamo comportamento termico e prestazioni in gioco, valutando se il formato ridotto comprometta o meno l'esperienza complessiva rispetto alle soluzioni più ingombranti presenti sul mercato.
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei
HUAWEI WiFi Mesh X3 Pro Suite è probabilmente il router mesh più fotogenico che si possa acquistare oggi in Italia, ma dietro il guscio in acrilico trasparente e le luci LED dinamiche c'è una macchina tecnica costruita attorno allo standard Wi-Fi 7, con velocità teoriche Dual-Band fino a 3,6 Gbps e una copertura fino a 120 m² una volta abbinato il router principale all'extender incluso nel kit
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-01-2014, 11:12   #1
vincenzomancari
Junior Member
 
Iscritto dal: Jan 2014
Messaggi: 9
Creare un programma C++

Ciao a tutti sono nuovo nel forum.
Sto cercando di fare questo programma per esercitarmi!!

Creare un programma che dato il raggio del cerchio di base di un cilindro e la sua altezza, calcoli e dia in output il peso di un cilindro sapendo che la sostanza di cui è composto ha peso specifico 3,4 g/cm3
volume= area di base * altezza;
peso= volume * peso specifico;

Io sono arrivato qui ma non so più cosa fare:

{
double r, h;
cout<<"inserire il raggio r:";
cin>>r;
cout<<"inserire l'altezza h:";
cin>>h;
cout<<"Volume= "<<3,14*r^2*h<<"\n\n";
.....
.....
.....
system("PAUSE");
return EXIT_SUCCESS;
}
vincenzomancari è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2014, 11:27   #2
sharkkk
Member
 
L'Avatar di sharkkk
 
Iscritto dal: Oct 2013
Messaggi: 158
Quote:
<<"Volume= "<<3,14*r^2*h<<"\n\n";
visto che ti stai esercitando l'operazione 3,14*r^2*h prima di tutto dovresti scriverla con le giuste parentesi.
Tipo (x+(y+1))*z

poi quale sarebbe il problema? che non ti ritornano i risultati? se è cosi è probabile che siano proprio le parentesi inesistenti.
sharkkk è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2014, 11:35   #3
vincenzomancari
Junior Member
 
Iscritto dal: Jan 2014
Messaggi: 9
Ciao Sharkkk,
ho cambiato un po il tutto
dai un occhiata all'URL; mi da uno strano errore quando compilo!

https://drive.google.com/file/d/0B0a...it?usp=sharing

Grazieee
vincenzomancari è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2014, 11:48   #4
sharkkk
Member
 
L'Avatar di sharkkk
 
Iscritto dal: Oct 2013
Messaggi: 158
guarda se funziona cosi

Codice:
#include <iostream.h>
#include <stdlib.h>

int main()
{
    double r,h,a,v;
    
    cout<<"inserisci a -> ";
    cin>>r;
    cout<<"\n r ="<<r<<"\n";
    
    cout<<"inserisci h -> ";
    cin>>h;
    cout<<"\n h ="<<h<<"\n --------";
    
    a=(3.14)*(r*r);
    cout<<"\n a ="<<a<<"\n";
    
    v= a*h;
    cout<<"\n v ="<<v<<"\n";
    
    system("PAUSE");   
}
Per quegli errori non ne ho idea, lascio la parola a quelli molto piu esperti di me.

Per il resto ti posso dire che:
-non devi scrivere 3,14 ma 3.14
-alla funzione int main(..) non devi passare argomenti (int argc,char* ...) per l'esercizio che stai svolgendo. [si usa quello che hai scritto quando passi i parametri tramite shell per esempio, tipo ./esercizio 2 3]

Ultima modifica di sharkkk : 24-01-2014 alle 11:55.
sharkkk è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2014, 11:54   #5
vincenzomancari
Junior Member
 
Iscritto dal: Jan 2014
Messaggi: 9
Primo errore:
1[Error] iostream.h: No such file or directory
vincenzomancari è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2014, 11:57   #6
sharkkk
Member
 
L'Avatar di sharkkk
 
Iscritto dal: Oct 2013
Messaggi: 158
Quote:
Originariamente inviato da vincenzomancari Guarda i messaggi
Primo errore:
1[Error] iostream.h: No such file or directory


hai fatto copia incolla di quello che ti ho scritto e compilato oppure hai aggiunto qualcosa di tuo?

perche da me funziona esattamente con dev-c++ come te.

comunque prova ad aggiungere using namespace std; sotto l'include e a modificare #include <iostream.h> togliendoci il .h finale

Codice:
#include <iostream>
#include <stdlib.h>

using namespace std;

int main()
{
    double r,h,a,v;
    
    cout<<"inserisci a -> ";
    cin>>r;
    cout<<"\n r ="<<r<<"\n";
    
    cout<<"inserisci h -> ";
    cin>>h;
    cout<<"\n h ="<<h<<"\n --------";
    
    a=(3.14)*(r*r);
    cout<<"\n a ="<<a<<"\n";
    
    v= a*h;
    cout<<"\n v ="<<v<<"\n";
    
    system("PAUSE");   
}
fammi sapere

Ultima modifica di sharkkk : 24-01-2014 alle 12:03.
sharkkk è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2014, 12:06   #7
vincenzomancari
Junior Member
 
Iscritto dal: Jan 2014
Messaggi: 9
Ho fatto copia incolla e ho tolto il .h prima che lo scrivevi ma c'è sempre lo stesso problema e forse ho capito di cosa si tratta.
Io utilizzo Windows 7, non è che devo modificare/ aggiungere qualcosa nelle opzioni di compilazione? sotto la voce strumenti!
vincenzomancari è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2014, 12:10   #8
sharkkk
Member
 
L'Avatar di sharkkk
 
Iscritto dal: Oct 2013
Messaggi: 158
Quote:
Originariamente inviato da vincenzomancari Guarda i messaggi
Ho fatto copia incolla e ho tolto il .h prima che lo scrivevi ma c'è sempre lo stesso problema e forse ho capito di cosa si tratta.
Io utilizzo Windows 7, non è che devo modificare/ aggiungere qualcosa nelle opzioni di compilazione? sotto la voce strumenti!
anche io ho windows 7.

pero guardando il tuo screenshot vedo che hai creato un progetto e poi il sorgente .cpp.

prova a cliccare su FILE->NUOVO->FILE SORGENTE, incolli, compili, salvi, esegui
sharkkk è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2014, 12:23   #9
vincenzomancari
Junior Member
 
Iscritto dal: Jan 2014
Messaggi: 9
Grazieeeeeee adesso funzionaaa piango ahahah

però ho bisogno che mi chiarisci delle ultime cose:

Quando inserisco "a" (es. 3) perché lui fa r=3?
Un'altra cosa,
io adesso dovrei ricavare il peso del cilindro, che si trova facendo VOLUME * Peso specifico.
Come faccio a fare l'operazione? peso specifico= 3.4 g/cm3
vincenzomancari è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2014, 12:29   #10
sharkkk
Member
 
L'Avatar di sharkkk
 
Iscritto dal: Oct 2013
Messaggi: 158
Quote:
Originariamente inviato da vincenzomancari Guarda i messaggi
Quando inserisco "a" (es. 3) perché lui fa r=3?
Perche per sbaglio ho fatto:

cout<<"inserisci a -> ";
cin>>r;


quando invece deve essere:

cout<<"inserisci r -> "; //visualizza su una shell la scritta inserisci r -> , tra " ... " perche è una stringa, ma volendo potresti visualizzare anche il valore di una variabile senza pero le ".."
cin>>r; //prende in input da shell (la finestra nera che ti appare) un valore che assegna alla variabile che tu hai inserito dopo cin>> , in questo caso la variabile double r


Per quanto riguarda il peso del cilindro dovresti usare le tue conoscenze di fisica, non so se devi convertire o fare altre cose
Se l'unità di misura del volume che hai trovato è g / cm3 allora puoi effettuare la moltiplicazione diretta ed è semplicissimo (VOLUME * 3,4), altrimenti devi convertire

Ultima modifica di sharkkk : 24-01-2014 alle 12:35.
sharkkk è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2014, 12:39   #11
vincenzomancari
Junior Member
 
Iscritto dal: Jan 2014
Messaggi: 9
MMmM ok l'ho fatto e funziona perfettamente!
Adesso sto facendo un altro esercizio, come potrei contattarti in caso di problemi? mi sei stato molto d'aiuto!
vincenzomancari è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2014, 12:42   #12
sharkkk
Member
 
L'Avatar di sharkkk
 
Iscritto dal: Oct 2013
Messaggi: 158
Quote:
Originariamente inviato da vincenzomancari Guarda i messaggi
MMmM ok l'ho fatto e funziona perfettamente!
Adesso sto facendo un altro esercizio, come potrei contattarti in caso di problemi? mi sei stato molto d'aiuto!
scrivi qui sul forum, quello che puo essere d'aiuto a te puo essere d'aiuto agli altri come lo è stato per me (e lo è ancora )

comunque ti consiglio le tante guide che trovi su internet in italiano di c / c++ (io ti consiglio il primo per iniziare), di fare tanti esercizi e di non complicarti la vita scrivendo cose che non conosci altrimenti poi diventa tutto un grossissimo problema

Ultima modifica di sharkkk : 24-01-2014 alle 12:46.
sharkkk è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2014, 13:23   #13
vincenzomancari
Junior Member
 
Iscritto dal: Jan 2014
Messaggi: 9
Sharkkk tanto per cambiare ho avuto altri problemi con un nuovo programma:

Creare un programma che date le coordinate di due punti A(x0,y0) e B(x1, y1) di un sistema di riferimento cartesiano ortogonale Oxy, calcoli e dia in output la distanza tra i due punti.
( AB= radice di (x1 - x0)^2 + (y1 - y0)^2)

Ho fatto così io:


#include <iostream>
#include <stdlib.h>
#include <cmath>

using namespace std;

int main()
{
double x,y,x1,y1,d;

cout<<"inserisci la coordinata x -> ";
cin>>x;
cout<<"inserisci la coordinata y -> ";
cin>>y;

cout<<"inserisci la coordinata x1 -> ";
cin>>x1;
cout<<"inserisci la coordinata y1 -> ";
cin>>y1;

d=sqrt(x1-x)^2+(y1-y)^2;
cout<<"distanza tra A e B"<<d<<"\n";

system("PAUSE");
return EXIT_SUCCESS;
}
vincenzomancari è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2014, 13:48   #14
sharkkk
Member
 
L'Avatar di sharkkk
 
Iscritto dal: Oct 2013
Messaggi: 158
Quote:
Originariamente inviato da vincenzomancari Guarda i messaggi
( AB= radice di (x1 - x0)^2 + (y1 - y0)^2)

sqrt(x1-x)^2+(y1-y)^2;
il problema qual'e? devi sempre scriverlo

sicuro che il problema non sia il solito problema delle parentesi?
sqrt(x1-x)^2+(y1-y)^2; non fa la radice di tutto ma la radice della prima parentesi, dovresti scrivere sqrt((( x1-x )^2 )+...)

sqrt(..) è come se fosse una funzione matematica f(x) che ti da un risultato. tu che x gli stai dando all funzione sqrt(x1-x)? gli stai dando x1-x e non (((x1-x)^2)+((y1-y)^2))). quindi il risultato della funzione sqrt(x1-x) sarà la radice di x1-x

Ultima modifica di sharkkk : 24-01-2014 alle 13:51.
sharkkk è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2014, 13:56   #15
vincenzomancari
Junior Member
 
Iscritto dal: Jan 2014
Messaggi: 9
Modificato ma non va! Guarda lo screen!

https://drive.google.com/file/d/0B0a...it?usp=sharing
vincenzomancari è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2014, 14:06   #16
sharkkk
Member
 
L'Avatar di sharkkk
 
Iscritto dal: Oct 2013
Messaggi: 158
non va perchè l'elevamento a potenza in C sembra che non si faccia con x^y ma con una funzione che sta nella libreria math.h apposita. (ho verificato che poi funziona)

http://it.wikipedia.org/wiki/Math.h

Ultima modifica di sharkkk : 24-01-2014 alle 14:09.
sharkkk è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2014, 14:16   #17
vincenzomancari
Junior Member
 
Iscritto dal: Jan 2014
Messaggi: 9
Risoltooo.
Ecco formula completa

#include <iostream>
#include <stdlib.h>
#include <math.h>

using namespace std;

int main()
{
double x,y,x1,y1,d;

cout<<"inserisci la coordinata x -> ";
cin>>x;
cout<<"inserisci la coordinata y -> ";
cin>>y;

cout<<"inserisci la coordinata x1 -> ";
cin>>x1;
cout<<"inserisci la coordinata y1 -> ";
cin>>y1;

d=sqrt(exp(double(x1-x))+ exp(double(y1-y)));
cout<<"distanza tra A e B = "<<d<<"\n\n";

system("PAUSE");
return EXIT_SUCCESS;
}
vincenzomancari è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2014, 14:19   #18
sharkkk
Member
 
L'Avatar di sharkkk
 
Iscritto dal: Oct 2013
Messaggi: 158
piu semplice era se usavi la funzione pow(..)

d = sqrt((pow((x1-x),2)) + (pow((y1-y),2)));

pow(x,y) - eleva un valore dato ad esponente, x^y
sharkkk è offline   Rispondi citando il messaggio o parte di esso
Old 24-01-2014, 19:40   #19
vendettaaaaa
Senior Member
 
L'Avatar di vendettaaaaa
 
Iscritto dal: Jan 2012
Messaggi: 1267
Quote:
Originariamente inviato da vincenzomancari Guarda i messaggi
Risoltooo.
Ecco formula completa

#include <iostream>
#include <stdlib.h>
#include <math.h>

using namespace std;

int main()
{
double x,y,x1,y1,d;

cout<<"inserisci la coordinata x -> ";
cin>>x;
cout<<"inserisci la coordinata y -> ";
cin>>y;

cout<<"inserisci la coordinata x1 -> ";
cin>>x1;
cout<<"inserisci la coordinata y1 -> ";
cin>>y1;

d=sqrt(exp(double(x1-x))+ exp(double(y1-y)));
cout<<"distanza tra A e B = "<<d<<"\n\n";

system("PAUSE");
return EXIT_SUCCESS;
}

Credo di aver capito cos'hai tentato di fare...
exp(double(x1-x)) secondo te dovrebbe essere equivalente a "prendi (x1 - x), e dagli un esponente pari a 2"...

Quello che hai fatto è corretto dal punto di vista della sintassi (infatti compila e va) ma in realtà stai calcolando l'esponenziale di (x1 - x).
double(numero) restituisce numero in formato double precision...non lo eleva al quadrato!
Codice:
int a = 5;
double b = double(a); // converti a in un double
Quindi, dato che x1 e x sono già dei double, la conversione non ha effetto e stai calcolando exp( (x1 - x) ), cioè e^(x1 - x), che, nonostante e valga poco più di 2, è leggermente diverso da (x1 - x)^2...
Devi usare pow, come ti ha detto sharkkk.
vendettaaaaa è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è PNY RTX 5080 Slim OC, sembra una Founders Editio...
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei Wi-Fi 7 con il design di una vetta innevata: ecc...
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte Core Ultra 7 270K Plus e Core Ultra 7 250K Plus:...
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu PC Specialist Lafité 14 AI AMD: assemblat...
Meta moltiplica gli investimenti in data...
Addio riflessi fastidiosi? Samsung prese...
PlayStation 5, doccia fredda da Sony: i ...
Super Meat Boy 3D: annunciata la data d'...
XT View Matrix, il mid-tower Phanteks ch...
David Sacks lascia il ruolo di 'Crypto C...
LG All Stars 2026: quando l'installatore...
Addio ad Anna's Archive? Ecco la mossa l...
Addio al Mac Pro, Apple mette fine a un ...
Panasonic a MCE 2026: la rivoluzione sil...
Netflix alza la posta: il piano Premium ...
Nimbus Innovation Awards – Cloud Edition...
Wikipedia vieta i contenuti generati dal...
Niente volante, niente schermi: cos&igra...
Gli 'Avengers' di Windows sono tornati: ...
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:34.


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