przez Achitas 08 Sty 2010, 18:10
Witam kumpel zrobił mi programik na programowanie w Devi , ja potrzebuje w builderze .On nie umie w builderze robić więc proszę was abyście pomogli
- Kod: Zaznacz wszystko
#include <iostream>
#include <string>
#include <fstream>
#include <stdlib.h>
using namespace std;
class Samochod
{
public:
int numer;
string marka;
string model;
int rok;
double cena;
};
void dodaj_fure(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 rozmiar(char *in)
{
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;
}
void 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;
}
}
void wypisz(Samochod *s,int n,int www,int rok)
{
for(int i=0;i<n;++i)
{
if(www == 0){
cout<<"-----------------\n";
cout<<"|Nr."<<s[i].numer<<endl;
cout<<"-----------------\n";
cout<<"|Marka : |"<<s[i].marka<<endl;
cout<<"|Model : |"<<s[i].model<<endl;
cout<<"|Rok produkcji : |"<<s[i].rok<<endl;
cout<<"|Cena : |"<<s[i].cena<<endl;
cout<<"-------------------------------------------------\n";
}
else
{
if (rok==s[i].rok){
cout<<"-----------------\n";
cout<<"|Nr."<<s[i].numer<<endl;
cout<<"-----------------\n";
cout<<"|Marka : |"<<s[i].marka<<endl;
cout<<"|Model : |"<<s[i].model<<endl;
cout<<"|Rok produkcji : |"<<s[i].rok<<endl;
cout<<"|Cena : |"<<s[i].cena<<endl;
cout<<"-------------------------------------------------\n";
}
}
}
}
void clrscr()
{
system("cls");
}
void usun(Samochod *s,int n,int ktory)
{
int tmp;
for(int i=0;i<n;++i)
{
if(i+1 == ktory)
{
tmp = i;
}
}
for(int i=tmp;i<n;++i)
{
//s[i] = s[i+1];
s[i].marka = s[i+1].marka;
s[i].model = s[i+1].model;
s[i].rok = s[i+1].rok;
s[i].cena = s[i+1].cena;
}
}
int main(int argc,char **argv)
{
int znak;
argv[1] = "nasz_komisik.txt";
do
{
clrscr();
cout<<"**** * * **** **** * * **** * * * ****\n";
cout<<"* * * * ** * * * * * * * * * * * * \n";
cout<<"**** * * ** * * *** ** * * * * * * ****\n";
cout<<"* * * * ** * * * * * * * * * *\n";
cout<<"* * **** ** **** * * **** * * * ****\n";
cout<<"-------------------------------------------------\n";
cout<<" by Adrian Hryciuk\n";
cout<<"-------------------------------------------------\n";
cout<<" 1 - Utworz baze danych\n";
cout<<" 2 - Dopisz somochód\n";
cout<<" 3 - Wyświetl baze samochodow\n";
cout<<" 4 - Usuniecie samochodu z bazy\n";
cout<<" 5 - Wyszukaj po roku\n";
cout<<" 0 - Wyjscie z programu\n";
cout<<"-------------------------------------------------\n";
cout<<" Wybierz odpowiedni klawisz:";
cin>>znak;
switch(znak)
{
case 1:
{
clrscr();
int n;
cout<<"Ile samochodow zapisac w bazie ?\n";
cin>>n;
Samochod *s = new Samochod [n];
dodaj_fure(argv[1],s,n);
delete [] s;
break;
}
case 2:
{
clrscr();
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;
}
case 3:
{
clrscr();
int www = 0;
cout<<"Samochody w bazie :\n\n";
int n = rozmiar(argv[1])-1;
Samochod *s = new Samochod [n];
zpliku(argv[1],s,n);
wypisz(s,n,www,0);
delete [] s;
system("pause");
break;
}
case 5:
{
clrscr();
int www = 1;
int ile;
cout<<"Podaj rocznik samochodu\n";
cin>>ile;
cout<<"Samochody w bazie :\n\n";
int n = rozmiar(argv[1])-1;
Samochod *s = new Samochod [n];
zpliku(argv[1],s,n);
wypisz(s,n,www,ile);
delete [] s;
system("pause");
break;
}
case 4:
{
int n = rozmiar(argv[1])-1;
Samochod *s = new Samochod [n];
zpliku(argv[1],s,n);
int ktory;
cout<<"Ktory samochod usunac z bazy ?\n";
cin>>ktory;
usun(s,n,ktory);
ofstream plik;
plik.open(argv[1]);
for(int i=0;i<n-1;++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;
}
case 0:
{
clrscr();
cout<<"Dziekuje! ;";
//break;
}
}
}while(znak != 0);
return 0;
}
Edit: Podpis niezgodny z regulaminem (Mike)
Ty Jesteś Życiem, Szczęściem I Wiecznością... Słowem I Oddechem... Nigdy Nie Odchodź!
Najważniejsze jest, aby zachować poczucie humoru i zawsze być optymistą nawet w sytuacjach bez wyjścia - Bear Grylls podczas złamania kręgosłupa w 3 miejscach!