|
Jobb adni, mint kapni!
Adott a következő fejlécállomány:
myheader.h
#include <stdio.h>
#ifndef _MYHEADER_H #define _MYHEADER_H 1
typedef struct { char opponent_team[30]; int goals_scored, goals_against; } ELEMENT;
void foo(char *[], int);
#endif /* myheader.h */
letöltés szöveges állományként
Írja meg a myheader.h állományban deklarált foo() függvényt
(eljárást), amely paraméterként megkap egy sztringeket tartalmazó tömböt (a memóriabeli
kezdőcímét és elemszámát)! A sztringek bináris állományok nevei, az állományok rekordjai
ELEMENT típusúak. Az állományok egy-egy focicsapat szezonbeli eredményeit
tartalmazzák: a rekordokban az ellenfél csapat neve, az ellenfélnek rúgott és a tőlük kapott
gólok száma szerepel.
A függvény vizsgálja meg az összes állományt, és írja a standard kimenetre azoknak az
állományoknak a nevét a tömbbeli előfordulásuk sorrendjében, soronként egyet-egyet,
amelyeknek mindegyik rekordjában több a rúgott gólok száma, mint a kapottaké!
Megjegyzés
A függvényt helyezze a foo.c nevű állományba, és ezt az állományt küldje
be megoldásként a kiértékelő rendszernek! Megoldását az alábbi állományok segítségével
tesztelheti. Megoldásának kiértékelését a tesztelő rendszer nem feltétlenül ezeknek az
állományoknak a felhasználásával végzi!
main.c
#include <stdio.h> #include <stdlib.h> #include "myheader.h"
int main() { char *t[] = {"debrecen.bin", "manchester_united.bin", "barcelona.bin", "real_madrid.bin"}; foo(&t[0], sizeof(t) / sizeof(char *));
return EXIT_SUCCESS; }
letöltés szöveges állományként
Makefile
SRCS = main.c foo.c OBJS = $(SRCS:%.c=%.o) TARGETS = main
.PHONY: clean
all: $(TARGETS)
main: $(OBJS) $(CC) $(OBJS) -o main
%.o: %.c $(CC) -Wall -c $< -o $@
clean: rm -rf $(OBJS) *~ $(TARGETS)
letöltés szöveges állományként
|
|