|
Vonalkód
Írjon függvényt, amely paraméterként megkap egy sztringet, amely pontosan 12 decimális
számjegyet tartalmaz! Ez a sztring egy vonalkód első 12 számjegye. A függvény a sztring
megváltoztatása nélkül határozza meg és adja vissza a vonalkód tizenharmadik, ellenőrző
számjegyét! Az ellenőrző számjegyet a következőképpen kapjuk meg: a vonalkód minden páratlan
helyen álló (első, harmadik stb.) számjegyét eggyel, a páros helyeken állókat hárommal kell
megszorozni, majd a kapott szorzatokat összeadni. Ezt az értéket végül ki kell vonni 10-nek
az összeghez legközelebb eső, nála nagyobb vagy vele egyenlő többszöröséből. A vonalkód
számjegyeit balról jobbra sorszámozzuk 1-től 12-ig.
A függvény specifikációja
int lastdigit( char * );
Megjegyzés
A függvényt helyezze a lastdigit.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 három á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!
myheader.h
#ifndef _MYHEADER_H #define _MYHEADER_H 1
int lastdigit( char * );
#endif /* myheader.h */
letöltés szöveges állományként
main.c
#include <stdio.h> #include <stdlib.h> #include "myheader.h"
int main() { char line[ 13 ] = "629104150021"; printf( "%d\n", lastdigit( line ) ); return EXIT_SUCCESS; }
letöltés szöveges állományként
Makefile
CC = gcc OBJS = main.o lastdigit.o TARGETS = main
all: $(TARGETS)
main: main.o lastdigit.o $(CC) main.o lastdigit.o -o main
main.o: main.c $(CC) -c main.c
lastdigit.o: lastdigit.c $(CC) -c lastdigit.c
clean: rm -rf $(OBJS) *~ $(TARGETS)
letöltés szöveges állományként
A fenti program kimenete
3
letöltés szöveges állományként
|
|