Problem z zadaniem z książki, wyświetlanie tablic struktur.
Ostatnio zmodyfikowano 2017-06-12 16:18
Bercik97 Temat założony przez niniejszego użytkownika |
» 2017-06-11 15:14:45 #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; }
|
|
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. |
|
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 :) #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"; }
|
|
1 « 2 » |