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

Struktury przekazywane jako parametr funkcji

Object Storage Arubacloud
0 głosów
2,190 wizyt
pytanie zadane 14 stycznia 2017 w C i C++ przez Kamyyylo Początkujący (460 p.)

Mam do zrobienia takie zadanie :

Napisz funkcje pozwalające wczytywać i wyświetlać zawartość bazy.
Uwaga: w/w tablice lub struktury powinny być przekazywane jako parametry funkcji !

Czy dobrze je zrozumiałem ? 

#include<iostream>
using namespace std;
struct struktura
{
	int liczba;
	char slowo[10];
};
struktura tab[5];
void wczytywanie (struct struktura*liczba, struct struktura*slowo)
{
	cout << "Podaj liczbe i slowo: " << endl;
	for (int i = 0; i < 5; i++)
	{
      cout << "Liczba: "; cin>>tab[i].liczba;
	  cout << "Slowo: "; cin >> tab[i].slowo;
	}

}
void wyswietlanie(struct struktura*liczba, struct struktura*slowo)
{
	for (int i = 0; i < 5; i++)
	{
		cout << tab[i].liczba << endl;
		cout << tab[i].slowo << endl;
}
}
int main ()
{
	wczytywanie();
	wyswietlanie();
	system("pause");
	return 0;
}

 

1 odpowiedź

0 głosów
odpowiedź 14 stycznia 2017 przez niezalogowany
edycja 30 sierpnia 2017
 
Najlepsza

Ja bym zrobił to w taki sposób:

#include<iostream>
using namespace std;

struct struktura
{
    int liczba;
    char slowo[10];
};

void wczytywanie(struktura* tab, int k)
{
    cout << "Podaj liczbe i slowo: " << endl;
    for (int i = 0; i < k; i++)
    {
      cout << "Liczba: "; cin>>tab[i].liczba;
      cout << "Slowo: "; cin >> tab[i].slowo;
    }
}

void wyswietlanie(struktura* tab, int k)
{
    for (int i = 0; i < k; i++)
    {
        cout << tab[i].liczba << endl;
        cout << tab[i].slowo << endl;
}
}
int main ()
{
    const int ile = 3;
    struktura tab[ile];

    wczytywanie(tab, ile);
    wyswietlanie(tab, ile);

    return 0;
}
komentarz 14 stycznia 2017 przez niezalogowany
Ogólnie dobrze zrobiłeś tylko funkcje powinny być bardziej ogólnego przeznaczenia. Nie Poza tym nie trzeba definiować w funkcjach, że przyjmują struct struktury - wystarczy nazwa struktury czyli struktura :D
komentarz 14 stycznia 2017 przez Kamyyylo Początkujący (460 p.)
Co to znaczy ze powinny być bardziej ogólnego przeznaczenia ?
komentarz 14 stycznia 2017 przez niezalogowany

Chodziło mi o to, by wywołaniom funkcji w mainie podawać tablicę struktur i jej rozmiar. Możesz mieć w programie różne tablice struktur, albo zrobić coś dla innego rozmiaru tablicy struktur... Wtedy łatwiej zrobić w mainie tak:

int main ()
{
    /***/
    wczytywanie(tab, 3);
    wczytywanie(tab4, 24);
    wyswietlanie(tab, 3);
    wyswietlanie(tab4, 24);
 
    return 0;
}

I będzie to działać prosto i ładnie. Ty użyłeś zmiennych globalnych i w tym momencie musiałbyś trochę pozmieniać... Ale skoro już wiesz, że nie będziesz swojego programu budował bardziej złożonego to możesz robić swoim sposobem i też będzie git:) 

Podobne pytania

0 głosów
1 odpowiedź 536 wizyt
0 głosów
1 odpowiedź 882 wizyt
0 głosów
1 odpowiedź 1,127 wizyt
pytanie zadane 22 kwietnia 2017 w C i C++ przez muchomor Nowicjusz (210 p.)

92,545 zapytań

141,387 odpowiedzi

319,503 komentarzy

61,930 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!

...