Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 3 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.09.11
Prihlásený: 17.09.11
Príspevky: 11
Témy: 4
Príspevok NapísalOffline : 12.09.2011 19:04

Chcel by som sa naučiť aspoň trochu c, urobil som si malý program (zadanie bolo na webe, a tento funguje):

#include <stdio.h>
/*Uloha: Napisat program, ktory nacita hodnotu do znakovej premennej zn a vzpise '1' ak je to cislo '0' az '9', inak vypise 0*/
main()
{
char zn, dol, hor;
zn= 10;
dol= 0;
hor= 9;
printf("%d\n", (zn>=dol && zn<=hor));
getchar();
}
Tento programík som si chcel vylepšiť aby načítal znak z klávesnice, pridal som tam aj riadok aby mi ukázal aký znak bol zadaný.
Už som presurfoval spústu času, premŕvam sa v knihe Programovací jazyk C a stále to neviem rozlúsknuť. Jednak mi nefunguje true/false, okrem toho ak zadám dvojmiestne číslo tak mi vypíše len prvú číslicu:

#include <stdio.h>
/*Uloha: Napisat program, ktory nacita hodnotu do znakovej premennej zn a vzpise '1' ak je to cislo '0' az '9', inak vypise 0*/

main()
{
char zn, dol, hor;
dol= 0;
hor= 9;
printf("Zadaj na klavesnici lubovolny znak, ak bude z intervalu 0-9 tak program vypise 1\n");
printf("Inak vypise 0\n\n");
printf("Zadaj znak: ");
/*scanf("%c", &zn);*/
zn=getchar();
printf("\n");
printf("zadane cislo je %c\n", zn);
printf("Vysledok je: ");
printf("%d\n", (zn>=dol && zn<=hor));
getchar();
}
Vie mi niekto vysvetliť v čom je problém?


Offline

Skúsený užívateľ
Skúsený užívateľ
malý program v c

Registrovaný: 11.01.09
Prihlásený: 27.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 12.09.2011 19:28

mk* píše:
Jednak mi nefunguje true/false


Trocha som ti to upravil ( pod kodom vysvetlenie ):
Kód:
/*Uloha: Napisat program, ktory nacita hodnotu do znakovej premennej zn a vzpise '1' ak je to cislo '0' az '9', inak vypise 0*/

int main()   // 1. chyba - main ma navratovu hodnou typu int
{

    char zn, dol, hor;
    dol= '0';                       // druha chyba, dole vysvetlene
    hor= '9';
    printf("Zadaj na klavesnici lubovolny znak, ak bude z intervalu 0-9 tak program vypise 1\n");
    printf("Inak vypise 0\n\n");
    printf("Zadaj znak: ");
    /*scanf("%c", &zn);*/
    zn=getchar();
    printf("\n");
    printf("zadane cislo je %c\n", zn);
    printf("Vysledok je: ");
    printf("%d\n", (zn>=dol && zn<=hor));
    getchar();

    return 0;
}

True / false ti nefungovalo preto, lebo 0 a '0' nie je to iste. Kedze porovnavas znaky, tak musis pouzit '0' lebo 0 je vlastne znak s ASCII hodnotou 0, kdezto '0' ma hodnou 48.

mk* píše:
Ak zadám dvojmiestne číslo tak mi vypíše len prvú číslicu

Na nacitanie pouzivas funkciu getchar(), kde uz z nazvu vyplyva, ze sa vrati iba jeden znak. Ak chces nacitavat lubovolne dlhe cislo/retazec, tak pouzi zakomentovanu funkciu scanf.

P.S. Vsetok kod umiestnuj do znaciek [code ][/code], ktore mas hore na paneli. Je to ovela viac prehladnejsie.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 08.09.11
Prihlásený: 17.09.11
Príspevky: 11
Témy: 4
Príspevok Napísal autor témyOffline : 12.09.2011 19:39

Dík


Odpovedať na tému [ Príspevkov: 3 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Potrebujem spravit maly program v cecku/delphi/jave - odmena

v Ponuka práce

0

1216

16.09.2007 13:36

Vriasdjorl Zobrazenie posledných príspevkov

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie. maly kompik

v PC zostavy

8

567

19.09.2011 22:09

ac.milan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Maly notebook.

v Notebooky a netbooky

2

279

19.11.2014 15:48

nescafe Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Maly Notebook

v Notebooky a netbooky

11

1180

05.12.2009 20:16

fuzac89 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Maly notebook

v Notebooky a netbooky

0

423

27.08.2008 17:39

Iqwak Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. maly RS

v Redakčné systémy

2

874

26.07.2009 13:56

mokus Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Maly notebook

v Notebooky a netbooky

27

1261

19.05.2008 20:18

Kamahl Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. malý help!

v AMD - Advanced Micro Devices

9

870

10.07.2007 23:58

Jaro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. maly Upgrade

[ Choď na stránku:Choď na stránku: 1, 2, 3 ]

v PC zostavy

78

1909

12.08.2013 9:40

scubi7 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Mam maly problem...

v AMD - Advanced Micro Devices

4

911

21.10.2006 7:27

Zdravotnik Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Malý upgrade zostavy

v PC zostavy

8

482

20.05.2015 11:15

ujo zigo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. maly upgrade :D

[ Choď na stránku:Choď na stránku: 1, 2, 3, 4 ]

v PC zostavy

92

2809

20.02.2010 8:40

tom1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Malý blogový systém

v Webdesign

2

707

05.07.2011 18:09

slavik Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Maly tichy PC

v PC zostavy

1

392

14.08.2010 18:46

Cirky Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Maly NB do

v Notebooky a netbooky

4

277

28.12.2011 15:45

Despi Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Maly pracovny notebook

v Notebooky a netbooky

6

692

01.05.2009 15:14

Jaro Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra