-Yara-
09-02-2005, 13:08
Salve a tutti, ho un problema con un programma che g++ si rifiuta di compilare:
#include <iostream>
#include <cstdio>
#include <cstdlib>
using namespace std;
int mcd(int,int);
void semplifica(int,int);
void dividi(int,int);
system("/bin/sh -c clear");
int main()
{
int num,num1,risp;
cout<<"Inserisci il primo numero"<<endl;
cin>>num;
cout<<"Inserisci il secondo numero"<<endl;
cin>>num1;
cout<<"[1]-Per calcolare l'MCD. "<<endl;
cout<<"[2]-Per semplificare la frazione: "<<num<<"/"<<num1<<"."<<endl;
cout<<"[3]-Per dividere "<<num<<" per "<<num1<<"."<<endl;
cin>>risp;
switch(risp)
{
case 1: mcd(num,num1);break;
case 2: semplifica(num,num1);break;
case 3: dividi(num,num1);break;
}
getchar();
return 0;
}
int mcd(int x,int y)
{
int resto,n=x,n1=y;
while(y!=0)
{
resto=x%y;
x=y;
y=resto;
}
cout<<"Il MCD tra "<<n<<" e "<<n1<<" e' uguale a "<<x<<"."<<endl;
return x;
}
void semplifica(int x,int y)
{
int McD,n=x,n1=y; //n e n1 sono le copie
McD=mcd(x,y);
x=x/McD;
y=y/McD;
cout<<"La frazione: "<<n<<"/"<<n1<<" ora e' semplificata: "<<x<<"/"<<y<<"."<<endl;
}
void dividi(int x,int y)
{
int resto,quoz;
resto=x%y;
quoz=x/y;
cout<<"Il resto e': "<<resto<<" e il quoziente e' "<<quoz<<"."<<endl;
}
L'errore e':
lol.cc:27: error: ISO C++ forbids declaration of `system' with no type
lol.cc:27: error: `int system' redeclared as different kind of symbol
/usr/include/stdlib.h:702: error: previous declaration of `int system(const
char*)'
lol.cc:27: error: invalid conversion from `const char*' to `int'
Lasciate stare il nome del file :D
Grazie!
#include <iostream>
#include <cstdio>
#include <cstdlib>
using namespace std;
int mcd(int,int);
void semplifica(int,int);
void dividi(int,int);
system("/bin/sh -c clear");
int main()
{
int num,num1,risp;
cout<<"Inserisci il primo numero"<<endl;
cin>>num;
cout<<"Inserisci il secondo numero"<<endl;
cin>>num1;
cout<<"[1]-Per calcolare l'MCD. "<<endl;
cout<<"[2]-Per semplificare la frazione: "<<num<<"/"<<num1<<"."<<endl;
cout<<"[3]-Per dividere "<<num<<" per "<<num1<<"."<<endl;
cin>>risp;
switch(risp)
{
case 1: mcd(num,num1);break;
case 2: semplifica(num,num1);break;
case 3: dividi(num,num1);break;
}
getchar();
return 0;
}
int mcd(int x,int y)
{
int resto,n=x,n1=y;
while(y!=0)
{
resto=x%y;
x=y;
y=resto;
}
cout<<"Il MCD tra "<<n<<" e "<<n1<<" e' uguale a "<<x<<"."<<endl;
return x;
}
void semplifica(int x,int y)
{
int McD,n=x,n1=y; //n e n1 sono le copie
McD=mcd(x,y);
x=x/McD;
y=y/McD;
cout<<"La frazione: "<<n<<"/"<<n1<<" ora e' semplificata: "<<x<<"/"<<y<<"."<<endl;
}
void dividi(int x,int y)
{
int resto,quoz;
resto=x%y;
quoz=x/y;
cout<<"Il resto e': "<<resto<<" e il quoziente e' "<<quoz<<"."<<endl;
}
L'errore e':
lol.cc:27: error: ISO C++ forbids declaration of `system' with no type
lol.cc:27: error: `int system' redeclared as different kind of symbol
/usr/include/stdlib.h:702: error: previous declaration of `int system(const
char*)'
lol.cc:27: error: invalid conversion from `const char*' to `int'
Lasciate stare il nome del file :D
Grazie!