Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - cosa non va nel codice?
Forum - C/C++ - cosa non va nel codice?

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
div (Normal User)
Newbie


Messaggi: 9
Iscritto: 22/06/2010

Segnala al moderatore
Postato alle 16:34
Venerdì, 29/10/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++

  1. //nome:savingsAccount.h
  2. class savingsAccount
  3. {
  4.       public:
  5.              //costruttore
  6.              savingsAccount(int,int,int,int);
  7.              void annualInterestRate(int,int);//calcola interesse annuale con la percentuale stabilita
  8.              void calculateMonthlyInterest();//calcola interesse mensile
  9.              int getresult();
  10.       private:
  11.              int savingsBalance;//soldi
  12.              int month;//mesi
  13.              int year;//anni
  14.              int interestA;//interessi annuali
  15.              int interestM;//interessi mensili
  16. }





Codice sorgente - presumibilmente C++

  1. //nome:savingsAccount.cpp
  2. #include "savingsAccount.h"
  3. savingsAccount::savingsAccount( int money,int y,int m,int perc )
  4. {
  5.                                    year=y;
  6.                                    month=m;
  7.                                    annualInterestRate(money,perc);
  8.                                    savingsBalance=money+(interestA*year);
  9.                                    savingsBalance=interestM*month;
  10.                                    
  11. }//fine del costruttore
  12. void savingsAccount::annualInterestRate(int EURO,int pc)
  13. {
  14.                                    interestA=(EURO/100)*pc;
  15. }//fine annualInterestrate
  16. void savingsAccount::calculateMonthlyInterest()
  17. {
  18.                                     interestM=(interestA/12);
  19. }//fine calculateMonthlyInterest
  20. int savingsAccount::getresult()
  21. {
  22.     return savingsBalance;
  23. }//fine getresult





Codice sorgente - presumibilmente C/C++

  1. //nome: main.cpp
  2. #include<iostream>
  3. #include"savingsAccount.h"
  4. using namespace std;
  5. void main()
  6. {
  7.     savingsAccount a(200000,2,6,4);
  8.     savingsAccount b(300000,2,6,3);
  9.     cout<<"il primo deposito:"<<a.getresult()<<endl;
  10.     cout<<"il secondo deposito"<<b.getresult()<<endl;
  11. }


PM
Avatar
GuglielmoS (Ex-Member)
Pro


Messaggi: 114
Iscritto: 27/11/2009

Up
0
Down
V
Segnala al moderatore
Postato alle 16:40
Venerdì, 29/10/2010
Credo sia dovuto al fatto che non hai messo il ';' alla fine della dichiarazione della classe.
Ciao GuglielmoS

PM
Avatar
div (Normal User)
Newbie


Messaggi: 9
Iscritto: 22/06/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 16:44
Venerdì, 29/10/2010
grazie mille, ma mi dice in main.cpp questo:
`main' must return `int'
[Build Error]  [main.o] Error 1

PM
Avatar
GuglielmoS (Ex-Member)
Pro


Messaggi: 114
Iscritto: 27/11/2009

Up
0
Down
V
Segnala al moderatore
Postato alle 16:46
Venerdì, 29/10/2010
Testo quotato

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++

  1. ...
  2. int main()
  3. ...


PM
Avatar
div (Normal User)
Newbie


Messaggi: 9
Iscritto: 22/06/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 16:51
Venerdì, 29/10/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

PM
Avatar
GuglielmoS (Ex-Member)
Pro


Messaggi: 114
Iscritto: 27/11/2009

Up
0
Down
V
Segnala al moderatore
Postato alle 16:55
Venerdì, 29/10/2010
Come stai compilando?
Se stai compilando da linea di comando fai così (esempio con g++):
Codice sorgente - presumibilmente Plain Text

  1. g++ -Wall main.cpp savingsAccount.cpp


PM
Avatar
div (Normal User)
Newbie


Messaggi: 9
Iscritto: 22/06/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 16:56
Venerdì, 29/10/2010
no, compilo con dev-c++

PM
Avatar
GuglielmoS (Ex-Member)
Pro


Messaggi: 114
Iscritto: 27/11/2009

Up
0
Down
V
Segnala al moderatore
Postato alle 16:59
Venerdì, 29/10/2010
Testo quotato

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

PM
Avatar
div (Normal User)
Newbie


Messaggi: 9
Iscritto: 22/06/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 17:05
Venerdì, 29/10/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

PM
Pagine: [ 1 2 ] Precedente | Prossimo