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

Problem z zadaniem z książki, wyświetlanie tablic struktur.

Ostatnio zmodyfikowano 2017-06-12 16:18
Autor Wiadomość
Bercik97
Temat założony przez niniejszego użytkownika
» 2017-06-11 15:14:45
C/C++
#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <cstring>

using namespace std;

const int strsize = 20;

struct zpdw
{
    char imie[ strsize ];
    char stanowisko[ strsize ];
    char pseudozpdw[ strsize ];
    int preferencje;
} tablica[ 4 ];

int main()
{
    cout << "Zakon Programist\242w Dobrej Woli\n";
    cout << "a. lista wg imion         b. lista wg stanowisk\n";
    cout << "c. lista wg pseudonim\242w   d. lista wg preferencji\n";
    cout << "q. koniec\n";
   
    strcpy( tablica[ 0 ].imie, "Wimp Macho" );
    strcpy( tablica[ 0 ].imie, "Raki Rhodes" );
    strcpy( tablica[ 0 ].imie, "Celia Laiter" );
    strcpy( tablica[ 0 ].imie, "Hoppy Hipman" );
    strcpy( tablica[ 0 ].imie, "Pat Hand" );
   
    tablica[ 1 ].stanowisko[ strsize ] = 'M\210odszy Programista';
    tablica[ 1 ].stanowisko[ strsize ] = '\230redni Programista';
    tablica[ 1 ].stanowisko[ strsize ] = 'Starszy Programista';
    tablica[ 1 ].stanowisko[ strsize ] = 'M\210odszy Programista';
    tablica[ 1 ].stanowisko[ strsize ] = '\230redni Programista';
   
    tablica[ 2 ].pseudozpdw[ strsize ] = 'Pseudonim Jeden';
    tablica[ 2 ].pseudozpdw[ strsize ] = 'Pseudonim Dwa';
    tablica[ 2 ].pseudozpdw[ strsize ] = 'Pseudonim Trzy';
    tablica[ 2 ].pseudozpdw[ strsize ] = 'Pseudonim Cztery';
    tablica[ 2 ].pseudozpdw[ strsize ] = 'Pseudonim Pi/251/206';
   
    char wybor;
   
    while( wybor != 'q' )
    {
        cout << "Wybierz a, b, c, d lub q \n";
       
        wybor = getch();
        switch( wybor )
        {
        case 'a':
            for( int i = 0; i < 4; i++ )
                 cout << tablica[ i ].imie << endl;
           
            break;
        case 'b':
            cout << tablica[ 1 ].stanowisko;
            break;
        case 'c':
            cout << tablica[ 2 ].pseudozpdw;
            break;
        case 'd':
           
            break;
        case 'q':
            cout << "Do zobaczenia!";
            exit( 0 );
            break;
            default: cout << "Niepoprawna warto\230\206!\n";
        }
    }
   
    return 0;
}
P-162384
Luq
» 2017-06-11 15:19:01
Modyfikujesz imie tylko pierwszego elementu tablicy. Funkcję strcpy musisz stosować do każdego pola typu char[], nie tylko do imienia.
P-162387
Bercik97
Temat założony przez niniejszego użytkownika
» 2017-06-12 16:18:32
Nie umiałem zrobić z tą funkcja strcpy i zrobiłem inaczej i działa :)
C/C++
#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <cstring>

using namespace std;

const int strsize = 20;
void showmenu();

struct zpdw
{
    char imie[ strsize ];
    char stanowisko[ strsize ];
    char pseudozpdw[ strsize ];
    int preferencje;
};

zpdw zakon[ strsize ] =
{
    { "Wimp Macho", "M\210odszy Programista", "Pseudonim Jeden", },
    { "Raki Rhodes", "\230redni Programista", "Pseudonim Dwa", },
    { "Celia Laiter", "Starszy Programista", "Pseudonim Trzy", },
    { "Happy Hipman", "M\210odszy Programista", "Pseudonim Cztery", },
    { "Pat Hand", "\230redni Programista", "Pseudonim Pi\251\206" }
};

int main()
{
    showmenu();
   
    char wybor;
   
    while( wybor != 'q' )
    {
        cout << "Wybierz a, b, c, d lub q \n";
       
        wybor = getch();
        switch( wybor )
        {
        case 'a':
            for( int i = 0; i < 5; i++ )
                 cout << zakon[ i ].imie << endl;
           
            break;
        case 'b':
            for( int i = 0; i < 5; i++ )
                 cout << zakon[ i ].stanowisko << endl;
           
            break;
        case 'c':
            for( int i = 0; i < 5; i++ )
                 cout << zakon[ i ].pseudozpdw << endl;
           
            break;
        case 'd':
           
            break;
        case 'q':
            cout << "Do zobaczenia!";
            exit( 0 );
            break;
            default: cout << "Niepoprawna warto\230\206!\n";
        }
    }
   
    return 0;
}
void showmenu()
{
    cout << "Zakon Programist\242w Dobrej Woli\n";
    cout << "a. lista wg imion         b. lista wg stanowisk\n";
    cout << "c. lista wg pseudonim\242w   d. lista wg preferencji\n";
    cout << "q. koniec\n";
}
P-162425
1 « 2 »
Poprzednia strona Strona 2 z 2