Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- GoodSpeed: Alza+ Megéri?
- Luck Dragon: Asszociációs játék. :)
- petipetya: Nagy chili topic. :)
- Trewerr: Analóg-digitális jelátalakítás (zenefájlok leegyszerűsítésével magyarázva)
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- sziku69: Fűzzük össze a szavakat :)
- Meggyi001: Kórházi ellátás: kuka vagy finom?
- GoodSpeed: Nem vénnek való vidék - Berettyóújfalu
- Brogyi: CTEK akkumulátor töltő és másolatai
Új hozzászólás Aktív témák
-
válasz
sghc_toma
#543
üzenetére
Hali!
Elöször is bocsesz a "költői visszakérdezésért", de már előfordult, hogy valaki minden szakmai alapot nélkülöző hozzászólással gazdagított, amikor meg visszakérdeztem, hogy hát azért mégis elmagyarázhatná nekem(amúgy nem kellett volna) hogy hogyis van az, na azóta nem hallottam felőle.
Való igaz (ahogy Te illetve dabadab kolléga is írta) a GETS magában rejti ezt a fajta hibalehetőséget, de csak ezt, és ez jól látható(money[255]). Nyílván nem létezik olyan bankautomata amibe be lehet írni 255 számjegyből álló összeget, hogy adja ki 20ezresekbe, vagy ha igen szóljatok, mert kérek kölcsön egy MTZ traktort azt elhozzuk, mert akkor k... sok pénz van benne...
Azért nem szeretem a pl SCANF-t, mert az viszont rejtett "hibákat" tartalmaz és aki most ismerkedik a C-vel(lásd CELLPETI) azt nem tudhatja(mert sajnos a informatika vagy prográmozást oktató tanárbácsik is gyakran megfeletkeznek ennek elmagyarázásáról). Mire gondolok? Hát például Te is említést teszel ama bizonyos STDIN-ről ugyebár, amit a SCANF is "használ". Ha valaki tényleg korrekt INPUT-ot akar írni, annak erre oda kell figyelni. egy példával illusztrálom:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
int n1,n2;
do {
printf("Enter 2 numbers [num1,num2]: ");
if (scanf("%d,%d",&n1,&n2)!=2) {
printf("Bad INPUT, try again or * to EXIT...\n");
continue;
}
printf("SUM(%d,%d) = %d\n",n1,n2,n1+n2);
} while (getch()!='*');
return 0;
}Nos, első ránézésre hibátlan, de mégsem. A következőképp működik az adott értékek mellett:
ha 5,7 akkor hibátlanul fut
ha 12345678901,12345678901, akkor hibás eredmény
ha a,b akkor hibás működés
ha 5.0,7.0 akkor hibás működésA hibás értékkel nem kell foglalkozni, az nyílvánvaló, azonban mi okozza a hibás működést? Nos annyit elárulok hogy a STDIN.
Természetesen nem Tőletek kérdem a megoldást(hisz biztosan tudjátok), hanem azoktól a leendő programozópalántáktól akik most ismerkednek a C-vel, és remélhetőleg elolvassák mások szakmai hozzászólását.
Szóval ezzel csak azt akartam illusztrálni, hogy kézenfekvő alap C input fx-ek is megtudják nehezíteni az ember életét, és ráadásul ezt úgy teszik hogy amúgy a kód hibátlan(vagy annak tűnik)Nos ezért szoktam kezdő programozóknál inkább a GETS-et alkalmazni.
Fire.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- 2,5 gigabittel hasítanak a belépőszinten az új Asustor NAS-ok
- Bluetooth hangszórók
- Fotók, videók mobillal
- Kormányok / autós szimulátorok topikja
- One otthoni szolgáltatások (TV, internet, telefon)
- Motorola Edge 70 - többért kevesebbet
- Amazfit Bip 6 - jót olcsón
- Mobil flották
- Feketelista, avagy a rossz boltok topicja
- Milyen okostelefont vegyek?
- További aktív témák...
- XIAOMI Redmi Note 14 Pro 5G 8/256
- POINT S WINTER S 185/65R15 88T téligumi acélfelnivel
- ThinkPad 15,6",core i3 6100u(4x2,3Ghz)IntelHD VGA,8-16GB RAM,240SSD,Jó akku,nagyon szép állapot
- 12700kf,RTX4060 8gb,32gb ddr5,6T m.2 ssd,stb .Új komplett középkategóriás gamer pc .
- Acer 15.6",FullHD,core i3 8145U(4x3,9Ghz)MX230 2/4GB DDR5VGA,8-20GB RAM,SSD,szép állapot,Win.11
- Lenovo ThinkPad L16 Gen 1 - 16" WUXGA IPS - Ultra 5 135U - 16GB - 512GB - Win11 - 2,5 év gari
- Apple iMac 19.2 i5-8500 Radeon Pro 560X 4GB 16GB 256GB SSD 21.5" 4K Retina
- Jawbone Up okoskarkötő, aktivitásmérő
- SEAGATE ST6000NM0034 6TB 7.2k 3.5 512e SAS HDD ST6000NM0034
- AKCIÓ! Apple Macbook Pro 16" 2019 i7 16GB 500GB 5300M 4GB macbook garanciával hibátlan működés
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Laptopműhely Bt.
Város: Budapest


