Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Jednostavan primer ne radi ???

[es] :: .NET :: Jednostavan primer ne radi ???

[ Pregleda: 2020 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

spezia

Član broj: 134818
Poruke: 355
*.beobug.com.



+6 Profil

icon Jednostavan primer ne radi ???15.07.2008. u 11:33 - pre 192 meseci
Ne razumem kako ovo funkcionise.
Kada ukucam ceo primer.Izbaci mi "Unesite karakter".Ja unesem,a on izbaci "Uneli ste..."
I ispise "Unesi x", "Unesi Y"...Jednostavno ne radi Console.Read().
Ne zaustavlja se konzola da ucitam vrednost brojeva.
Ako stavim gornje redove ,za karakter pod komentar,Onda mi lepo izbaci
"unesi a:" ja unesem a on opet preskoci red Read() za unos b vrednsoti.A zbir mi racuna kao a+0.
A kada stavim zadnji red kao Console.Read() da se ne iskljucuje konzola odmah,nego da na natenane pogledam rezultat ,naravno i ovaj rec se preskace.
Tacnije u celom programu cita se samo prva nareba Console.Read() ostale se preskacu.kao da je limit jedan read() po programu.
Radim u Visual Studio 2005.
Jel ima neko logicno objasnjenje???
Code:

using System;
using System.Collections.Generic;
using System.Text;

namespace primer
{
    public class zbir
    {
        
        public int sum(int x,int y)
        {
            int r = x + y;
            return r;
        }
    }
    class Program
    {
        static void Main()
        {
            zbir myClass = new zbir();
            //Console.Write("Unesi karakter:");
            //char myChar =(char) Console.Read();
           // Console.Write("Uneli ste " + myChar +".Hvala");
            
            Console.Write("Unesi a:");
            int a=Console.Read();
            Console.Write("Unesi b:");
            int b =Console.Read();
            Console.WriteLine(" zbir je" + myClass.sum(a,b));
            Console.Read();

            
       
        }
    }
}

 
Odgovor na temu

bunker
Srđan Savković
Smederevo

Član broj: 4495
Poruke: 239
212.5.210.*



Profil

icon Re: Jednostavan primer ne radi ???15.07.2008. u 12:48 - pre 192 meseci
Pazi, Console.Read() ne vraca broj koji si ti uneo, vec vraca raspored otkucanog karaktera u ASCII tabeli. "A" = 65, "a" = 97, "3" = 51.

Nisam nikad koristio Console.Read(), ali sam ocekivao drugacije ponasanje. Mislio sam da on odreaguje posle pritiska bilo kog teksta, a ne tek posle Enter-a.
Ako na kraju svog koda postavis jos jedan Console.Read() moci ces da vidis rezultat, ali ne i da uneses "b". Ovo se desava zato sto sistem prepozna ukucavanje karaktera tek posle pritiska tastera Enter.
Taster Enter nosi dva karaktera. /r (Carriage return) i /n (New Line).
To znaci da je procitao broj koji si uneo (1. Console.Read()) , pa procita CR (2. Console.Read() - zato i preskoci unos broja "b"), pa procita NL (preskoci prikazivanje rezultata).
Ako npr, uneses dvocifren broj za a, ni cetvrti Console.Read() ti nece pomoci da tekst ostane na ekranu, jer dvocifren broj + Enter salje signal za 4 tastera.

Umesto Console.Read(), koristi Console.ReadLine() i parsiraj vraceni string.

S obzirom da nemas neku preteranu funkcionalnost u objektu tipa zbir, metod sum mozes da definises kao staticki, da ne bi instancirao objekat.
Code:

public class zbir
    {

        public static int sum(int x, int y)
        {
            int r = x + y;
            return r;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            //zbir myClass = new zbir();
            //Console.Write("Unesi karakter:");
            //char myChar =(char) Console.Read();
            // Console.Write("Uneli ste " + myChar +".Hvala");

            Console.Write("Unesi a:");
            int a = int.Parse(Console.ReadLine());
            Console.Write("Unesi b:");
            int b = int.Parse(Console.ReadLine());

            Console.WriteLine("");
            Console.WriteLine("zbir je " + zbir.sum(a, b));
            int c = Console.Read();
            int d = Console.Read();
        }
    }

Nije važno stići prvi. Važno je prvo da stigneš.
 
Odgovor na temu

spezia

Član broj: 134818
Poruke: 355
*.vdial.verat.net.



+6 Profil

icon Re: Jednostavan primer ne radi ???15.07.2008. u 13:42 - pre 192 meseci
Radi.Samo ne znam cemu sluze int c i int d??
Ja stavim na kraju Console.Read(); i radi.
Radim primere iz knjige pa se cudim.Sada su forsirati uvek tvoje resenje kod read().
Hvala
 
Odgovor na temu

bunker
Srđan Savković
Smederevo

Član broj: 4495
Poruke: 239
212.5.210.*



Profil

icon Re: Jednostavan primer ne radi ???16.07.2008. u 07:50 - pre 192 meseci
int c i ind d su neki moj eksperiment. Zaboravio sam da obrisem :)
Nije važno stići prvi. Važno je prvo da stigneš.
 
Odgovor na temu

[es] :: .NET :: Jednostavan primer ne radi ???

[ Pregleda: 2020 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.