Czemu struktura salon nazywa się salon, a nie samochód? Czemu szczegóły to szczegóły, a nie salon? Najprościej będzie przenieść tablicę "salonów" do klasy "szczegóły". Działający kod:
#include <iostream> // napisach go jak najkrocej metodami ktore znam!
#include <string>
#include <cstring>
#include <exception>
#include <conio.h>
class szczegoly
{
public:
struct salon
{
std::string auto1;
char model[30];
double predkosc = 0;
};
salon informacje[3];
void dane();
};
void szczegoly::dane()
{
std::cout << "Nazwy trzech samochodow do porownania\n";
std::getline(std::cin, informacje[0].auto1);
std::getline(std::cin, informacje[1].auto1);
std::getline(std::cin, informacje[2].auto1); //wejscie za pomoca string
std::cout << "Model pierwszego samochodu\n";
std::cin >> informacje[0].model;
std::cout << "Predkosc_max pierwszego samochodu\n";
std::cin >> informacje[0].predkosc;
std::cout << "Model drugiego samochodu\n";
std::cin >> informacje[1].model;
std::cout << "Predkosc_max drugiego samochodu\n";
std::cin >> informacje[1].predkosc;
std::cout << "Model trzeciego samochodu\n";
std::cin >> informacje[2].model;
std::cout << "Predkosc_max trzeciego samochodu\n";
std::cin >> informacje[2].predkosc;
}
int main()
{
szczegoly obiekt;
obiekt.dane();
std::cout << obiekt.informacje[0].auto1 << ";" << obiekt.informacje[0].model << ";" << obiekt.informacje[0].predkosc << std::endl;
std::cout << obiekt.informacje[1].auto1 << ";" << obiekt.informacje[1].model << ";" << obiekt.informacje[1].predkosc << std::endl;
std::cout << obiekt.informacje[2].auto1 << ";" << obiekt.informacje[2].model << ";" << obiekt.informacje[2].predkosc << std::endl;
double total = (obiekt.informacje[0].predkosc + obiekt.informacje[1].predkosc + obiekt.informacje[2].predkosc) / 3.;
std::cout << std::endl << "Srednia predkosc: " << total << '\n';
strcat(obiekt.informacje[1].model, " \"wersja limitowana\" "); //dodanie dodatkowego tekst do lancucha!f
std::cout << obiekt.informacje[1].model;
getch();
return 0;
}
Tylko nadal wygląda do słabo i okropnie. Lepiej byłoby zrobić to dynamicznie (albo z użyciem std::vector), pozmieniać nazwy. Dodaj osobną funkcję do przypisywania wartości etc.