[C++] Program działa przy zwykłej tablicy i sypie się po odwolaniu do struktury
Ostatnio zmodyfikowano 2013-09-29 16:49
Monika90 |
» 2013-09-29 16:40:04 Po zmianie na : sort(cos.stypS, n); Wywala błąd |
Bo cos to jest tablica, tablica nie ma składowej o nazwie stypS. Zacznij przerabiać jakiś kurs, albo kup sobie książkę, albo zwróć się do nauczyciela, żeby jeszcze raz ci wyjaśnił struktury, funkcje, tablice i wskaźniki. Wydaje mi się że chcę mieć tablicę wpisanych stypendiów, to co jest struct odnosi się również do innych zadań, nie wkleilem tutaj całego progrmau ponieważ jest bardzo długi i nie przejrzysty. |
A jeżeli chcesz sortować tylko stypendia, a nie studentów którzy mają stypendia, to skopiuj wartości stypendiów z tablicy studentów do tablicy intów i sortuj tablicę intów. |
|
zamir4 Temat założony przez niniejszego użytkownika |
» 2013-09-29 16:49:45 Dziękuję serdecznie za pomoc. Mam książkę symfonie C++ , przerabiam również kursy z tej strony jednak mam dosyć krótki staż :) tak wygląda poprawiony i działający program. #include <iostream> #include <string> using namespace std; const int n = 5;
struct studia { string nazwa_uczelni; string kierunek_uczelni; } uczelnia; struct student { string imie; string nazwisko; int rok; int wiek; int stypN; int stypS; int tab; studia odw; } cos;
void zamien( int & a, int & b ) { int temp = a; a = b; b = temp; }
void sort( student cos[], int n )
{ for( int j = n - 1; j > 0; j-- ) for( int i = 0; i < j; i++ ) if( cos[ i ].stypS > cos[ i + 1 ].stypS ) zamien( cos[ i ].stypS, cos[ i + 1 ].stypS ); }
int suma, wymysl; string klops;
int main() { student cos[ 5 ]; for( int i = 0; i < 5; i++ ) { cout << " Podaj ile wynosi stypendium socjalne " << endl; cin >> cos[ i ].stypS; cout << " ______________________________" << endl; } sort( cos, n ); cout << "to twoja suma" << cos[ 0 ].stypS + cos[ 1 ].stypS + cos[ 2 ].stypS; } |
|
1 « 2 » |