Tyto stránky již nejsou udržovány. Obsah je postupně přesouván/aktualizován na adrese chytrosti.marrek.cz.

1/1

Zdrojové soubory z výuky

Na této stránce jsou k dispozici zdrojové soubory, které jsem vytvářel při výkladu během výuky. Nejsou to ukázkové a bezchybné zdrojové soubory. Ba naopak, jsou to pracovní neučesané verze, které vznikaly interaktivně ve výuce, často s cílem ukázat, že "takto se to nemá".

20110218-Fri-soubory-menu.c
   1 /*
   2  * Soubor:  20110218-Fri-soubory-menu.c
   3  * Datum:   18.02.2011 08:14
   4  * Autor:   Marek Nožka, nozka <@t> spseol <d.t> cz
   5  * Licence: GNU/GPL 
   6  * Úloha:   Práce se soubory pomocí jednoduché menu
   7  ****************************************************/
   8 #define _ISOC99_SOURCE
   9 #define _GNU_SOURCE
  10 #include <stdio.h>
  11 #include <stdbool.h>
  12 #include <ctype.h>
  13 /* ***************    Makra    ******************** */
  14 
  15 /* ***************   Funkce    ******************** */
  16 void tisniMenu()
  17 {
  18     puts("Vyber akci:");
  19     puts("  1) Převod na malá písmena");
  20     puts("  2) Nahrazení snaku");
  21     puts("  3) Generování náhodného textu");
  22     puts("  4) Statistika souboru");
  23     puts("  5) Konec");
  24 }
  25 
  26 #define DELKA 128
  27 void prevodZnaku()
  28 {
  29     FILE *fvstup;
  30     FILE *fvystup;
  31     char jmenoVstup[DELKA];
  32     char jmenoVystup[DELKA];
  33 
  34     printf("Zadej vstupní soubor > ");
  35     scanf("%s",jmenoVstup);
  36     if (( fvstup = fopen(jmenoVstup,"r") ) == NULL ) {
  37         fprintf(stderr,"Nelze otevřít soubor %s\n",jmenoVstup);
  38         perror("CHYBA");
  39         return;
  40     }
  41 
  42     printf("Zadej výstupní soubor > ");
  43     scanf("%s",jmenoVystup);
  44     fvystup = fopen(jmenoVystup,"w");
  45 
  46     int znak;
  47     while ( (znak = fgetc(fvstup) ) != EOF ) {
  48         fputc(tolower(znak),fvystup);
  49     }
  50     fclose(fvstup);
  51     fclose(fvystup);
  52 
  53 }
  54 
  55 
  56 /****************************************************
  57  *               Hlavní program.
  58  ****************************************************/
  59 int main(void)
  60 {
  61     int volba = 0;
  62     while (volba != 5) {
  63         tisniMenu();
  64         if ( scanf("%d", &volba) != 1 ) {
  65             while ( getchar() != '\n') ;// vyprazdni vstupni buffer
  66             volba = 0;
  67         }
  68         switch (volba) {
  69         case 1:
  70             prevodZnaku();
  71             break;
  72         case 2:
  73             printf("zadal jsi %d\n\n", 2);
  74             break;
  75         case 3:
  76             printf("zadal jsi %d\n\n", 3);
  77             break;
  78         default:
  79             printf("zadal jsi NECO JINAK\n\n");
  80             break;
  81         }
  82     }
  83 
  84 
  85     return 0;
  86 }
`--> stáhnout

Licence Creative Commons Valid XHTML 1.0 Strict Valid CSS! Antispam.er.cz Blog: Tlapicka.net