.
Fórum › C / C++
Kontrola projektu do školy
V rychlosti jsem si to prošel a je to celkem v pohodě. Možná kdyby tomu člověk věnoval víc času, našel by něco podstatnějšího :) Jen třeba ve funkcích na hledání podle jména/příjmení se ti duplikuje kód. A na stav záznamu bys mohl použít nějaký enum.
Je to hezke, ale jenom z funcniho hlediska- chtelo by to moznost si ulozit praci v prubehu a moznost ukonceni bez ulozeni. Takto je mozne udelat chybu a jedinej moznej zpusob jak ji neulozit je vypnout natvrdo, cimz se neulozi ani dosavadni zmeny.
To zdenda : Bohužel je do do školy a v zadání strojí detailní komentáře k programu, tak pro jistotu jsem komentoval skoro vše.
while (i < poc, k < pocet)
Proč by to nedělalo? Bude probíhat, dokud bude kam zapisovata a co zapisovat, poc je pocet prvků v poli a pocet je pocet zaznamu, ktere chci nahrat (vychozi stav je 0). Podle mě v tom není problém.
Jinak k formatovani, trochu se tu na foru rozhodilo, bohužel...
Načítání stringů (scanf %s) musíš omezit, aby se do cílového pole nezapsalo víc, než se do něj vejde. U všech scanf by nebylo od věci kontrolovat návratovou hodnotu.
V Uloz() jsi asi chtěl zavřít fw. Taky není důvod, aby fr/fw byly globální proměnné, když se používají v jediné funkci.
V Novy() bys mohl upozornit, pokud je požadovaný počet nových záznamů vyšší než volné místo.
Jak už napsal kolega výše, zbytečně se ti tam opakuje kód (a pause+getchar je vyloženě hnus).
To zdenda : Připomínky opravím, jen nevím dvě věci:
1, co se týče opakování kodu, dalo by se to řešit tak, abych ho neopakoval? Už jsem se na to díval a nevím...
2, i mě samotnému se system("pause") + getchar() moc neíbí, ale pokud getchar nedám, přenese se enter do menu a způsobí tam docela paseku. Pokud by mi někdo poradil jiné řešení, budu jen rád.
Sakra, tohle jsem přehlédnul :smile15:
(i < poc, k < pocet) je ekvivalentní s (k < pocet)
pravděpodobně místo operátoru , (vyhodnoť všechny výrazy, ale použij jen výsledek toho posledního) chceš použít && (logický AND)
Co se týče opakování - jednoduše přehodíš stejný kód do společné funkce.
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
Nevím jak ve visual studiu, ale obecně hlavičkové soubory z linkovaných knihoven se zapisují se špičatými závorkami (např. #include <stdio.h>). Úvozovky znamenají, že hlavičkový soubor je uložený v adresáři projektu. Pokud máš ty soubory uložené v adresáři projektu, tak můžeš narazit na problém pokud budeš chtít program zkompilovat v systému s jinou verzí kompilátoru (i pokud bude od stejného autora).
To Anonymní uživatel : V MSVS tohle projde...
To marpit : Proč odstraňovat, hodláš ten program portovat na jiný OS?
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
O Projektu — založil Matej Zabsky
Naprogramovanie projektu — založil Kent
Zalozeni projektu — založil Martin
Rada k projektu... — založil fresh99
Otevření projektu — založil massic
Moderátoři diskuze