Pereiti prie turinio

Rekomenduojami pranešimai

Noriu paklausti, ar reikia pasikeisti float SUNAUDOJIMAS, nes noriu skaiciuoti del kuro kaina (kiek kainuoja 1000km nuvažiavimas kiekvienam iš sąraše pateiktų automobilių; (riekės įvesti kuro kainą, papildant duomenis).

 

Failas:

 

1 MIG29 Subaru Legacy (Juoda, 2004m) Benzinas, 55KW ; 10.5 | 3.2 ; Sedanas
2 888888 BMW 745 (Juoda, 2002m) Benzinas, 60KW ; 10.6 | 3.4 ; Universalus
3 007 MERCEDES BENZ S320 (Pilka, 1999m) Benzinas/Dujos, 80KW ; 8.2 | 6.5 ; Universalus
4 001 HARLEY DAVIDSON V-ROD (Pilka, 2003m) Dyzelinas, 150KW ; 15.5 | 7.5 ; Universalus
5 VAELGT AUDI A4 (Geltona, 2005m) Benzinas, 180KW ; 17.5 | 8.1 ; Universalus
6 TDX998 Audi A6 (Zalia, 1999m) Dyzelinas, 60KW ; 10.5 | 3.5 ; Universalus
7 AVILYS LEXUS GS 300 (Zalia, 2005m) Benzinas/Dujos, 70KW ; 10.5 | 4.5 ; Sedanas
8 LT0005 BMW X5 (Melyna, 2004m) Benzinas, 88KW ; 10.1 | 5.2 ; Universalus
9 LT0001 SUBARU Legacy (Pilka, 2006m) Benzinas/Dujos, 90KW ; 8.5 | 5.5 ; Universalus
10 444444 VW NEW BEETLE (Geltona, 2003m) Dyzelinas, 150KW ; 15.5 | 7.5 ; Universalus

 

Mano programa:

 

#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <iterator>
#include <sstream>
#include <cstdlib>

using namespace std;

struct Automobilis
{
int eilNr;
string regNumeris;
string pavadinimas;
string spalva;
string kuroTipas;
string kuroSunaudojimas;
string modelis;
int km;
float k;
int metai;
};

void kaina(int n, Automobilis a);

int main()
{
ifstream Duomenys("auto1.txt");
vector<Automobilis> Masinos;
if (Duomenys.fail())
{
	printf("Nepavyko uzkrauti duomenu failo!");
	return 0;
}
string linija;
while (getline(Duomenys, linija))
{
	Automobilis a;
	stringstream ss(linija);
	vector<string> datawows;
	copy(istream_iterator<string>(ss), istream_iterator<string>(), back_inserter(datawows));

	linija.erase(0, datawows[0].length() + 1);
	linija.erase(0, datawows[1].length() + 1);

	a.pavadinimas = linija;
	int Pozicija = a.pavadinimas.find("(");
	a.pavadinimas.erase(Pozicija, a.pavadinimas.length());
	linija.erase(0, a.pavadinimas.length() + 1);
	a.spalva = linija.substr(0, linija.find(","));
	linija.erase(0, a.spalva.length() + 2);
	string Metai = linija.substr(0, linija.find(" "));
	linija.erase(0, 6);
	a.kuroTipas = linija.substr(0, linija.find(";"));
	linija.erase(0, a.kuroTipas.length() + 2);
	a.kuroSunaudojimas = linija.substr(0, linija.find(";"));
	linija.erase(0, a.kuroSunaudojimas.length() + 2);
	a.modelis = linija;

	a.eilNr = atoi(datawows[0].c_str());
	a.regNumeris = datawows[1];
	a.metai = atoi(Metai.c_str());
	Masinos.push_back(a);
}
vector<Automobilis>::iterator it, end;
for (it = Masinos.begin(), end = Masinos.end(); it != end; ++it)
{
	printf("\n------------------\nEil. numeris: %d\nMasina: %s\nMetai: %d\nReg. numeris: %s\nSpalva: %s\nKuro tipas ir KW: %s\nKuro uzmiestyje | mieste: %s\nModelis: %s\n------------------\n\n",
		(*it).eilNr,
		(*it).pavadinimas.c_str(),
		(*it).metai,
		(*it).regNumeris.c_str(),
		(*it).spalva.c_str(),
		(*it).kuroTipas.c_str(),
		(*it).kuroSunaudojimas.c_str(),
		(*it).modelis.c_str());
}
system("pause");
}

void kaina(int n, Automobilis a){
for (int i = 0; i < n; i++){
	cout << "Iveskite " << a.eilNr << " " << a.pavadinimas << " " << a.modelis << " kuro kaina mieste 1 kilometrui:" << endl;
	cin >> a.kuroSunaudojimas;
	cout << "Iveskite " << a.eilNr << " " << a.pavadinimas << " " << a.modelis << " kuro kaina uzmiestyje 1 kilometrui:" << endl;
	cin >> a.kuroSunaudojimas;
	cout << "Iveskite " << a.eilNr << " " << a.pavadinimas << " " << a.modelis << " nuvaziuota atstuma mieste:" << endl;
	cout << "Ispejimas: atstumas gali buti nuo 1 iki 1000. Atstumo vienetai - kilometrai." << endl;
	cin >> a.km;
	while (a.km < 1 || a.km >1000) {
		if (a.km < 1) cout << "Negalima butu neigiamu skaiciu";
		else cout << "Negali virsyti nuo 1000";
		cout << ". Iveskite reiksme is naujo:" << endl;
		cin >> a.km;
	}

	// 1000 km kuro kainos apskaiciavimas
	a.k = a.km * a.kuroSunaudojimas + (1000 - a.km) * a.kuroSunaudojimas;
	cout << "kaime: " << 1000 - a.km << " mieste: " << a.km << " keliones kaina: " << a.k << endl;
}
}

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...