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

struktury wypisywanie forem

Ostatnio zmodyfikowano 2011-05-15 13:24
Autor Wiadomość
Elano92
Temat założony przez niniejszego użytkownika
struktury wypisywanie forem
» 2011-05-14 18:15:00
C/C++
#include <iostream>
#include <string>
#include <conio.h>
using namespace std;
struct FARMA
{
    string nazwa;
    short waga;
    short tygodnie;
    string data;
};
int main()
{
    FARMA Zwierzyna[ 5 ];
    FARMA Krowa =
    {
        "Krowa",
        102,
        112,
        "24.04.08.",
    };
    FARMA Swinia =
    {
        "Swinia",
        99,
        24,
        "24.04.08.",
    };
    FARMA Pies =
    {
        "Pies",
        34,
        48,
        "6.05.02."
    };
    FARMA Koza =
    {
        "Koza",
        33,
        100,
        "23.02.09.",
    };
    FARMA Kura =
    {
        "Kura",
        5,
        16,
        "23.02.09.",
    };
   
   
   
    /*  cout<<"Lista zwierzat: "<<endl
           <<"Nazwa: "<<Krowa.nazwa<<endl<<"Waga [kg]: "
           <<Krowa.waga<<endl<<"Wiek [tyg]: "<<Krowa.tygodnie<<
           endl<<"Data nabycia: "<<Krowa.data<<endl;
           cout<<endl;
           cout<<"Nazwa: "<<Swinia.nazwa<<endl<<"Waga [kg]: "
           <<Swinia.waga<<endl<<"Wiek [tyg]: "<<Swinia.tygodnie<<
           endl<<"Data nabycia: "<<Swinia.data<<endl<<endl;
            cout<<"Nazwa: "<<Pies.nazwa<<endl<<"Waga [kg]: "
           <<Pies.waga<<endl<<"Wiek [tyg]: "<<Pies.tygodnie<<
           endl<<"Data nabycia: "<<Pies.data<<endl;
           cout<<"Nazwa: "<<Koza.nazwa<<endl<<"Waga [kg]: "
           <<Koza.waga<<endl<<"Wiek [tyg]: "<<Koza.tygodnie<<
           endl<<"Data nabycia: "<<Koza.data<<endl<<endl;
           cout<<"Nazwa: "<<Kura.nazwa<<endl<<"Waga [kg]: "
           <<Kura.waga<<endl<<"Wiek [tyg]: "<<Kura.tygodnie<<
           endl<<"Data nabycia: "<<Kura.data<<endl<<endl;
           */
   
    for( short licz = 0; licz < 5; licz++ ) {
        cout << "Nazwa " << licz + 1
        << Zwierzyna[ licz ].nazwa
        << endl;
    }
   
   
   
   
    getch();
    return 0;
}
 JAk to wyświetlić forem dużo sposobów prubowałem i lipa
P-33024
malan
» 2011-05-14 20:41:14
C/C++
struct FARMA
{
    //...
    void show()
    {
        std::cout << "Nazwa: " << nazwa << std::endl << "Waga [kg]: " << waga << std::endl << "Wiek [tyg]: " << tygodnie << std::endl << "Data nabycia: " << data << std::endl;
    }
};

FARMA Zwierzyna[] =
{
    { "Krowa", 102, 112, "24.04.08." },
    //...
    { "Kura", 5, 16, "23.02.09." }
};
//...
for( int i = 0; i < ANIMALS_COUNT; ++i )
     Zwierzyna[ i ].show();
Jakoś tak...
P-33026
Elano92
Temat założony przez niniejszego użytkownika
» 2011-05-14 21:33:31
.show();
 co to jest ? to było w tej lekcji ?
P-33027
kamillo121
» 2011-05-14 22:21:11
To jest metoda struktury, powracając do twojego kodu to tak, przytoczę kawałek twojego kodu:
C/C++
FARMA Zwierzyna[ 5 ];
FARMA Krowa =
{
    "Krowa",
    102,
    112,
    "24.04.08.",
};
FARMA Swinia =
{
    "Swinia",
    99,
    24,
    "24.04.08.",
};
FARMA Pies =
{
    "Pies",
    34,
    48,
    "6.05.02."
};
FARMA Koza =
{
    "Koza",
    33,
    100,
    "23.02.09.",
};
FARMA Kura =
{
    "Kura",
    5,
    16,
    "23.02.09.",
};

Najpierw tworzysz tablice z 5 indeksami  typu FARMA.
Następnie tworzysz kolejne obiekty  koza,kura,pies itd a potem wyświetlasz dane z tablicy więc się nie dziw, że czary mary nie wychodzi.
Tak się powinieneś odnosić do struktur z tablicy:
C/C++
Zwierzyna[ 0 ].nazwa = "Kura";
Zwierzyna[ 0 ].data = "jakas data";
//i tak dla reszty pól

Zwierzyna[ 1 ].nazwa = "Koza";
//i tak dla reszty pól i indeksów

a tamte obiekty kura, koza itd możesz usunąć bo przecież po to sobie tablicę tworzysz, żeby każdego z osobna nie tworzyć...
P-33028
Elano92
Temat założony przez niniejszego użytkownika
» 2011-05-15 10:09:21
C/C++
#include <iostream>
#include <string>
#include <conio.h>
using namespace std;


struct FARMA
{
    void pokaz()
    {
        cout << "Nazwa: " << nazwa << endl << "Waga: " << waga << "kg" << endl << "Tygodnie: " << tygodnie << endl << "Data: " << data << "r," << endl << endl;
    }
   
    string nazwa;
    short waga;
    short tygodnie;
    string data;
};






int main()
{
   
    FARMA Zwierzyna[] =
    {
        { "Krowa", 102, 112, "24.04.08." },
        { "Swinia", 99, 24, "24.04.08." },
        { "Pies", 34, 48, "6.05.02." },
        { "Koza", 33, 100, "23.02.09." },
        { "Kura", 5, 16, "23.02.09." },
       
    };
   
   
   
    for( int licz = 0; licz < 5; licz++ )
    {
       
        Zwierzyna[ licz ].pokaz();
    }
 Nie wiem jak zrobić to ,że np.
string name; cout << "podaj nazwe " << endl; cin >> name;
 To jak to później porównać próbowałem już na b.dużo sposób np .
if( name == Farma Zwierzyna[ licz ].nazwa ) cout << name;
w forze ale nie działa ;/
        
        
      
        
P-33029
kamillo121
» 2011-05-15 12:35:31
Programowanie polega przede wszystkim na myśleniu myśleniu i jeszcze raz myśleniu. Nie możesz się przyzwyczajać, że każdy malutki problem będziesz mógł przedstawić na forum i ktoś Ci pomoże. Wiadomo forum jest po to by pomagać itd ale głównie ty sam musisz kształtować swoją wiedzę...
Przedstawiłeś pewien(twój) sposób porównania:

C/C++
if( name == Farma Zwierzyna[ licz ].nazwa ) cout << name;


Pomyśl nieco dłużej co w tym może być nie tak.
Jeżeli powiesz, ze nie masz pojęcia/nie wiesz to wróć się do początkowych lekcji i czytaj wszystko jeszcze raz i zrozumiale bo brnięcie na siłę do przodu nie ma sensu.
P-33030
Elano92
Temat założony przez niniejszego użytkownika
» 2011-05-15 12:43:14
wszystkie tematy wcześniejsze przerobiłem , ich zad.dom bez problemu potrafie napisać itp. Ale tu jest naprawde taka mieszanina w mózgu weź mnie chociaż w jakiś sposób nakieruj .
P-33031
kamillo121
» 2011-05-15 12:50:47
Popatrz na swój warunek:
C/C++
if( name == Farma Zwierzyna[ licz ].nazwa )


Budowa warunku porównania jest taka:

C/C++
if( lewa_wartosc znak_porownania prawa_wartosc )

Ty masz tak:
C/C++
if( lewa_wartosc znak_porownania najpierw_deklaracja_ + _odczytwartosci_z_tablicy )

Poczytaj o string, mają metodę do porównania to raz a dwa, że zamiast próbować tworzyć nowe obiekty po prostu się do nich odwołaj:

C/C++
if( name.compare( Zwierzyna[ licz ].nazwa ) == 0 )

//powinno działać ale co do zwracanych wartości to głowy nie dam...
P-33032
« 1 » 2
  Strona 1 z 2 Następna strona