Si sa ale slabo ucil . Trochu aj rozmyslaj.
1. ak chces vstupne parametre prik. riadky (mas to v zadani) tak fcia main ma 2parametre:
int main(int argc, char *argv[ ])
argc je pocet parametrov (vcetne nazvu samotneho programu)
argv je pole retazcov char (argv[0] je nazov programu, argv[1] je prvy parameter atd., vsetko su stringy = polia char) !
t.j. napr.
int main(int argc, char *argv[ ])
{
if(argc != 3)
{
printf("Nespravny pocet parametrov!\n");
printf("... tu bude nejaky help k programu .... \n");
exit(0);
}
vstup = fopen(argv[1],"r");
//testovat navratovu hodnotu !!!!!!!!!!!!!!!!!!! Co ak subor neexistuje? Vypisat chybu a skoncit.
//do scanf musis odovzdat adresu parametra aby ho vedela fcia zmenit, mas to popisane v helpe k scanf resp. sscanf
if(sscanf(argv[2], "%d", &N) != 0)
{ // vypisat chybu a skoncit, 2.parameter nie je cislo!
}
// teraz mas spravne N aj spravny otvoreny subor, takze mozes si vyhladat N-te realne cislo.
// BTW. asi vies, ak robis cyklus tak musis telo cyklu uzavriet do { } ak je to viac ako jeden prikaz.
// v zadani mas vyhladat N-te realne cislo, nie znak, ale najprv si to mozes skusit s tym znakom.
// Ak budes hladat tie realne cisla tak cyklus bude az pokial fgetc nevrati EOF alebo pokial sa nenajde N-te realne cislo, realne cislo budes hladat napr. tak ze si musis pamatat predchadzajuci stav - ci predch. znak patril realnemu cislu alebo nie. Ak ano a aj terajsi znak patri realnemu cislou (ak znak je '1' az '9' alebo ',' alebo '.') tak ides len na dalsi znak. Ak predch. znak nepatril real. cislu a terajsi patri, zvysis si pocitadlo a porovnavas s N. Jasne?
// Uz to musis zvladnut, a nabuduce davaj v skole pozor ked sa snazia ta nieco naucit ! .
}