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

Wskaźnik pierwszego elementu tablicy struktur

Ostatnio zmodyfikowano 2009-10-09 23:29
Autor Wiadomość
szkuner
Temat założony przez niniejszego użytkownika
Wskaźnik pierwszego elementu tablicy struktur
» 2009-10-09 20:36:05
Prossił bym o pomoć w tym programie.Chce żeby wprowadzanie danych studentów kończyło sie gdy dojdzie do końca tablicy.
Nie wiem czemu ale nie moge przypisać do zmienej w funkcji wprowadzające dane studentów rozmiaru tablicy podanej wcześniej do zmienej class_size.
C/C++
#include <iostream>
using namespace std;
const int SLEN = 30;


struct student
{
    char fullname[ SLEN ];
    char hobby[ SLEN ];
    int ooplevel;
   
};
int getinfo( student pa[], int n );
void display1( student st );
void display2( const student * ps );
void display3( const student pa[], int n );

int main()
{
    cout << "Podaj wielkosc grupy";
    int class_size;
    while( class_size = cin.get() != '\n' )
         continue;
   
    student * ptr_stu = new student[ class_size ];
    int entered = getinfo( ptr_stu, class_size );
    for( int i = 0; i < entered; i++ )
    {
       
        display1( ptr_stu[ i ] );
        display2( & ptr_stu[ i ] );
       
    }
    display3( ptr_stu, entered );
    delete[] ptr_stu;
    cout << "Gotowe\n";
    return 0;
}
int getinfo( student pa[], int n )
{ pa->ooplevel = n;
    int count = 0;
    cout << pa->ooplevel;
    for( int i = 0; i < pa->ooplevel; i++ )
    {
        cout << "Podaj Imie i Nazwisko studenta:";
        cin.get( pa->fullname, n ).get();
        cout << "Podaj Hobby:\n";
        cin.get( pa->hobby, n ).get();
        count++;
        pa++;
    }
   
    return count;
}
void display1( student st )
{
   
    cout << "\nImie Nazwisko:" << st.fullname << endl;
    cout << "Hobby:" << st.hobby << endl;
   
   
}
void display2( const student * ps )
{
    cout << "\nImie Nazwisko:" << ps->fullname << endl;
    cout << "Hobby:" << ps->hobby << endl;
   
   
}
void display3( const student pa[], int n )
{
    cout << "\nImie Nazwisko:" <<* pa->fullname << endl;
    cout << "Hobby:" <<* pa->hobby << endl;
   
}
P-10739
DejaVu
» 2009-10-09 21:05:44
C/C++
while( !( cin >> class_size ) )
{
    cin.clear();
    cin.sync();
} //while
P-10742
szkuner
Temat założony przez niniejszego użytkownika
» 2009-10-09 21:55:29
Tak nie bedzie działać program wogóle nie robi tego co ma robić to może ja to inaczej sprecyzuje.
Prosił bym o sprawdzenie funkcji getinfo czy robi to co autor napisał w zadaniu czy nie:
- funkcja getinfo()ma dwa parametry : wskaźnik na pierwszy element tablicy struktury oraz liczbe int okreslajaca liczbe elementów w tablicy
-funkcja ma pobrać i zapisać dane o studentach
-wprowadzenie danych ma sie zakończyć kiedy tablica jest pełna lub zostanie puste nazwisko studenta
-funkcja zwraca liczbe studentów wprowadzonych do tablicy
Bardzo bym prosił o sprawdzenie tej funkcji czy tam zawarłem najważniejsze rzeczy
i o sprawdzenie co te moje wypociny w tej funkcji naprawde robią
P-10748
DejaVu
» 2009-10-09 22:20:54
Jeśli nie wiesz co piszesz to po co ja mam tracić czas na poprawianie Twojego kodu? Pisz programy małymi fragmentami i testuj je na bieżąco. Z tego co napisałeś wynika, że my mamy siąść do tego kodu co wkleiłeś i go poprawić tak, aby działał zgodnie z Twoimi oczekiwaniami. Ustal co źle działa, poczytaj jak to poprawić, a nie dajesz jakiś program w którym jest n'błędów logicznych bo robiłeś to bez zastanowienia lub po prostu skopiowałeś od kogoś.
P-10754
szkuner
Temat założony przez niniejszego użytkownika
» 2009-10-09 22:31:11
Wypraszam sobie jakieś tam kopiowanie.
Program pochodzi z książki Pratty jako ćwiczenie kończące rozdział z funkcjami
Autor zadania napisał cały kod ale nie napisał funkcji to tego programu oprócz main()
Wiec wziąłem sie za rozwiązywanie tego zadania i zrobiłem go w miare swoich umiejetnośći w sumie to program działa oprócz możliwośći zakończenia wprowadzania danych studentów w petli reszte funkcji wyświetlających zrobiłem sam wie chciałem sie spytać czy nie widzicie gdzieś błedu i dlaczego wielkości class size nie przekazuje mi do zmiennej formalnej w funkcji getinfo.
Szukałem po internecie przejrzałem jeszcze raz rodział ze strukturami patrzyłem na kursy na wszej stronie lecz nie moge złączyć wszystkich faktów by rozwiązać to zadanie ale skoro nie wolno zapytać to przepraszam. 
P-10756
DejaVu
» 2009-10-09 22:32:38
czy nie widzicie gdzieś błedu i dlaczego wielkości class size nie przekazuje mi do zmiennej formalnej w funkcji getinfo.
Dałem Ci przecież rozwiązanie tego problemu.
P-10757
szkuner
Temat założony przez niniejszego użytkownika
» 2009-10-09 22:35:11
Tak oczywiście dałeś tylko problem w tym że ja nie moge zmienić nic w main() bo to jest zamierzenie autora i tu jest problem już tak wcześniej próbowałem i nie działa
P-10758
DejaVu
» 2009-10-09 22:40:05
To życzę powodzenia :)
C/C++
#include <iostream>
using namespace std;

int main()
{
    cout << "Podaj liczbe: ";
    int iLiczba;
    while( iLiczba = cin.get() != '\n' ) continue;
   
    cout << "Podana liczba to: " << iLiczba;
    return 0;
}
Uruchom sobie ten program w takim razie.
P-10759
« 1 » 2
  Strona 1 z 2 Następna strona