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

Kolejka - pytanie

Object Storage Arubacloud
+1 głos
157 wizyt
pytanie zadane 30 grudnia 2018 w C i C++ przez gorgonkowa Obywatel (1,810 p.)

Hejka. Mam takie pytanko, czy mogłabym poprosić o sprawdzenie mojego zadanka z kolejki? Nie mam pewności niestety, a nie mam się kogo poradzić.
Treść wygląda następująco:
Napisać funkcję do zadanej struktury realizującą zadanie:
- Wyznaczyć średnią cenę towarów przechodzących przez kasę nr 5. W przypadku braku elementów, należy wyświetlić stosowny komunikat.
Struktura do zadania:
 

typedef struct
{
    int id_towaru, nr_trans, nr_kasy;
    float cena;
    struct tZakup *next;
} tZakup;

typedef tZakup *wZakup;

wZakup poczatek, koniec;


Próba napisania tego wypadła tak, ale nie wiem, czy poprawnie:
 

float Srednia(wZakup *P, tZakup x)
{
    float srednia = 0.f;
    float cena = 0;
    int i = 0;
    while(P!=NULL)
    {
        if(P->x.id_towaru > 0 && P->x.cena >0 && P->x.nr_kasy == 5)
        {
            for(int i=0; i<x.id_towaru; i++ )
            {
                i++;
            }
            P=P->next;
        }
    }
    if(P=NULL)
    {
        printf("Brak elementow!");
        return 0;
    }
    else return srednia/i;
}

Byłabym wdzięczna za pomoc. :)

1 odpowiedź

+2 głosów
odpowiedź 30 grudnia 2018 przez j23 Mędrzec (194,920 p.)
wybrane 30 grudnia 2018 przez gorgonkowa
 
Najlepsza
float Srednia(tZakup *p)
{
	float cena = 0;
	int i = 0;

	if(p == NULL)
	{
		printf("Brak elementow!");
		return 0;
	}

	while(p)
	{
		if(p->nr_kasy == 5)
		{
			++i;
			cena += p->cena;
		}

		p = p->next;
	}

	return cena / i;
}

 

komentarz 30 grudnia 2018 przez gorgonkowa Obywatel (1,810 p.)
Bardzo dziękuję za pomoc i zrozumienie :) Teraz wszystko jest jasne. :) Szczęśliwego Nowego Roku! :)
komentarz 30 grudnia 2018 przez mokrowski Mędrzec (155,460 p.)
Chyba lepsze było by Srednia_z_kasy(tZakup * p, unsigned numer_kasy). Nie było by "wbitego na stałe" numeru kasy w kodzie ( 5 ) .

Lepiej także sprawdzić warunek odwrotny "czy p nie jest NULL'em". Kod będzie prostszy w zrozumieniu.

A tak marudzę...

Podobne pytania

0 głosów
1 odpowiedź 143 wizyt
0 głosów
1 odpowiedź 168 wizyt
pytanie zadane 21 maja 2023 w C i C++ przez Dani Obywatel (1,450 p.)
0 głosów
0 odpowiedzi 237 wizyt
pytanie zadane 25 listopada 2019 w Algorytmy przez Oskardes Użytkownik (600 p.)

92,555 zapytań

141,403 odpowiedzi

319,559 komentarzy

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

...