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

[C++] Przekazywanie tablic i wartości między procedurami void

Ostatnio zmodyfikowano 2014-03-27 02:03
Autor Wiadomość
OczkoSX
» 2014-03-26 19:14:17
Oczywiście w [] wpisywałeś indeks?
P-107248
Borowicz
Temat założony przez niniejszego użytkownika
» 2014-03-26 20:27:49
C/C++
#include <iostream>
#include <cstdlib>
using namespace std;

void przykladowi_studenci();
void dodawanie();
void menu();

struct Student
{
    int nr_indeksu;
    float ocena;
};

int main()
{
    menu();
}

void menu()
{
    int nr_zad;
    int przelaczanie = 0;
   
    while( przelaczanie == 0 ) //tutaj mogę dać
    {
        cout << "Wybierz zadanie:" << endl;
        cout << "lista przykladowych studentow - 1" << endl;
        cout << "dodawanie studenta - 2" << endl;
        cout << "modyfikacja studenta - 3" << endl;
        cout << "wyswietlanie listy studetow - 4" << endl;
        cout << "koniec programu - 4" << endl;
        cin >> nr_zad;
       
        switch( nr_zad )
        {
        case 1:
            { przykladowi_studenci(); }
            break;
        case 2:
            { dodawanie(); }
            break;
            default:
            cout << "Wybierz liczbe od 1 do 4" << endl;
            break;
        }
    }
}

int liczba_wpisow = 3;

void przykladowi_studenci()
{
    Student lista_studentow[ 10 ];
   
    lista_studentow[ 0 ].nr_indeksu = 191414;
    lista_studentow[ 0 ].ocena = 3.5;
   
   
    lista_studentow[ 1 ].nr_indeksu = 191415;
    lista_studentow[ 1 ].ocena = 4.0;
   
   
    lista_studentow[ 2 ].nr_indeksu = 191416;
    lista_studentow[ 2 ].ocena = 4.5;
   
   
    cout << "NAZWISKO" << "    " << "NR INDEKSU" << "   " << "OCENA" << endl;
   
   
   
    for( int i = 0; i < liczba_wpisow; i++ )
    {
        cout << lista_studentow[ i ].nr_indeksu << " | "
        << " | " << lista_studentow[ i ].ocena << " | " << i << endl;
    }
   
}

void dodawanie()
{ Student lista_studentow[ 10 ];
    liczba_wpisow = 3;
    cout << "Podaj indeks: ";
    cin >> lista_studentow[ liczba_wpisow ].nr_indeksu;
    cout << endl;
    cout << "Podaj ocene: ";
    cin >> lista_studentow[ liczba_wpisow ].ocena;
    cout << endl;
    if(
    lista_studentow[ liczba_wpisow ].ocena != 2.0 or
    lista_studentow[ liczba_wpisow ].ocena != 2.5 or
    lista_studentow[ liczba_wpisow ].ocena != 3.0 or
    lista_studentow[ liczba_wpisow ].ocena != 3.5 or
    lista_studentow[ liczba_wpisow ].ocena != 4.0 or
    lista_studentow[ liczba_wpisow ].ocena != 4.5 or
    lista_studentow[ liczba_wpisow ].ocena != 5.0
    )
    {
        cout << "Format oceny niepoprawny. Wpisz 1 z nastepujacych liczb: 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0: ";
        cin >> lista_studentow[ liczba_wpisow ].ocena;
    }
   
}

Teraz się kompiluje. Ale dalej nie jest to, o co mi chodzi.
P-107258
OczkoSX
» 2014-03-26 20:44:57
Przeanalizuj kod dokładnie. Mówiłem, usuń klamry z case. W niektórych miejscach ci brakuje pętel. Np. w dodawaniu, przypisujesz cały czas dane do obiektu lista_studentow[3], a nawet takowy nie istnieje. (są 0, 1 , 2). Zastanów się nad swoim kodem
P-107260
michal11
» 2014-03-27 02:03:22
Może spróbuj sobie zdebudować ?
I jak po jakiejś zmianie wyskakuje jeszcze więcej błędów to nie zawsze oznacza, ze coś jest gorzej.
P-107270
1 « 2 »
Poprzednia strona Strona 2 z 2