• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

funkcja wyświetlająca

Object Storage Arubacloud
0 głosów
530 wizyt
pytanie zadane 5 maja 2020 w C i C++ przez Atman Użytkownik (810 p.)

Moje zadanie to wyświetlić dane zadeklarowane wcześniej w strukturze studenci. 

Brzmi tak: "Napisz funkcję przyjmującą tablicę struktur Student oraz rozmiar tej tablicy, która wypisuje dane wszystkich obiektów (studentów) na ekran.

Przykład: 1. Jan Kowalski 234132 4.34

2. Piotr Student 312234 2.0

3. …"

I teraz pytanie czemu to nie działa. Ogółem void nie powinien przyjmować argumentów ale widziałem w pewnych programach że w nawiasach ludzie je umieszczali. Ale niestety nie wiem dlaczego to nie działa. A jeśli się to już naprawi to czy wyświetli się każdy element tablicy czyli imię, nazwisko, indeks i średnia czy muszę wszystko ,,wpakowywać"

#include <iostream>
#include <string>

using namespace std;

struct student {
  string imie;
  string nazwisko;
  int indeks;
  float srednia;
};

void pokaz (tablica_dyn, const int rozmiar)
{
    for (int i=0; i<romiar; i++)
    {
        cout<<i+1<<"."<<tablica_dyn[i];
    }
}


int main()
{
    student tablica_stat[5];
    tablica_stat[0].imie = "Jan";
    tablica_stat[0].nazwisko = "Kowalski";
    tablica_stat[0].indeks = 212345;
    tablica_stat[0].srednia = 5.5;

    tablica_stat[1].imie = "Krzysztof";
    tablica_stat[1].nazwisko = "Malinowski";
    tablica_stat[1].indeks = 254321;
    tablica_stat[1].srednia = 4.5;

    tablica_stat[2].imie = "Piotr";
    tablica_stat[2].nazwisko = "Wielki";
    tablica_stat[2].indeks = 256789;
    tablica_stat[2].srednia = 3.5;

    tablica_stat[3].imie = "Robert";
    tablica_stat[3].nazwisko = "Prawy";
    tablica_stat[3].indeks = 298765;
    tablica_stat[3].srednia = 3.75;

    tablica_stat[4].imie = "Janusz";
    tablica_stat[4].nazwisko = "Krawiecki";
    tablica_stat[4].indeks = 219285;
    tablica_stat[4].srednia = 4.37;

    const int rozmiar=5;
    student*tablica_dyn= new student[rozmiar];

    tablica_dyn[0].imie = "Jan";
    tablica_dyn[0].nazwisko = "Kowalski";
    tablica_dyn[0].indeks = 255225;
    tablica_dyn[0].srednia = 5.5;

    tablica_dyn[1].imie = "Krzysztof";
    tablica_dyn[1].nazwisko = "Malinowski";
    tablica_dyn[1].indeks = 254321;
    tablica_dyn[1].srednia = 4.5;

    tablica_dyn[2].imie = "Piotr";
    tablica_dyn[2].nazwisko = "Wielki";
    tablica_dyn[2].indeks = 256789;
    tablica_dyn[2].srednia = 3.5;

    tablica_dyn[3].imie = "Robert";
    tablica_dyn[3].nazwisko = "Prawy";
    tablica_dyn[3].indeks = 298765;
    tablica_dyn[3].srednia = 3.75;

    tablica_dyn[4].imie = "Janusz";
    tablica_dyn[4].nazwisko = "Krawiecki";
    tablica_dyn[4].indeks = 219285;
    tablica_dyn[4].srednia = 4.37;

    delete [] tablica_dyn;
    return 0;
}

do funkcji osobno?

komentarz 5 maja 2020 przez Atman Użytkownik (810 p.)

Wydaje mi się że teraz jest dobrze. Chyba że to wypisywanie da się zrobić prościej 

#include <iostream>
#include <string>

using namespace std;

struct student {
  string imie;
  string nazwisko;
  int indeks;
  float srednia;
};

void pokaz (student *tablica_dyn, const int rozmiar)
{
    for (int i=0; i<rozmiar; i++)
    {
        cout<<i+1<<"."<<tablica_dyn[i].imie<<" "<<tablica_dyn[i].nazwisko<<" "<<tablica_dyn[i].indeks<<" "<<tablica_dyn[i].srednia<<endl;
    }
}


int main()
{
    student tablica_stat[5];
    tablica_stat[0].imie = "Jan";
    tablica_stat[0].nazwisko = "Kowalski";
    tablica_stat[0].indeks = 212345;
    tablica_stat[0].srednia = 5.5;

    tablica_stat[1].imie = "Krzysztof";
    tablica_stat[1].nazwisko = "Malinowski";
    tablica_stat[1].indeks = 254321;
    tablica_stat[1].srednia = 4.5;

    tablica_stat[2].imie = "Piotr";
    tablica_stat[2].nazwisko = "Wielki";
    tablica_stat[2].indeks = 256789;
    tablica_stat[2].srednia = 3.5;

    tablica_stat[3].imie = "Robert";
    tablica_stat[3].nazwisko = "Prawy";
    tablica_stat[3].indeks = 298765;
    tablica_stat[3].srednia = 3.75;

    tablica_stat[4].imie = "Janusz";
    tablica_stat[4].nazwisko = "Krawiecki";
    tablica_stat[4].indeks = 219285;
    tablica_stat[4].srednia = 4.37;

    const int rozmiar=5;
    student*tablica_dyn= new student[rozmiar];

    tablica_dyn[0].imie = "Jan";
    tablica_dyn[0].nazwisko = "Kowalski";
    tablica_dyn[0].indeks = 255225;
    tablica_dyn[0].srednia = 5.5;

    tablica_dyn[1].imie = "Krzysztof";
    tablica_dyn[1].nazwisko = "Malinowski";
    tablica_dyn[1].indeks = 254321;
    tablica_dyn[1].srednia = 4.5;

    tablica_dyn[2].imie = "Piotr";
    tablica_dyn[2].nazwisko = "Wielki";
    tablica_dyn[2].indeks = 256789;
    tablica_dyn[2].srednia = 3.5;

    tablica_dyn[3].imie = "Robert";
    tablica_dyn[3].nazwisko = "Prawy";
    tablica_dyn[3].indeks = 298765;
    tablica_dyn[3].srednia = 3.75;

    tablica_dyn[4].imie = "Janusz";
    tablica_dyn[4].nazwisko = "Krawiecki";
    tablica_dyn[4].indeks = 219285;
    tablica_dyn[4].srednia = 4.37;

    pokaz(tablica_dyn, rozmiar);

    delete [] tablica_dyn;
    return 0;
}

 

komentarz 5 maja 2020 przez tkz Nałogowiec (42,000 p.)
Da się, ale wątpię byś tego potrzebował. Możesz przeciążyć operator << dla cout.
komentarz 5 maja 2020 przez Atman Użytkownik (810 p.)
W sensie w moim programie czy w tej opcji którą się da zrobić ale jej nie potrzebuję?
komentarz 5 maja 2020 przez tkz Nałogowiec (42,000 p.)
Wydaje mi się, że jeszcze za mało wiesz, by świadomie używać przeciążania operatorów. A pytania nie rozumiem.

To "Możesz przeciążyć operator << dla cout." jest uzupełnieniem dla "Da się".
komentarz 5 maja 2020 przez Atman Użytkownik (810 p.)
Ok czyli tak jak myślałem. Super dziękuję bardzo

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 137 wizyt
0 głosów
0 odpowiedzi 1,459 wizyt
pytanie zadane 11 czerwca 2017 w C i C++ przez Greim Nowicjusz (120 p.)
0 głosów
3 odpowiedzi 185 wizyt

92,575 zapytań

141,424 odpowiedzi

319,650 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...