[ 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 | 4
NapísalOffline : 12.09.2011 19:04 | malý program v c

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?


Online

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

Registrovaný: 11.01.09
Prihlásený: 26.11.24
Príspevky: 1395
Témy: 10 | 10
Bydlisko: Hrinova
NapísalOnline : 12.09.2011 19:28 | malý program v c

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 | 4
Napísal autor témyOffline : 12.09.2011 19:39 | malý program v c

Dík


 [ Príspevkov: 3 ] 


malý program v c



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

1245

16.09.2007 13:36

Vriasdjorl

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

2038

12.08.2013 9:40

scubi7

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

maly kompik

v PC zostavy

8

606

19.09.2011 22:09

ac.milan

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

Maly notebook.

v Notebooky a netbooky

2

313

19.11.2014 15:48

nescafe

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

Maly Notebook

v Notebooky a netbooky

11

1225

05.12.2009 20:16

fuzac89

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

Maly notebook

v Notebooky a netbooky

0

458

27.08.2008 17:39

Iqwak

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

maly RS

v Redakčné systémy

2

911

26.07.2009 13:56

mokus

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

Maly notebook

v Notebooky a netbooky

27

1321

19.05.2008 20:18

Kamahl

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

malý help!

v AMD - Advanced Micro Devices

9

934

10.07.2007 23:58

Jaro

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

malý veľký bug

v Operačné systémy Unix a Linux

8

683

08.05.2009 15:28

yaJohny

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

notebook - maly vykonny

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

v Notebooky a netbooky

49

3012

25.08.2007 20:45

ScorpionSX

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

Malý Herný Notebook

v Notebooky a netbooky

13

604

25.03.2014 9:54

nescafe

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

Mam maly problem...

v AMD - Advanced Micro Devices

4

945

21.10.2006 7:27

Zdravotnik

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

Malý upgrade zostavy

v PC zostavy

8

520

20.05.2015 11:15

ujo zigo

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

2995

20.02.2010 8:40

tom1

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

Malý blogový systém

v Webdesign

2

749

05.07.2011 18:09

slavik



© 2005 - 2024 PCforum, edited by JanoF