Priklady C - pre zaciatocnikov

C,C++,C#

Moderátori: psichac, Moderátori

Používateľov profilový obrázok
bibso
Okoloidúci
Okoloidúci
Príspevky: 21
Dátum registrácie: 13 Okt 2015, 08:21
Bydlisko: Nové Zámky
Vek: 40

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa bibso » 30 Apr 2016, 17:56

v akom programe programujete v C. visual studio priamo tuto moznost pre C neponuka aj ked sa da
0

Používateľov profilový obrázok
zen
Stály člen
Stály člen
Príspevky: 484
Dátum registrácie: 22 Nov 2013, 14:33
Bydlisko: Cadca

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa zen » 02 Máj 2016, 00:41

Loloone napísal:docital som sa ze float uklada desatinne cislo, int uklada cele cisla a char jednotlive znaky
tak nechapem ze preco int ked idem pracovat so znakmi... :pain:
C necita priamo klavesnicu, C komunikuje cez OS. Presne receno: getchar() neobdrzi od OS znak, ale obdrzi od OS jeden byte. (V terminoligii je zmatok, character znamena znak, no, pouziva sa aj pre byte s 8 bits.)

Ked na klavesnici zmacknes "A", C obdrzi od OS 65.
C nepovie OS natisknout znak "A", C povie OS natisknut 65 coz OS prelozi ako "A".

Preco si s tim lamat hlavu?

Ak na mojom pocitaci napisem cosi ako:

Kód: Vybrať všetko

char c1='a';
char c2='à';
uloz c1 a c2 na USB kluc;
tak na USB bude ulozene 65 a 133.

Ak ja budem citat tyto dva zaznamy ako char, dostanem celkom neprekvapivo "a" a "à".

Hadam ze mas slovensky OS. Ak ti dam tento USB kluc a ty budes citat tyto dva zaznamy ako char, dostanes "a", a potom cosi ine.

Ak bychom tieto zaznamy citali ako int, dostaneme oba to iste.

=> Dokaz, ze necitas znak, ale cislo.
0
Samozřejmě, že dědeček nemá kapesní hodinky poháněné elektřinou. Takový nesmysl si může vymyslit jen Saturnin. (Zdenek Jirotka, 1942)

Používateľov profilový obrázok
lh
Pokročilý člen
Pokročilý člen
Príspevky: 715
Dátum registrácie: 23 Mar 2013, 14:02
Bydlisko: z južnej strany Poľany
Vek: 46

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa lh » 02 Máj 2016, 01:40

bibso napísal:v akom programe programujete v C. visual studio priamo tuto moznost pre C neponuka aj ked sa da
podľa toho čo potrebuješ
Ja ho používam kvôli MCU tak ATMEL Studio.
Jednoduché konzolové príklady sa ale dajú skúšať aj online napr. tu
0

OM0XA
Stály člen
Stály člen
Príspevky: 235
Dátum registrácie: 03 Okt 2012, 23:18
Bydlisko: Poprad

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa OM0XA » 02 Máj 2016, 08:34

bibso napísal:v akom programe programujete v C. visual studio priamo tuto moznost pre C neponuka aj ked sa da
V lubovolnom textovom editore.
Nemam rad tieto giganticke vyvojove prostredia. Ja pouzivam editor Vim, (resp. GVim). Ku projektu mam urobeny Makefile a vsetko ovladam priamo z editora. (preklad, upload do AVR, spustenie debugera atd.)
0

Používateľov profilový obrázok
zen
Stály člen
Stály člen
Príspevky: 484
Dátum registrácie: 22 Nov 2013, 14:33
Bydlisko: Cadca

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa zen » 02 Máj 2016, 15:36

OM0XA napísal:
bibso napísal:v akom programe programujete v C. visual studio priamo tuto moznost pre C neponuka aj ked sa da
V lubovolnom textovom editore.
Nemam rad tieto giganticke vyvojove prostredia.
Ja take nie. Jednoducho som nenasel nic lepsie, ako pouzivam od zaciatku:

Borland Turbo C/C++. Executables su z 18.02.1992.

Ako editor Word (for DOS) verzia cosi ako 3. Vyzera, ze je z 1989.
0
Samozřejmě, že dědeček nemá kapesní hodinky poháněné elektřinou. Takový nesmysl si může vymyslit jen Saturnin. (Zdenek Jirotka, 1942)

Používateľov profilový obrázok
Loloone
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1369
Dátum registrácie: 29 Aug 2010, 00:00
Bydlisko: the Sered DC
Vek: 51

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa Loloone » 02 Máj 2016, 20:58

pokusme sa prilis neodbocovat a drzat sa merita veci :-)

prehladne vlakno pomoze nielen mne ale aj dalsim zacinajucim, programovaniachtivym... DAKUJEM :thanks:

po dvoch dnoch sa hlasim zase, tu je riesenie poslednej ulohy:
Napíšte program, ktorý načíta znak z klávesnice.
Ak tento znak nie je písmeno, tak ho vypíše,
ak je to malé písmeno, vypíše k nemu zodpovedajúce veľké písmeno
a ak je to veľké písmeno, vypíše k nemu zodpovedajúce malé písmeno.
v zatvorke za znakom sa zobrazuje cislo z ASCII tab.

Kód: Vybrať všetko

#include <stdio.h>

main()
{
int z;
printf("Napis znak!\n");
z=getchar();

if (z >= 97 && z <= 122)
{
z = z - 32;
printf("%c - (dec. %d)",z);
return 0;
}
if (z >= 65 && z <= 90)
{
z = z + 32;
printf("%c - (dec. %d)" ,z);
return 0;
}
else
printf("%c - (dec. %d)",z);
}
na pisanie kodu pouzivam code::blocks (Win aj Linux)

este poznamka k tym programovacim jazykom...
neviem ci ma zmysel sa najprv ucit Basic alebo Pascal a teprve potom prejst na C/C++
mozno ked uz niekto ma nejake zaklady so strednej tak dajme tomu :-) ale ja zacinam "na zelenej luke"
0
"sukani je pro decka ...chlapi si vypijou"

DPS pre stavbu programatora - UsbPicProg alebo AVR-USBasp

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa peterple » 02 Máj 2016, 21:20

dve pripomienky:
1. Určite je možné zapisovať znaky ako čísla (desiatkové, šestnástkové alebo aj osmičkové) ale nie je to prehľadnejšie takto?

Kód: Vybrať všetko

if (z >= 'a' && z <= 'z')
O prevod na číslo sa postará prekladač. Netreba nakúkať do ASCII tabuľky. Ale samozrejme je dobré že si pochopil princíp ako je to s tými znakmi.
2. V zátvorke sa mi nezobrazuje ascii kód znaku ale šialené číslo. Prídeš na chybu?
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

Používateľov profilový obrázok
Loloone
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1369
Dátum registrácie: 29 Aug 2010, 00:00
Bydlisko: the Sered DC
Vek: 51

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa Loloone » 02 Máj 2016, 21:31

clovece, mne to funguje spravne,
zeby bolo treba "vynulovat" premennu v deklaracii na zaciatku ?

Kód: Vybrať všetko

#include <stdio.h>

main()
{
int z = 0;
printf("Napis znak!\n");
z=getchar();

if (z >= 'a' && z <= 'z')
{
z = z - 32;
printf("%c - (dec. %d)",z);
return 0;
}
if (z >= 'A' && z <= 'Z')
{
z = z + 32;
printf("%c - (dec. %d)" ,z);
return 0;
}
else
printf("%c - (dec. %d)",z);
}
0
"sukani je pro decka ...chlapi si vypijou"

DPS pre stavbu programatora - UsbPicProg alebo AVR-USBasp

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa peterple » 02 Máj 2016, 21:34

Samá voda.
Takto to vidím ja.
Prílohy
asciiFuc.png
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

Používateľov profilový obrázok
Loloone
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1369
Dátum registrácie: 29 Aug 2010, 00:00
Bydlisko: the Sered DC
Vek: 51

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa Loloone » 02 Máj 2016, 21:50

nechapem :rolleyes: u mna v poho....
plocha.jpg
0
"sukani je pro decka ...chlapi si vypijou"

DPS pre stavbu programatora - UsbPicProg alebo AVR-USBasp

Používateľov profilový obrázok
lh
Pokročilý člen
Pokročilý člen
Príspevky: 715
Dátum registrácie: 23 Mar 2013, 14:02
Bydlisko: z južnej strany Poľany
Vek: 46

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa lh » 02 Máj 2016, 21:53

A takto ja :D
Nápoveda znie... vypisuje hausnumerá. Vie čo má vypísať?
Posledný výpis je už po oprave.

A k tomu zápisu. Vôbec sa neboj vykonávať operácie s písmenami, ako Ti písal peterple (aj mne to už raz vytkol a má pravdu :D). Bude to pre Teba zrozumitelnejšie, a kompilátor si s tým poradí. Aj tie prevody malé -> veľké a naopak si zapíš kľudne tak, ako som Ti písal skôr. Je to názorné a hneď vidíš, čo tam robíš, aj keď sa na program pozrieš o rok. A premenné sa neboj pomenovať aj viacpísmenovými názvami. Sprehľadní Ti to kód. Kľudne napr. miesto z daj znak.

-- Spojený príspevok 02 Máj 2016, 20:57 --

edit: Sleduj, čo Ti píše kompilátor :mrgreen:
Prílohy
terminal.png
0

Používateľov profilový obrázok
Loloone
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1369
Dátum registrácie: 29 Aug 2010, 00:00
Bydlisko: the Sered DC
Vek: 51

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa Loloone » 02 Máj 2016, 22:03

no tak hadam ze by takto?

Kód: Vybrať všetko

#include <stdio.h>

main()
{
int z = 0;
printf("Napis znak!\n");
z=getchar();

if (z >= 'a' && z <= 'z')
{
z = z - 32;
printf("%c - (dec. %d)",z,z);
return 0;
}
if (z >= 'A' && z <= 'Z')
{
z = z + 32;
printf("%c - (dec. %d)" ,z,z);
return 0;
}
else
printf("%c - (dec. %d)",z,z);
}
0
Naposledy upravil/-a Loloone v 04 Máj 2016, 14:11, upravené celkom 1 krát.
"sukani je pro decka ...chlapi si vypijou"

DPS pre stavbu programatora - UsbPicProg alebo AVR-USBasp

Používateľov profilový obrázok
lh
Pokročilý člen
Pokročilý člen
Príspevky: 715
Dátum registrácie: 23 Mar 2013, 14:02
Bydlisko: z južnej strany Poľany
Vek: 46

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa lh » 02 Máj 2016, 22:09

:applause:
0

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa peterple » 02 Máj 2016, 22:32

Výborne chybu si odstránil. Vcelku by ma zaujímalo ako to že to tebe nevypisovalo chybné číslo? Že by si mal tak inteligentný kompilátor že skontroloval aj počet parametrov potrebných v printf a doplnil ho tam??? Čo to bolo za varovania ktoré si dostal od kompilátora? Pretože takúto vec kompilátor nemá veľmi ako skontrolovať.

Ešte otázka. Vieš odhadnúť čo sa asi dialo v našich programoch? To ako je možné že tvoj program fungoval je mi zatiaľ veľkou záhadou.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

Používateľov profilový obrázok
Loloone
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1369
Dátum registrácie: 29 Aug 2010, 00:00
Bydlisko: the Sered DC
Vek: 51

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa Loloone » 02 Máj 2016, 23:03

fakt netusim co to bolo za hausnumera :-)
skusal som to teraz v v terminale skompilovat pomocou gcc -o a neslo to, hodilo to chybu:

Kód: Vybrať všetko

prvy.c:12:1: warning: format ‘%d’ expects a matching ‘int’ argument [-Wformat=]
 printf("%c - (dec. %d)",z);
 ^
prvy.c:18:1: warning: format ‘%d’ expects a matching ‘int’ argument [-Wformat=]
 printf("%c - (dec. %d)" ,z);
 ^
prvy.c:22:1: warning: format ‘%d’ expects a matching ‘int’ argument [-Wformat=]
 printf("%c - (dec. %d)",z);
 ^
C::B to vlastne vypise tiez ale skompiluje a spusti to bez problemu
zaujmave

-- Spojený príspevok 02 Máj 2016, 22:30 --

dalo by sa to vpratat do jedneho riadku?
0
"sukani je pro decka ...chlapi si vypijou"

DPS pre stavbu programatora - UsbPicProg alebo AVR-USBasp

Používateľov profilový obrázok
lh
Pokročilý člen
Pokročilý člen
Príspevky: 715
Dátum registrácie: 23 Mar 2013, 14:02
Bydlisko: z južnej strany Poľany
Vek: 46

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa lh » 03 Máj 2016, 00:07

Co myslis vpratat do jedneho riadku?
0

Používateľov profilový obrázok
Loloone
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1369
Dátum registrácie: 29 Aug 2010, 00:00
Bydlisko: the Sered DC
Vek: 51

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa Loloone » 03 Máj 2016, 00:39

vystup aby sa vypisal v jednom riadku
povodny znak potom priradeny znak a cislo

este som to trochu rozsiril a upravil

Kód: Vybrať všetko

#include <stdio.h>

main()
{
int z;
printf("Napis znak!\n");
z = getchar();

if (z >= 'a' && z <= 'z')
{
printf("%c - (dec. %d / hex. %x)",z-32,z,z);
return 0;
}
if (z >= 'A' && z <= 'Z')
{
printf("%c - (dec. %d / hex. %x)",z+32,z,z);
return 0;
}
else
printf("%c - (dec. %d / hex. %x)",z,z,z);
}
0
"sukani je pro decka ...chlapi si vypijou"

DPS pre stavbu programatora - UsbPicProg alebo AVR-USBasp

Používateľov profilový obrázok
lh
Pokročilý člen
Pokročilý člen
Príspevky: 715
Dátum registrácie: 23 Mar 2013, 14:02
Bydlisko: z južnej strany Poľany
Vek: 46

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa lh » 03 Máj 2016, 08:04

Dá sa to. Ten posledný kód Ti vypíše zmenený znak a dec/hex čísla pôvodného. Tak si to chcel?
0

Používateľov profilový obrázok
Loloone
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1369
Dátum registrácie: 29 Aug 2010, 00:00
Bydlisko: the Sered DC
Vek: 51

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa Loloone » 03 Máj 2016, 09:41

ano viem, keby som chcel zobrazovat dec./ hex. zmeneneho znaku dal bych to takto nejak:

Kód: Vybrať všetko

#include <stdio.h>

main()
{
int z;
printf("Napis znak!\n");
z = getchar();
{
if (z >= 'a' && z <= 'z')
{
z=z-32;
printf("%c - (dec. %d / hex. %x)",z,z,z);
return 0;
}
if (z >= 'A' && z <= 'Z')
{
z=z+32;
printf("%c - (dec. %d / hex. %x)",z,z,z);
return 0;
}
}
}
teraz by som chcel aby sa vsetko vypisalo do jedneho riadku a pridam este cyklus tak aby program skoncil az ked stlacim napr.: ESC
0
"sukani je pro decka ...chlapi si vypijou"

DPS pre stavbu programatora - UsbPicProg alebo AVR-USBasp

Používateľov profilový obrázok
xmilos
Ultimate člen
Ultimate člen
Príspevky: 3671
Dátum registrácie: 04 Máj 2011, 00:00
Bydlisko: Povazie

Re: Priklady C - pre zaciatocnikov

Príspevok od používateľa xmilos » 03 Máj 2016, 11:53

zen napísal: Borland Turbo C/C++. Executables su z 18.02.1992.
mne sa pacil aj TC s kniznicami pre prve DOS - okna
0

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok