Tyto stránky již nejsou udržovány. Obsah je postupně přesouván/aktualizován na adrese chytrosti.marrek.cz.
1/1
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á".
1 /*
2 * Soubor: 20101217-Fri-ukazka-scanf-S4.c
3 * Datum: 17.12.2010 10:15
4 * Autor: Marek Nožka, nozka <@t> spseol <d.t> cz
5 * Licence: GNU/GPL
6 * Úloha: ukázka nacitani vstupu
7 */
8
9 #include <stdio.h>
10
11 /////////////////////////////////////////////////////
12 /**
13 * Hlavní program.
14 */
15 int main(void)
16 {
17 float a, b;
18 int navrat;
19
20 while ((navrat = scanf("%e %g", &a, &b)) != 2) {
21 while (getchar() != '\n') {
22 ; // vyprázdní vstupní buffer až do konce řádku
23 }
24 }
25
26 printf("%g %g ##%d\n", a, b, navrat);
27
28 /* řádek */
29 #define MAX 1024
30 char s[MAX];
31 scanf("%s", s);
32 printf("%s\n", s);
33
34 scanf("%4c", s);
35 printf("%s\n", s);
36
37 while (getchar() != '\n') {
38 ; // vyprázdní vstupní buffer až do konce řádku
39 }
40 gets(s); //dangerous
41 fprintf(stderr, "%s\n", s);
42 fgets(s, MAX, stdin);
43 fprintf(stdout, "%s\n", s);
44
45 puts("ctu do konce souboru");
46 while (fgets(s, MAX, stdin) != NULL) {
47 printf("#%s", s);
48 if (sscanf(s,"%e , %g", &a, &b) == 2 ||
49 sscanf(s,"%e %g", &a, &b) == 2) {
50 printf("##%g %g\n",a,b);
51 }
52 }
53
54 return 0;
55 }