PDA

View Full Version : [C++] Problema con una Function!


Xizor
12-12-2007, 19:06
:cry: :cry: :cry: Non mi da errori di sinstassi, solamente quando viene eseguito non fa quello che dovrebbe, ovvero la somma,la differenza, il prodotto e il quoziente. Sapreste dirmi come mai ? Grazie! :)

#include<iostream.h>
int main ()
{
double s,d,p,q,a,b;
int n;
//prototipo della funzione
void somma (double,double,double*);
void differenza (double,double,double*);
void prodotto (double,double,double*);
void quoziente (double,double,double*);
//chiamate alle funzioni
somma (a,b,&s);
differenza (a,b,&d);
prodotto (a,b,&p);
quoziente (a,b,&q);
//Procedimento:
cout<<"Menu': Inserisci un numero da 1 a 4";
cin>>n;
if (n>4) {
cout<<"***Errore***";
cin>>n;
}
cout<<"Inserisci il primo numero";
cin>>a;
cout<<"Inserisci il secondo numero";
cin>>b;
switch (n){
case (1) :
cout<<"La somma fra i due addendi e'"<<s<<"\n";
cin>>s;
break;
case (2) :
cout<<"La differenza fra i due numeri e'"<<d<<"\n";
cin>>d;
break;
case (3) :
cout<<"Il prodotto fra i due fattori e'"<<p<<"\n";
cin>>p;
break;
case (4) :
cout<<"Il quoziente fra i due numeri e'"<<q<<"\n";
cin>>q;
break;
}
system("pause");
return (0);
}

void somma (double a,double b,double *s) {
*s=a+b;
}

void differenza (double a,double b,double *d) {
*d=a-b;
}

void prodotto (double a,double b,double *p) {
*p=a*b;
}

void quoziente (double a,double b,double *q) {
*q=a/b;
}

marko.fatto
12-12-2007, 19:30
chiami le funzioni prima di leggere i dati da calcolare..

ps:esistono i tag quote :cry:

cionci
12-12-2007, 20:16
La dichiarazione delle funzioni va fatta al di fuori delle altre funzioni.

Xizor
13-12-2007, 14:04
ps:esistono i tag quote :cry:

Ah già scusa. :D

Comunque non ho capito cosa devo cambiare. :stordita:

Cioè devo portare tutte le dichiarazioni fuori dall'int main ? E la chiamata alle funzione dove va?

wingman87
13-12-2007, 14:16
Devi portare le dichiarazioni di funzioni fuori dal main (prima del main) e le chiamate alle funzioni le devi fare dopo che hai letto a e b.

Xizor
13-12-2007, 18:01
Devi portare le dichiarazioni di funzioni fuori dal main (prima del main) e le chiamate alle funzioni le devi fare dopo che hai letto a e b.

Grazie!!!! :) Ora funziona tutto. ;)

PS: Ho appena iniziato a programmare con le funzioni. :stordita: