Hej ;)
Mam do Was pytanko. Mam strukturę pojazd(identyfikator, przebieg). Muszę stworzyć funkcję losującą przebieg z parametrami przekazywanymi przez:
- wartość
- wskaźnik
- przez referencję
- przez referencje const
#include <iostream>
#include<ctime>
#include <cstdlib>
using namespace std;
struct pojazd{
int przebieg;
string id;
};
void init(pojazd & p, string identyfikator);
pojazd los1(pojazd p);
void los2(pojazd *p);
void los3(pojazd & p);
void los4(const pojazd & p);
void wypisz(pojazd p);
int main()
{
int n = 15;
pojazd *wsk = new pojazd[n];
srand(time(NULL));
pojazd samochod1;
init(samochod1, "Porsche");
los1(samochod1);
wypisz(samochod1);
pojazd samochod2;
init(samochod2, "Opel");
los2(&samochod2);
wypisz(samochod2);
pojazd samochod3;
init(samochod3, "Audi");
los3(samochod3);
wypisz(samochod3);
delete [] wsk;
return 0;
}
void init(pojazd & p, string identyfikator){
p.id = identyfikator;
}
pojazd los1(pojazd p){
pojazd nowy;
nowy.przebieg = rand()%300000;
return nowy;
}
void los2(pojazd *p){
p->przebieg = rand()%300000;
}
void los3(pojazd & p){
p.przebieg = rand()%300000;
}
void los4(const pojazd & p){
pojazd nowy;
nowy.przebieg = rand()%300000;
}
void wypisz(pojazd p){
cout << "Identyfikator: " << std::string(p.id) << endl;
cout << "Przebieg: " << p.przebieg << endl;
}
Jak mam to zrobić w funkcji los1 i los4, żeby zmieniła wartość przebiegu w strukturze?