Funkcja średnia

0

Witam
Proszę o pomoc jak napisać funkcję zliczania średniej z wieku do :

void pracownik (typElem **poczatek)
{
char nazwwe[DL_NAZW+1]; //nazwisko odczytane z wej
*poczatek = NULL; //na poczatku lista pusta
typElem *tmp; // na zmiane wskaznikow

while (1) // petla niby nieskonczona
	{
	printf("\nnazwisko: ");
	gets(nazwwe);
	if (strlen(nazwwe)) //gdy nazwisko niepuste
	{
		tmp= (typElem *)malloc(sizeof(typElem));
			if(tmp==NULL){puts("Brak pamieci"); exit(-1);}
			strcpy(tmp->nazw, nazwwe);
			printf("imie: ");
			scanf("%s", tmp->imie);
			printf("wiek: ");
			scanf("%d", &tmp->wiek);
			printf("nr stanowiska: ");
			scanf("%d", &tmp->indeks);
			fflush(stdin); // usuń pozostałe znaki z bufora
			tmp->nast = *poczatek; // ustaw wartosc nastepnika
			*poczatek = tmp; // wskaznik na nowy element
			}
			else break; // wyjscie z petli gdy nazwisko nie zostanie podane
	}
}

To jest moja proba zrobiona na sumę, lecz nie działa;

int srednia(typElem *poczatek)
{
	int suma = 0;
	poczatek->wiek = poczatek;
	while(&tmp->wiek !=NULL)
	{
	suma += tmp->wiek;
	tmp= tmp-> nast;
	}
	return suma;	
}
1

Czy odróżniasz "nie działa" od "nie kompiluje się" ?

0

no rozumiem. Kompiluje się lecz nie działa, program się wysypuje:

int srednia(typElem *poczatek)
{
int suma = 0;
typElem *tmp = &poczatek;
while(&tmp->nast !=NULL)
{
suma += tmp->wiek;
tmp= tmp-> nast;
}
return suma;
}

0

Na jaką cholerę zrobiłeś dwa wątki o tym samym?

Funkcja sredniej ze wskaznikowi i tablic

Ten fragment jest źle. Czy jeszcze coś - nie wiem.

0

Sory, jeden do zamknięcia

1 użytkowników online, w tym zalogowanych: 0, gości: 1