Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 05. 09. 2013 10:10

SoniCorr
Příspěvky: 608
Reputace:   
 

C - zadavani jmena souboru + strankovani

Zdravim, mam tohle : #include <stdio.h>
int main(void)
{FILE *fr;
int i;
if((fr=fopen("TEST.TXT","r")) == NULL)
   printf("soubor se nepodarilo otevrit");

while((i=getc(fr)) != EOF)
   putchar(i);

return 0;
}

chtel bych, abych mohl zadat jmeno souboru a pote jej otevrit. (misto TEST.TXT jmeno zadaneho souboru). Narazil jsem na knihovnu #include <string.h>. Toto oficialne neznam, melo by to jit nejak obejit. A druhy problem, bude-li text v souboru dlouhy, jak zajistit strankovani po zaplneni obrazovky.

Offline

 

#2 05. 09. 2013 11:08 — Editoval mountdoom (05. 09. 2013 11:24)

mountdoom
Příspěvky: 186
Reputace:   
 

Re: C - zadavani jmena souboru + strankovani

Zdravím,

taky začínám s C, ale tohle funguje. Možná je i elegantnější řešení.

Code:

#include <stdio.h>

int main(void)
{
    FILE *fr;
    int i;
    char nazev[10];
    
    printf("Zadejte nazev souboru: ");
    scanf("%s",&nazev);
    
    if((fr=fopen(nazev,"r")) == NULL)
      printf("soubor se nepodarilo otevrit");
    
    while((i=getc(fr)) != EOF)
      putchar(i);
      
    printf("\n");
    system("pause");

    return 0;
}

EDIT: stránkování se provádí přímo v cmd přidáním "|more" za nazev souboru, čili pokud máš soubor uložený jako kopie.exe, tak do cmd zadáš "kopie |more". To ti bude stránkovat text, pokud se nevejde na obrazovku.

Offline

 

#3 07. 09. 2013 10:11

SoniCorr
Příspěvky: 608
Reputace:   
 

Re: C - zadavani jmena souboru + strankovani

program ma nakonec vypadat takhle nejak

#include <stdio.h>


vypis()
{   FILE *fr;
    int i;
    char nazev[10];

    printf("Zadejte nazev souboru: ");
    scanf("%s",&nazev);

     if((fr=fopen(nazev,"r")) == NULL)
       printf("soubor se nepodarilo otevrit");

    while((i=getc(fr)) != EOF)
      putchar(i);
}


double vypis_soubor(void)
{ vypis();
  return (0.5);
}


int main(void)
{ FILE *fr;
  vypis_soubor();

}

funkce double vypis_soubor(void) je v zadani a problem je v tom, ze mi to nevrati cislo 0.5. Potreboval bych podle zadani, aby mi v pripade, ze se soubor neotevrel vratil 1.1 a v pripade, se otevre, tak 0.5. Zkousel jsem #define cislo(x) a nic mi to nebylo platne. Je to vubec mozne v tomto pripade vypsat takove cisla?

Offline

 

#4 08. 09. 2013 16:07

mountdoom
Příspěvky: 186
Reputace:   
 

Re: C - zadavani jmena souboru + strankovani

Takto?

Code:

#include <stdio.h>


int vypis()
{   
    FILE *fr;
    int i;
    char nazev[10];

    printf("Zadejte nazev souboru: ");
    scanf("%s",&nazev);

     if((fr=fopen(nazev,"r")) == NULL){
       printf("soubor se nepodarilo otevrit, navratova hodnota bude 1.1\n");
       return 0;
       }
    printf("Soubor otevren, navratova hodnota bude 0.5\n");   

    while((i=getc(fr)) != EOF)
      putchar(i);
    printf("\n");
    return 1;
}


double vypis_soubor(void)
{ 
  if (vypis())
  return 0.5;
  
  else return 1.1; 
}


int main(void)
{ FILE *fr;
  if (vypis_soubor() == 0.5)
    printf("otevren");
    
  system("pause");
  return 0;

}

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson