|
Könyvcímek
Írjon függvényt, amely a paramétereként megkapott tetszőleges hosszúságú sztringről eldönti,
hogy az egy könyv szerzőinek nevét és címét tartalmazza-e a következő formában:
szerző_neve[, szerző_neve]...: mű_címe
Ez a jelölés azt fejezi ki, hogy a könyvnek több szerzője is lehet, ebben az esetben a
szerzőket mindig egy vessző és egy szóköz karakter választja el egymástól. A mű címe az
utolsóként feltüntetett szerző neve után áll, attól egy kettőspont és egy szóköz karakterrel
van elválasztva. A szerző(k) neve(i) és a mű címe minden esetben egy betűvel
kezdődő karaktersorozat. A szerzők nevében nem fordul elő sem vessző, sem kettőspont karakter,
tehát ezek a karakterek a fent megadott formában (az őket követő szóközzel együtt) a fent
megadott előfordulási helyeken kizárólag elválasztó karaktercsoportként funkcionálnak.
Ha a sztring ilyen alakú, akkor a függvény igaz értéket, egyébként hamisat adjon vissza!
A függvény specifikációja
int is_book_title( char * );
Megjegyzés
A függvényt helyezze a title.c nevű állományba, és ezt az állományt küldje
be megoldásként a kiértékelő rendszernek! Megoldását a példa bemenetben szereplő adatokkal az
alábbi két állomány 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>
int main() { char line[ 1000 ]; int is_book_title( char * );
while ( gets( line ) != NULL ) if ( is_book_title( line ) ) puts( "YES" ); else puts( "NO" ); return EXIT_SUCCESS; }
letöltés szöveges állományként
Makefile
CC = gcc OBJS = main.o title.o TARGETS = main
all: $(TARGETS)
main: main.o title.o $(CC) main.o title.o -o main
main.o: main.c $(CC) -c main.c
title.o: title.c $(CC) -c title.c
clean: rm -rf $(OBJS) *~ $(TARGETS)
letöltés szöveges állományként
Példa bemenet
Ivor Horton: Beginning C Stanley B. Lippman, Josée Lajoie, Barbara E. Moo: C++ Primer Ivor Horton:Beginning C Ivor Horton: Beginning C Ivor Horton: : Beginning C , Josée Lajoie, Barbara E. Moo: C++ Primer Stanley B. Lippman,Josée Lajoie, Barbara E. Moo: C++ Primer Stanley B. Lippman, Josée Lajoie, Barbara E. Moo: C++ Primer
letöltés szöveges állományként
A példa bemenethez tartozó kimenet
YES YES NO NO NO NO NO NO NO
letöltés szöveges állományként
|
|