Witam mam pewien problem probuje przerobic pewien program i wyskakują mi błędy a mianowicie
49 C:\Dev-Cpp\glowny\podzial\main.cpp `dodaj_do_bazy' undeclared (first use this function)
(Each undeclared identifier is reported only once for each function it appears in.)
i to samo z innymi funkcjami, nie wiem za bardzo jak ten problem usunac, proszę o pomoc:
Main:
#include <iostream>
#include <string>
#include <fstream>
#include "samochod.h"
using namespace std;
int main(int argc,char **argv)
{
int znak;
///przykladowa nazwa bazy danych
argv[1] = "baza.txt";
do
{
cout<<"Co chcesz robic ??\n";
cin>>znak;
switch(znak)
{
case 1:
{
int n;
cout<<"Ile samochodow zapisac w bazie ?\n";
cin>>n;
Samochod *s = new Samochod [n];
dodaj_do_bazy(argv[1],s,n);
delete [] s;
break;
}
case 2:
{
int ile;
cout<<"Ile samochodow chcesz dopisac do bazy ?\n";
cin>>ile;
int roz = rozmiar(argv[1])+ile-1;
int rozm = rozmiar(argv[1])-1;
Samochod *s = new Samochod [roz];
zpliku(argv[1],s,rozm);
for(int i=rozm;i<roz;++i)
{
s[i].numer = i+1;
cout<<"Podaj marke :\n";
cin>>s[i].marka;
cout<<"Podaj model :\n";
cin>>s[i].model;
cout<<"Podaj rok produkcji :\n";
cin>>s[i].rok;
cout<<"Podaj cene :\n";
cin>>s[i].cena;
}
ofstream plik;
plik.open(argv[1]);
for(int i=0;i<roz;++i)
{
plik<<s[i].numer<<endl;
plik<<s[i].marka<<endl;
plik<<s[i].model<<endl;
plik<<s[i].rok<<endl;
plik<<s[i].cena<<endl;
plik<<"\n\n";
}
plik.close();
delete [] s;
break;
}
}
}while(znak != 0);
return 0;
system("PAUSE");
return EXIT_SUCCESS;
}
Samochod.cpp
#include "samochod.h"
void Samochod::dodaj_do_bazy(char *in,Samochod *s,int n)
{
ofstream plik;
plik.open(in);
for(int i=0;i<n;++i)
{
s[i].numer = i+1;
plik<<s[i].numer<<endl;
cout<<"Podaj marke :\n";
cin>>s[i].marka;
plik<<s[i].marka<<endl;
cout<<"Podaj model :\n";
cin>>s[i].model;
plik<<s[i].model<<endl;
cout<<"Podaj rok produkcji :\n";
cin>>s[i].rok;
plik<<s[i].rok<<endl;
cout<<"Podaj cene samochodu :\n";
cin>>s[i].cena;
plik<<s[i].cena<<endl;
plik<<"\n\n";
}
plik.close();
}
int Samochod::rozmiar(char *in)
{
std::string model , marka;
int rok , numer;
double cena;
ifstream plik;
plik.open(in);
int rozm = 0;
while(!plik.eof())
{
plik>>numer;
plik>>marka;
plik>>model;
plik>>rok;
plik>>cena;
rozm += 1;
}
plik.close();
return rozm;
}
///funkcja wyciagajaca z pliku samochody do tablicy
void Samochod::zpliku(char *in,Samochod *s,int n)
{
ifstream plik;
plik.open(in);
for(int i=0;i<n;++i)
{
plik>>s[i].numer;
plik>>s[i].marka;
plik>>s[i].model;
plik>>s[i].rok;
plik>>s[i].cena;
}
}
i samochod.h
#ifndef SAMCHOD_H
#define SAMOCHOD_H
class Samochod
{
public:
int numer; /// numer w bazie
std::string marka;
std::string model;
int rok; /// rok produkcji
double cena;
void dodaj_do_bazy(char *in,Samochod *s,int n);
int rozmiar(char *in);
void zpliku(char *in,Samochod *s,int n);
};
#endif