From 177d370b6fa4f406cd411c81f7b899994f1a7c4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michaela=20=C5=A0akov=C3=A1?= Date: Sat, 23 Mar 2019 19:14:52 +0100 Subject: [PATCH] test --- Makefile | 12 +++++++ anketa | Bin 0 -> 11376 bytes anketa.c | 75 +++++++++++++++++++++++++++++++++++++++++++ anketa.h | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ anketa.o | Bin 0 -> 6704 bytes main.c | 16 ++++++++++ main.o | Bin 0 -> 4344 bytes 7 files changed, 198 insertions(+) create mode 100644 Makefile create mode 100755 anketa create mode 100644 anketa.c create mode 100644 anketa.h create mode 100644 anketa.o create mode 100644 main.c create mode 100644 main.o diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..c02bb17 --- /dev/null +++ b/Makefile @@ -0,0 +1,12 @@ +CFLAGS= -c -g -Wall -std=c99 + +all: anketa + +%.o: %.c + gcc $(CFLAGS) $< -o $@ + +clean: + rm *.o anketa + +anketa: anketa.o main.o + gcc anketa.o main.o -o anketa diff --git a/anketa b/anketa new file mode 100755 index 0000000000000000000000000000000000000000..4a02f4a6af11c62b43eda9d68d2b07326027c973 GIT binary patch literal 11376 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 literal 0 HcmV?d00001 diff --git a/anketa.c b/anketa.c new file mode 100644 index 0000000..3743643 --- /dev/null +++ b/anketa.c @@ -0,0 +1,75 @@ +#include "anketa.h" +#include +#include +#include + +int count_students(struct student* students){ + int x=0; + for(int i=0; ivotes==stud2->votes?0:stud1->votesvotes?1:-1; +} + +void sort_students(struct student* students){ + qsort(students, count_students(students), sizeof(struct student), compare); +} + +void print_students(struct student* students){ + for(int i=0;i + +/** + * Jedna položka v databáze + * Neplatná položka je taká ktorá má počet hlasov 0 alebo meno je prázdny reťazec. + */ +struct student { + // Meno študenta + char name[BUFSIZE]; + // Počet získaných hlasov + int votes; +}; +/** + * Spočítanie platných položiek v databáze. + * Databáza je ukončená prvou neplatnou položkou alebo koncom poľa. + * Maximálny počet položiek je MAXSTUDENTS. + * + * @return nezáporný počet platných položiek. + */ +int count_students(struct student* students); +/** + * Vyhľadanie záznamu s daným menom v databáze. + * Databáza je ukončená prvou neplatnou položkou alebo koncom poľa. + * + * @param pole záznamov + * @param meno na vyhľadanie + * @return Index prvého záznamu, ktorý má dané meno. -1 ak sa v poli taký záznam nenachádza. + */ +int search(struct student* students,const char* name); + +/** + * Porovnanie dvoch položiek v databáze podľa počtu hlasov. + * + * @return Nula v prápade, že sú položky rovnaké. Kladná hodnota v prípade, že počet hlasov prvej položky je menší ako počet hlasov druhej položky. Záporná hodnota inak. + */ +int compare(const void* s1,const void* s2); + + +/** + * Pridanie novej informácie do databázy. + * + * Ak sa meno v poli už nachádza, funkcia zvýši počet hlasov pre danú položku. + * Ak sa meno v databáze nenachádza, funkcia vytvorí nový záznam na prvom voľnom mieste od začiatku. + * + * @param pole záznamov + * @param meno na pridanie + * @param početnosť na pridanie + * @return index, kde bola položka pridaná. -1 ak nebolo v poli dosť miesta. + */ +int add_student(struct student* students, const char* name, int votes); + +/** + * Zotriedenie všetkých záznamov podľa počtu hlasov. + * Databáza je ukončená prvou neplatnou položkou alebo koncom poľa. + * + * @param pole na zotriedenie. + */ +void sort_students(struct student* students); + +/** + * Výpis všetkých záznamov na štandardný výstup. + * Databáza je ukončená prvou neplatnou položkou alebo koncom poľa. + * + * @param pole na výpis + */ +void print_students(struct student* students); + +/** + * Načítanie záznamov z otvoreného súboru do poľa. + * + * Funkcia načíta maximálne MAXSTUDENTS záznamov, potom skončí. + * Načítanie skončí aj v prípade načítania neplatnej položky. + * Jedna položka v textovom súbore je vo formáte: + * + * meno + * početnosť + * + * @param otvorený súbor. Otvorený súbor je rovný stdin v prípade načítania zo štandardného vstupu. + * @param pole kam sa uložia výsledky. + */ +void read_students(FILE* file,struct student* students); + +#endif diff --git a/anketa.o b/anketa.o new file mode 100644 index 0000000000000000000000000000000000000000..5cabc1ba14a5f041c209714e84402349b4252715 GIT binary patch literal 6704 zcma)Ad2C$88K2q19^xZ*Hg*C|z-gSL1h4JHW7*XxbfyUreI z5+Kl;R9G&pQV>@WO{J;?iK702Qp!Ksj{g{7)dh19O$vqR%`qmlEJjYcL3 zV{=9#ll^Db2XM&}W-h}>?M64XR8s{seZb*OEdh_(Q$bpdb$OPGYP5P-JDG|8*X`E6j{Px= zH5zE4qur;W$OOtZ(Q)`W8}_zSP%J9UXkL_

7T;<)ftv=slRZegfQ&rNb6D8s%FJ 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 u|0TjN6Ko^GZ;j|T3-WzH + +int main(){ + struct student students[MAXSTUDENTS]; + memset(students,0,sizeof(struct student)*(MAXSTUDENTS)); + read_students(stdin,students); + int sz = count_students(students); + if (sz <= 0){ + // Nenacitalo sa nic + return 0; + } + sort_students(students); + print_students(students); + return 0; +} diff --git a/main.o b/main.o new file mode 100644 index 0000000000000000000000000000000000000000..e618f77b51f6831d04ec624893390f3303ef5159 GIT binary patch literal 4344 zcma)9eQaA-6~EVhj&Ez{yII#YW9i~`8C&hNNz<%M>sR`bE$TApfFZzpwqFuA_OtPO z4qK^cV4G+qiZ%&t6QI#aj1SQb2~B9UMIcecRwR%>NZUUkBoIX%(vT2nVp942?z`7^ z`VU;`-QW40bM86ke)zuUQwQe`NhyVGQp81@32}a1WSP`3CWgd-c;w7qp8WH>UwEg! zL5N?@WYm0w4qeX9WQNZ;nXB(#zkdBCtvCk7v5aGtoepQ7%2Y7+$x9lEVxvMm00(DCp3~G(pQH6ALzSAs2xp_AX|;pSHyhfg z=IOl2&<*Mut+yC@v+`)&Z0N886V9-qBkCiJ`~gEVYJl`ML&ww>I*%B7k7|(KF3-a$ zHaf0Sbk4{hYC5T0(yeAj(`tfc>)j{-K$H#9w>j*#w=U)IiZ>LofKkuPd`OnsMh*3gfuACNv^=qJ^WNFOxx zG4&JDIeCX3TT zAWrH6+0UXKR-(&kVnCPk3bbh+3r?r|c?i_-Eipt9 z$0c#aKAp7n~4M(J>yrGbYkZ z@7hS)MgQ&KT`zM+xEf@?yrX9@74O;H(=P{PUl&5$B;q~0Qy)sr4kAQGq*C|8j(Hmq z=Pl6-Eus+Ul^m4uo>U5h5)xE(M-dXUgVXDUSZ4zYvA*S)qGQT9A_yJRQqB%i-@Qf5 z4(5=dCoA`)Z8a=#Z`X7C({$;bY*iV<&^}NV6;0aTw(d#a$KN;`RuFef$om2}p_Uc# zl$M){xT@vQ0q8c29!rJRQnePJ+F#*`iSy{C{7+9edaSBWC3DT7k*kyoxy52JSDu`n z+Eyw1&BwPb`pw*Ac2}6Y@L$k!^Rd~IPN@F2q>a92F-5iHdj;RtWlpnSrECxMktRFW z7b@;zpkpve!42S9bsNiGBhofJBxLR&#LD=Xd!^klQu23xNK3Jy%~j zUfh0fab>5_MRUtV-uE8I3gqiWCT0KN-gvPyMp$(=((;bfHR8UE;B60Y@f!!lxGhU(W`q8Rx+j*B+UVK96CQp1=$dgKLPCL$NoOk{%`LM0B+t;I> zj_vPG#7_PKE<$93C#t9e7&anYvQopVWJ4}yw&aGc$QFV?WT`B9h2~@U<{(z079 zG`tndP;jTC+i?9wEOp0N{K7r!jdUVgtW~Qx$Rg`wSF$)b+kz0Q8IAFl@(T?f+5f-Y z23KA%xTtlTM86t|y2s3Q+l=0P-f8{4%$K@IA?Rya(A{i=frpcy~iX z|NrI3dKk|(#;e&ukgbiibk_F<>g&U$#QG9=Y<+tn+c6NuC=7q2V4AfZ1-CLyX$0X{ zqHWgpDJZN=+YJ0hD41q#kAipB_f{Y3gO2r4Z|kc=wqqcQ65{=af@#)P0q=}=6~VZk zjE5IpE8a=S95arGZ2}t|MlT@EY2))HgVygm2zIOXh&t={jPbLk%S_tQ=*RXgJd|xJ z`gN`!=gW2uPv<<|?U)C|);#(lcWk?OAMsv=&NiF3Gbe5T#LIdf$_E+WzNoc zGcX>5&Nds*a*LgMNBrZu)f3nL8zS$_KyGIpjf(4&*^Uqw$u`mP)-G;*%}OyIce>r; zqPtBX#YOK8oHK8?I99}FScQ53JJuP2-ds1^$ZxR(NIrH0-*p2&cmucZ5B&=k&X1@QT5=4PG_)Z-ZSpr1T#$m@znEaKFKa4L)YDX7KX{&l>!O!S5Tq zVDL?YZyEfn!G9U#M&S2^Q literal 0 HcmV?d00001