Dobrý deň,
mám za úlohu spraviť jeden program a neviem si s tým rady. Niečo som napísal ale nechce mi to fungovať tak by som poprosil o nejakú radu. Nechcem aby ste mi tu napísali rovno zdrojový kód ale len nejakú ideu ako na to :). Hlavne ako zapísať tie funkcie. Ďakujem
Zadanie:
Napíšte program, ktorý skontroluje sumu čísel zapísaných v súbore SUMA.TXT , pri čom prvé číslo v súbore reprezentuje sumu, ktorej sa má rovnať súčet všetkých nasledujúcich čísel v súbore. Súbor obsahuje reálne čísla, každé vždy v zvlášť riadku, pri čom aj posledný riadok je ukončený znakom konca riadku. V prípade, že prvé číslo predstavuje súčet ostatných čísel v súbore vypíše program správu "Suma je správna"v opačnom prípade vypíše "Suma je nesprávna" , v oboch prípadoch je správa nasledovaná koncom riadku. V programe použite funkciu FILE * otvor_subor() na otvorenie súboru, funkciu void zatvor_subor(FILE *f) na zatvorenie súboru a funkciu void skontroluj(FILE*f) na samotnú kontrolu a výpis správy. Nezabudnite na ošetrenia pri otváraní a zatváraní súborov. Ak sa nepodarí súbor otvori ť alebo zatvori ť môžete na ukon čenie programu použi ť funkciu exit(1) . Nenulová hodnota parametra (1) vyjadruje, že program kon čí s chybou. Funkcia exit je definovaná v knižnici stdlib. Definujte dva ladiace módy – LADENIE_ZAKLADNE a LADENIE_PODROBNE . Ďalej vytvorte ladiace výpisy na začiatok každej funkcie pre základné ladenie v tvare Začiatok funkcie x . Pre podrobné ladenie sa k výpisom na začiatku pridajú aj ladiace výpisy na konci každej funkcie v tvare Koniec funkcie x , kde x je názov funkcie a aj výpisy súčtu po každom pripočítaní čísla do súčtu v tvare Sucet: nasledovaný medzerou a súčtom. Každá ladiaca správa je ukončená znakom konca riadku.
Môj zdrojový kód:
#include <stdio.h>
#include <stdlib.h>
FILE*otvor_subor()
{
FILE*f;
f=fopen("SUMA.TXT","r");
if(f==NULL)
{
printf("Subor neexistuje.\n");
exit(1);
}
}
void zatvor_subor(FILE*f)
{
fclose(f);
if(fclose(f)==EOF)
printf("Subor sa nepodarilo zatvorit.\n");
}
void skontroluj(FILE*f)
{
int sucet,spolu,a; //sucet-cislom, ktore ma byt suctom ostatnych
sucet=getc(f);
putchar(sucet);
}
int main()
{
FILE*f;
otvor_subor();
skontroluj(f);
getchar();
return 0;
}
Výpočet tých súčtov to si spravím ale neviem ako mám spraviť tie funkcie.
Ešte raz vopred ďakujem za rady.