div (Normal User)
Newbie
Messaggi: 9
Iscritto: 22/06/2010
|
Questo topic è stato chiuso dal moderatore ho fatto un progetto in c++ che simula un deposito in banca con interesse e mi da errore.
Codice sorgente - presumibilmente C++ |
//nome:savingsAccount.h class savingsAccount { public: //costruttore savingsAccount(int,int,int,int); void annualInterestRate(int,int);//calcola interesse annuale con la percentuale stabilita void calculateMonthlyInterest();//calcola interesse mensile int getresult(); private: int savingsBalance;//soldi int month;//mesi int year;//anni int interestA;//interessi annuali int interestM;//interessi mensili }
|
Codice sorgente - presumibilmente C++ |
//nome:savingsAccount.cpp #include "savingsAccount.h" savingsAccount::savingsAccount( int money,int y,int m,int perc ) { year=y; month=m; annualInterestRate(money,perc); savingsBalance=money+(interestA*year); savingsBalance=interestM*month; }//fine del costruttore void savingsAccount::annualInterestRate(int EURO,int pc) { interestA=(EURO/100)*pc; }//fine annualInterestrate void savingsAccount::calculateMonthlyInterest() { interestM=(interestA/12); }//fine calculateMonthlyInterest int savingsAccount::getresult() { return savingsBalance; }//fine getresult
|
Codice sorgente - presumibilmente C/C++ |
//nome: main.cpp
#include<iostream>
#include"savingsAccount.h"
using namespace std;
void main()
{
savingsAccount a(200000,2,6,4);
savingsAccount b(300000,2,6,3);
cout<<"il primo deposito:"<<a.getresult()<<endl;
cout<<"il secondo deposito"<<b.getresult()<<endl;
}
|
|
|
GuglielmoS (Ex-Member)
Pro
Messaggi: 114
Iscritto: 27/11/2009
|
Credo sia dovuto al fatto che non hai messo il ';' alla fine della dichiarazione della classe.
Ciao GuglielmoS
|
|
div (Normal User)
Newbie
Messaggi: 9
Iscritto: 22/06/2010
|
grazie mille, ma mi dice in main.cpp questo:
`main' must return `int'
[Build Error] [main.o] Error 1
|
|
GuglielmoS (Ex-Member)
Pro
Messaggi: 114
Iscritto: 27/11/2009
|
Postato originariamente da div:
grazie mille, ma mi dice in main.cpp questo:
`main' must return `int'
[Build Error] [main.o] Error 1 |
Sistema il main così:
Codice sorgente - presumibilmente C/C++ |
|
|
div (Normal User)
Newbie
Messaggi: 9
Iscritto: 22/06/2010
|
però facendo così mi dice questo:
[Linker error] undefined reference to `savingsAccount::savingsAccount(int, int, int, int)'
[Linker error] undefined reference to `savingsAccount::savingsAccount(int, int, int, int)'
[Linker error] undefined reference to `savingsAccount::getresult()'
[Linker error] undefined reference to `savingsAccount::getresult()'
ld returned 1 exit status
|
|
GuglielmoS (Ex-Member)
Pro
Messaggi: 114
Iscritto: 27/11/2009
|
Come stai compilando?
Se stai compilando da linea di comando fai così (esempio con g++):
Codice sorgente - presumibilmente Plain Text |
g++ -Wall main.cpp savingsAccount.cpp
|
|
|
div (Normal User)
Newbie
Messaggi: 9
Iscritto: 22/06/2010
|
no, compilo con dev-c++
|
|
GuglielmoS (Ex-Member)
Pro
Messaggi: 114
Iscritto: 27/11/2009
|
Postato originariamente da div:
no, compilo con dev-c++ |
Allora indica a dev-c++ che savingsAccount.cpp fa parte del progetto, oppure aggiungi ai parametri di compilazione anche il file savingsAccount.cpp |
|
div (Normal User)
Newbie
Messaggi: 9
Iscritto: 22/06/2010
|
ok, adesso mi dice:
[Linker error] undefined reference to `std::string::size() const'
[Linker error] undefined reference to `std::string::operator[](unsigned int) const'
[Linker error] undefined reference to `std::string::operator[](unsigned int) const'
[Linker error] undefined reference to `std::string::operator[](unsigned int) const'
[Linker error] undefined reference to `std::cout'
[Linker error] undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
[Linker error] undefined reference to `std::ostream::operator<<(int)'
[Linker error] undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
[Linker error] undefined reference to `std::cout'
[Linker error] undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
[Linker error] undefined reference to `std::ostream::operator<<(int)'
[Linker error] undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
[Linker error] undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))'
[Linker error] undefined reference to `std::ios_base::Init::Init()'
[Linker error] undefined reference to `std::ios_base::Init::~Init()'
ld returned 1 exit status
|
|