Tablica struktury - nie potrafie znaleźć błędu , dlaczego nie można przypisac imienia drugiej i kolejnym osobom
Ostatnio zmodyfikowano 2014-12-06 19:35
Balttazarr Temat założony przez niniejszego użytkownika |
Tablica struktury - nie potrafie znaleźć błędu , dlaczego nie można przypisac imienia drugiej i kolejnym osobom » 2014-12-06 17:39:28 Jak w temacie.. tutaj kod #include<iostream> #include<stdlib.h> #include<stdio.h>
using namespace std;
struct Osoba { char imie[ 20 ]; char nazwisko[ 20 ]; int wiek; int waga; int wzrost; };
void wczytaj( Osoba * Wczlowiek ) { for( int i = 1; i < 6; i++ ) { cout << "Osoba nr " << i << " :" << endl; cout << "Wprowadz imie: "; cin.getline(( Wczlowiek + i )->imie, 20 ); cout << "Wprowadz nazwisko: "; cin.getline(( Wczlowiek + i )->nazwisko, 20 ); cout << "Podaj wiek: "; cin >>( Wczlowiek + i )->wiek; cout << "Podaj wage: "; cin >>( Wczlowiek + i )->waga; cout << "Podaj wzrost: "; cin >>( Wczlowiek + i )->wzrost; system( "cls" ); } }
void wyswietl( Osoba * Wczlowiek ) { system( "cls" ); for( int i = 1; i < 6; i++ ) { cout << "Osoba nr : " << i << endl; cout <<( Wczlowiek + i )->imie << " " <<( Wczlowiek + i )->nazwisko << ", " <<( Wczlowiek + i )->wiek << " lat." << endl; cout << "Waga: " <<( Wczlowiek + i )->waga << ", " << "Wzrost: " <<( Wczlowiek + i )->wzrost << " \n" << endl;; } }
int main() { Osoba czlowiek[ 5 ]; Osoba * Wczlowiek; Wczlowiek = czlowiek; wczytaj( czlowiek ); wyswietl( czlowiek ); system( "pause" ); return 0; }
Z góry dzięki za pomoc :) |
|
Monika90 |
» 2014-12-06 17:48:29 W funkcji wczytaj przed system("cls") napisz cin.ignore(9999999, '\n'); A tak poza tym, to wychodzisz poza zakres tablicy.
|
|
Balttazarr Temat założony przez niniejszego użytkownika |
» 2014-12-06 19:35:12 Wszystko ładnie, pięknie, tylko dlaczego się tak dzieje? Jak napisze, ze string imie, nazwisko; to jest jeszcze gorzej , bo dopiero od wieku można wpisywać... |
|
« 1 » |