Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[c++] błąd w konwersji

Ostatnio zmodyfikowano 2013-03-03 22:25
Autor Wiadomość
data17
Temat założony przez niniejszego użytkownika
[c++] błąd w konwersji
» 2013-03-03 21:17:57
Mam problem z konwersją
min=s1.tab[0]; 

Oto mój program:
C/C++
#include <iostream>
#include <string>
#include <stdlib.h>

using namespace std;

const int NMAX = 50;

struct TAuto {
    string marka;
    int rocznik;
    float pojemnosc;
    string kolor;
    int nr_silnika;
    int cena;
};


struct TSalon {
    string nazwa;
    TAuto tab[ NMAX ];
    int ile; //l.samochodow w salonie
};


int main()
{
    TAuto a, auta; //obiekty typu TAuto
    TSalon s1, s2, s3; //obiekty typu TSalon
   
    //Zad1 Wprowadz z klawiatury dane o aucie  do a
    cout << "Podaj dane o aucie: " << endl;
    cout << "Marka: "; cin >> a.marka;
    cout << "Rocznik: "; cin >> a.rocznik;
    cout << "Pojemnosc: "; cin >> a.pojemnosc;
    cout << "Kolor: "; cin >> a.kolor;
    cout << "Nr silnika: "; cin >> a.nr_silnika;
    cout << "Cena: "; cin >> a.cena;
    cout << endl;
   
   
    //Zad2 Zapisz strukturę a do salonu s1 jako 1-szą wsp. ( o indeksie 0)
   
    s1.tab[ 0 ] = a;
    //Zad3 Zapisz do struktury s1 dane o kolejnych 9-ciu autach podanych
    //z klawiatury. W miejsce wsp. o indeksach 1,2,...9
    s1.ile = 1;
    cout << "Podaj dane o kolejnych 9-ciu autach" << endl;
    for( int k = s1.ile; k <= s1.ile + 8; k++ )
    {
        cout << endl;
        cout << "Marka: "; cin >> s1.tab[ k ].marka;
        cout << "Rocznik: "; cin >> s1.tab[ k ].rocznik;
        cout << "Pojemnosc: "; cin >> s1.tab[ k ].pojemnosc;
        cout << "Kolor: "; cin >> s1.tab[ k ].kolor;
        cout << "Nr silnika: "; cin >> s1.tab[ k ].nr_silnika;
        cout << "Cena: "; cin >> s1.tab[ k ].cena;
       
    }
    //Zad4 Wypełnij pozostałe pola w s1.
    s1.ile = s1.ile + 9;
    cout << "Podaj nazwe salonu: " << endl;
    cin >> s1.nazwa;
   
    //Zad5 Wydruk probny salonu s1 z numeracja aut
    cout << s1.nazwa << endl;
    for( int k = 0; k < s1.ile; k++ )
    {
        cout << k + 1 << endl;
        cout << "Marka: " << s1.tab[ k ].marka;
        cout << "Rocznik: " << s1.tab[ k ].rocznik;
        cout << "Pojemnosc: " << s1.tab[ k ].pojemnosc;
        cout << "Kolor: " << s1.tab[ k ].kolor;
        cout << "Nr silnika: " << s1.tab[ k ].nr_silnika;
        cout << "Cena: " << s1.tab[ k ].cena;
       
    }
   
    //Zad5 Wyszukanie auta o najmniejszej cenie i wydruk jego parametrow
   
    int min, indeks = 0; //min- naj cena auta
    min = s1.tab[ 0 ];
   
    for( int k = 1; k < s1.ile; k++ )
    {
        if( s1.tab[ k ].cena < min )
        {
            min = s1.tab[ k ].cena;
            indeks = k;
        }
       
    }
    //Wypisanie danych o 1-szym znalezionym aucie
   
    cout << "Najniższą cene ma auto o nr: " << indeks << endl;
    cout << "Marka: " << s1.tab[ indeks ].marka << endl;
    cout << "Rocznik: " << s1.tab[ indeks ].rocznik << endl;
    cout << "Pojemnosc: " << s1.tab[ indeks ].pojemnosc << endl;
    cout << "Kolor: " << s1.tab[ indeks ].kolor << endl;
    cout << "Nr silnika: " << s1.tab[ indeks ].nr_silnika << endl;
    cout << "Cena: " << s1.tab[ indeks ].cena << endl;
   
   
    //Wyswietlenie danych o wszystkich najniższych autach
   
    for( int i = indeks; i < s1.ile; i++ )
    {
        if( s1.tab[ i ].cena == min )
        {
            cout << endl;
            cout << "Marka: " << s1.tab[ i ].marka;
            cout << "Rocznik: " << s1.tab[ i ].rocznik;
            cout << "Pojemnosc: " << s1.tab[ i ].pojemnosc;
            cout << "Kolor: " << s1.tab[ i ].kolor;
            cout << "Nr silnika: " << s1.tab[ i ].nr_silnika;
            cout << "Cena: " << s1.tab[ i ].cena;
        }
    }
   
    system( "PAUSE" );
    return 0;
}
Jak widać problem jest z:

prog.cpp: In function ‘int main()’:
prog.cpp:82:14: error: cannot convert ‘TAuto’ to ‘int’ in assignment

Czy da się jakoś obejść/zmienić żeby była możliwa kompilacja no i poprawne działąnie programu?
P-77630
SeaMonster131
» 2013-03-03 21:31:31
A nie:
C/C++
min = s1.tab[ 0 ].cena;
, skoro chcesz wyszukać najmniejszą cenę?
P-77631
data17
Temat założony przez niniejszego użytkownika
» 2013-03-03 22:25:52
faktycznie dzięki
P-77636
« 1 »
  Strona 1 z 1