PDA

View Full Version : primi passi


antimon
23-10-2006, 09:10
Ciao...sto iniziando a studiare il c++ e dopo aver appreso le prime nozioni volevo provare a fare qualche semplice programmino...perņ non capisco cosa sbaglio...il risultato delle righe in grassetto non č corretto anche se l'espressione e i dati sono giusti....illuminatemi!!!

#include <iostream.h>
float fcd, fyd, MSUR, MSUF, MSUQP;
int b, d, dp, As, Asp;
void inserimento();
void main(){
inserimento();
int Aci=b*(d+dp)+(As+Asp)*15;
float xg=(b*(d+dp)*1.5+15*(Asp*d+As*dp))/Aci;
cout <<Aci;
cout <<xg;
}
void inserimento(){
cout <<"\nCaratteristiche dei materiali usati...";
cout <<"\n\nfcd (N/mmq):"; cin >> fcd;
cout <<"fyd (N/mmq):"; cin >> fyd;
float eyd=fyd/206000;
cout <<"\nCaratteristiche della sezione...\n";
cout <<"\nmomento sollecitante combinazione rara (kNm):"; cin>>MSUR;
cout <<"momento sollecitante combinazione frequente (kNm):"; cin>>MSUF;
cout <<"momento sollecitante combinazione quasi permanente (kNm):"; cin>>MSUQP;
cout <<"\nbase della sezione (b) (mm):"; cin>>b;
cout <<"altezza utile (d) (mm):"; cin>>d;
cout <<"copriferro (d') (mm):"; cin>>dp;
cout <<"\narea di acciaio teso (mmq):";cin>>As;
cout <<"\narea di acciaio compresso (mmq):";cin>>Asp;
}

andbin
23-10-2006, 10:00
Ciao...sto iniziando a studiare il c++ e dopo aver appreso le prime nozioni volevo provare a fare qualche semplice programmino...perņ non capisco cosa sbaglio...il risultato delle righe in grassetto non č corretto anche se l'espressione e i dati sono giusti....illuminatemi!!!Per quanto riguarda la scrittura del sorgente, dovresti modificare 2 cose:

a) iostream.h č obsoleto, dovresti includere <iostream> (senza h) e poi mettere using namespace std;

b) Il main dovrebbe ritornare un int (e dovresti mettere un return 0;)

Per quanto riguarda le 2 formule, non ti saprei dire, non so cosa sono. Ad occhio non mi sembra che ci siano problemi. Metti 1.5f invece di 1.5.

cionci
23-10-2006, 10:45
C++ non e' C con l'aggiunta di cin e cout ;)
Intanto comincia a togliere quelle variabili globali :)

antimon
23-10-2006, 11:30
C++ non e' C con l'aggiunta di cin e cout ;)
Intanto comincia a togliere quelle variabili globali :)

sto cercando di studiare c++ ricordando qualcosa di c....questo č il risultato.. :rolleyes: :rolleyes: .....dovrei usare i puntatori ma non mi ricordo come si fa (ancora devo arrivare a quel capitolo)...a prescindere dall'uso del codice, non capisco come mai non mi riesce a fare alcune operazioni...potrebbe essere un problema di impostazioni del pc???

cionci
23-10-2006, 11:44
Puoi passare i parametri per riferimento (in pratica fai la stessa cosa rispetto a passare la variabile per indirizzo):

void fun(int &p)
{
cin >> p;
}

int x;
fun(x);

x ora vale il valore inserito da tastiera...

Hai molti parametri che dopo dovrai passare ad una secondo funziona ? Allora mettili dentro ad una struttura:

struct st
{
int a;
int b;
int c;
};


void fun(st &params)
{
cin >> params.a;
...........
}


st params;

fun(params);

fun2(params);

PS> se il tuo libro ti fa usare iostream.h e non iostream senza estensione, allora ti conviene cambiare libro ;)