C# - Problemi i rješenja izdvojena tema

poruka: 2.151
|
čitano: 703.234
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
17 godina
odjavljen
offline
Re: C# - Problemi i rješenja
tnakir kaže...

Sto se tice "programa od 2 stranice"...

 

Ah, ta bezbrižna vremena {#}

Freak Show Inc.
15 godina
offline
Re: C# - Problemi i rješenja
Friday kaže...
tnakir kaže...

Sto se tice "programa od 2 stranice"...

 

Ah, ta bezbrižna vremena {#}

xd,znam da je to ništa,al kad je kod u kojem se ne snalaziš i pola stranice je puno.

Nikad te necemo zaboraviti. RIP EnlightenedPhoenix 24.6.2011.
17 godina
odjavljen
offline
Re: C# - Problemi i rješenja
athlon64 kaže...
Friday kaže...
tnakir kaže...

Sto se tice "programa od 2 stranice"...

 

Ah, ta bezbrižna vremena {#}

xd,znam da je to ništa,al kad je kod u kojem se ne snalaziš i pola stranice je puno.

 

U tom slučaju je dovoljno i dva retka. I onda dođe do yebanja majke onome koji ga je napisao a nije ni kriv ni dužan {#}

Freak Show Inc.
15 godina
offline
Re: C# - Problemi i rješenja
Friday kaže...
athlon64 kaže...
Friday kaže...
tnakir kaže...

Sto se tice "programa od 2 stranice"...

 

Ah, ta bezbrižna vremena {#}

xd,znam da je to ništa,al kad je kod u kojem se ne snalaziš i pola stranice je puno.

 

U tom slučaju je dovoljno i dva retka. I onda dođe do yebanja majke onome koji ga je napisao a nije ni kriv ni dužan {#}

hahaha od srca sam se nasmija xd :  "koju pi_ku materinu je ovaj kodira ovde, šta je ovo ,šta je ono, zašto ovakav buffer, ajme sad ovo moram tražit po google-u , matere mu... a jadan čovik napravia program i uštedia mi pola posla xd.

Nikad te necemo zaboraviti. RIP EnlightenedPhoenix 24.6.2011.
16 godina
offline
C# - Problemi i rješenja

Jedno pitanje.Mogu li napraviti svoju klasu i napisati neke properties i methods i onda te metode koristiti u classi program u mainu?Hvala.

AC Milan - IL CLUB PIU' TITOLATO AL MONDO
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
Re: C# - Problemi i rješenja

Naravno da možeš kad npr napraviš neku metodu u toj klasi možeš je pozivat u mainu kao i metode iz standardnih biblioteka.

16 godina
offline
Re: C# - Problemi i rješenja

Hvala,ali metodu koju sam napravio u jednoj klasi ne mogu koristiti u drugoj,jel tak?

AC Milan - IL CLUB PIU' TITOLATO AL MONDO
16 godina
neaktivan
offline
Re: C# - Problemi i rješenja

Možeš koliko znam samo ako su to srodne klase npr ako jedna nasljeđuje drugu onda možeš koristit metodu iz jedne klase u drugoj.

16 godina
offline
Re: C# - Problemi i rješenja

Aha,da,hvala.

AC Milan - IL CLUB PIU' TITOLATO AL MONDO
13 godina
neaktivan
offline
Re: C# - Problemi i rješenja

Ako želiš to, proguglaj i istraži nasljeđivanje i polimorfizam.

16 godina
offline
Re: C#- Problemi i rješenja
Znam da su malo glupa pitanja,al sam tek počeo učiti C#.
AC Milan - IL CLUB PIU' TITOLATO AL MONDO
13 godina
neaktivan
offline
Re: C#- Problemi i rješenja
emerik kaže...
Znam da su malo glupa pitanja,al sam tek počeo učiti C#.

Naravno da ne, taman da pitaš šta je C#, rađe bih ti odgovorio nego u temi Programiranje u C++-u - pitanja i odgovori nekome uradio zadaću.

Samo pali šta još imaš. Inače Polimorfizam nije baš početnikčka stvar, tako da nemaš beda da je pitanje "glupo".

OT:
http://msdn.microsoft.com/en-us/library/ms173152%28v=vs.80%29.aspx

16 godina
neaktivan
offline
Re: C# - Problemi i rješenja
emerik kaže...

Hvala,ali metodu koju sam napravio u jednoj klasi ne mogu koristiti u drugoj,jel tak?

Evo ti mali primjer kojih imaš na net-u dosta ....

 

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace Naslijedjivanje

{

   public class ParentClass

   {

     public ParentClass()

     {

       Console.WriteLine("Parent Constructor.");

     }

 

     public void print()    //metoda u roditeljskoj klasi koju će dijete naslijediti

     {

       Console.WriteLine("I'm a Parent Class.");

     }

   }

   /// <summary>

   /// Ovdje je iznad gore osnovna klasa (roditeljska )

   /// sa svojim defaultnim konstruktorom

   /// </summary>

 

   public class ChildClass : ParentClass

   {

     public ChildClass()

     {

       Console.WriteLine("Child Constructor.");

     }

     /// <summary>

     /// a ova klasa je naslijedila sve iz gornje klase ali  ovo je 

     /// njen konstruktor 

     /// </summary>

 

     public static void Main()

     {

       ChildClass child = new ChildClass();

 

       ///<summary>

       ///a ovo je instanca klase koja je dijete 

       ///i ona poziva print metodu iz roditeljske klase 

       ///</summary>

 

 

       child.print();

     }

   }

   ///<summary>

   ///ovo je samo kratki primjer koji se može naći po netu 

   ///ali  za osnovno shvaćanje konstruktora i metode koja se naslijeđuje 

   ///je sasvim dovoljno 

   ///</summary>

 

 

 

 

 

 

 

 

}

 

 

 

 

Private
Poruka je uređivana zadnji put ned 8.4.2012 0:49 (Private).
17 godina
offline
C# - Problemi i rješenja

Kad je već nasljeđivanje u pitanju, onda treba istaknuti njegovu bit, odnosno polimorfizam, tj. da objekte naslijeđenje klase možemo prikazati kao objekte bazne klase.

Npr., sve objekte klasa naslijeđenih iz klase Pas možemo strpati u listu objekata klase Pas, s tim da svaki objekt koristi svoju metodu npr. VrstaPsa() koju je naslijedio iz bazne klase.

 

 

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

namespace Pas
{
    abstract class Pas
    {
        public abstract void VrstaPsa();
    }
    class NjemackiOvcar : Pas
    {
        public override void VrstaPsa()
        {
            Console.WriteLine("Njemački ovčar");
        }
    }
    class Labrador : Pas
    {
        public override void VrstaPsa()
        {
            Console.WriteLine("Labrador");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            List<Pas> listaPasa = new List<Pas>();
            listaPasa.Add(new NjemackiOvcar());
            listaPasa.Add(new Labrador());
            listaPasa.Add(new NjemackiOvcar());

            foreach (Pas pas in listaPasa)
            {
                pas.VrstaPsa();
            }
        }
    }
}

Poruka je uređivana zadnji put ned 8.4.2012 17:03 (Floki).
 
2 0 hvala 1
13 godina
neaktivan
offline
Re: C# - Problemi i rješenja

Evo ti još jedan primjer, override-anje metoda.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace polimorfizam
{
    class Parent
    {
        public virtual void metoda1()       //viruelna metoda1
        {
            Console.WriteLine("Metoda1 - bazna klasa!");
        }
    }
    class Child : Parent
    {
        public override void metoda1()    //"pregažena"/override-na/ virtuelna metoda1
        {
            Console.WriteLine("Metoda1 - nasljeđena klasa!");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Parent obj1 = new Parent();
            Child obj2 = new Child();
            obj1.metoda1();
            obj2.metoda1();
        }
    }

 

17 godina
offline
C# - Problemi i rješenja

A onda možemo otići i korak dalje, pa povezati dvije klase koje nemaju jedna s drugom veze.

Npr. interesira nas lista imena kućnih ljubimaca, a imamo psa i dvije mačke, zajedničku listu objekata iz koje možemo ispisati imena i pasa i mačaka dobijemo preko interfacea.

 

 

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

namespace Pas
{
    interface IIme
    {
        string Ime
        {
            get;
        }
    }
    class Pas : IIme
    {
        public string Ime
        {
            get;
            set;
        }
    }
    class Macka : IIme
    {
        public string Ime
        {
            get;
            set;
        }
    }
   
    class Program
    {

        static void Main(string[] args)
        {  
            List<IIme> imena = new List<IIme>();
            imena.Add(new Pas { Ime = "Gare" });
            imena.Add(new Macka { Ime = "Lisa" });
            imena.Add(new Macka { Ime = "Keti" });

            foreach (IIme ime in imena)
            {
                Console.WriteLine(ime.Ime);
            }

        }
    }
}

Poruka je uređivana zadnji put ned 8.4.2012 18:19 (Floki).
 
2 0 hvala 0
15 godina
offline
C# - Problemi i rješenja

evo onaj sam program na kraju ipak uspia sklepat i radi ! izgubia sam sate na proučavanje koda i uspia napravit sta sam tia, osta mi je jos jedan,zadnji bug za riješit, ostale sam bugove sve rijesia i exceptione handle-a , dakle iako sam u program ubacia event:. private void Form1_FormClosing(object sender, FormClosingEventArgs e)  i u njega stavia application.Exit() program se ne zaustavlja ako izađem iz forme prije nego manualno zaustavim program pritiskom na button, sta god stavim u taj event ne reagira, cak i ako stavim istu stvar koja program zaustavlja kad se klikne na stop, jos uvjek nece prestat radit, kao da zatvaranje forme nije povezano s tim eventom a trebalo bi bit.   Pls hitno mi je

Nikad te necemo zaboraviti. RIP EnlightenedPhoenix 24.6.2011.
Moj PC  
0 0 hvala 0
15 godina
offline
C# - Problemi i rješenja

riješeno,zaboravia sam se subscribeat na event :D

Nikad te necemo zaboraviti. RIP EnlightenedPhoenix 24.6.2011.
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
Re: C# - Problemi i rješenja

Recimo da umjesto List<IIme> imena možemo koristiti i ArrayList 

ArrayList imena = new ArrayList()

Ispis je isti .

Eto kako se sve mogu podaci pohranjvati i u ArrayList i u List kolekciji ,samo mali dodatak raznolikosti C#-a  ....

Ovo je samo poveznica na @Floki- jev kod ....

Private
Poruka je uređivana zadnji put pon 9.4.2012 23:52 (Private).
15 godina
offline
Re: C# - Problemi i rješenja
Private kaže...

Recimo da umjesto List<IIme> imena možemo koristiti i ArrayList 

ArrayList imena = new ArrayList()

Ispis je isti .

Eto kako se sve mogu podaci pohranjvati i u ArrayList i u List kolekciji ,samo mali dodatak raznolikosti C#-a  ....

Ovo je samo poveznica na @Floki- jev kod ....

da, samo što ArrayList prima object tipove podataka pa on može da spremi bilo koju vrstu, tj nije strongly typed, dok kod List  vrste ako se koristi sa Generics-ima možemo sami odrediti vrstu podataka koje će lista sadržavati, i onda će primati samo njih i one koji njih nasleđuju....

16 godina
neaktivan
offline
Re: C# - Problemi i rješenja
slobo14 kaže...
Private kaže...

Recimo da umjesto List<IIme> imena možemo koristiti i ArrayList 

ArrayList imena = new ArrayList()

Ispis je isti .

Eto kako se sve mogu podaci pohranjvati i u ArrayList i u List kolekciji ,samo mali dodatak raznolikosti C#-a  ....

Ovo je samo poveznica na @Floki- jev kod ....

da, samo što ArrayList prima object tipove podataka pa on može da spremi bilo koju vrstu, tj nije strongly typed, dok kod List  vrste ako se koristi sa Generics-ima možemo sami odrediti vrstu podataka koje će lista sadržavati, i onda će primati samo njih i one koji njih nasleđuju....

:)   To sam i mislio samo nisam objasnio .....ali ovisi o potrebi naravno što će se koristiti,naravno da je strongly typed preporučljivo uvijek ispred onih principa programiranja koji nisu strongly typed . I naravno savjet je i moj da gdje god se može provodi se strongly typed "zakon" :)

 

Private
13 godina
neaktivan
offline
C# - Problemi i rješenja

Ja sam totalni pocetnik u c# i radim samo u console aplication i malo gledam s neta jednostavne zadatke i pokusavam prepisat i pokrenut i stalno neki problem!Radio sam dosad samo u c-u pa posto je to slicno iso sam probat!Al mi neke stvari nisu jasne.Koja je naredba za unos broja i kako ide naredba za unos stringa!I iz nekog nepoznatog razloga mi se vec napisana naredba tipa Console.WriteLine(); prestane svjetlit onom plavom bojom (mislim na Console) taj dio svjetli plavom bojom i recimo napisem jos jednu takvu komandu i ta druga nece svjetlit,ili se desi da vec napisana i koja je svjetlila prestane svjetlit:)Znam da djeluje noobski od mene sigurno je nesto prejednostavno al razumijem se u programiranje al mi nije jasan unos ovdje,stvarno je cudan!:S

 
0 0 hvala 0
13 godina
neaktivan
offline
Re: C# - Problemi i rješenja

Moraš includeati System namespace.

Što se unosa tiče, za Stringove je:
string varijabla=System.Console.ReadLine(string varijabla);

Za ostale, recimo Int,

Int32 varijabla=System.Console.Read();

Poruka je uređivana zadnji put čet 12.4.2012 7:38 (royalhero).
16 godina
neaktivan
offline
Re: C# - Problemi i rješenja

Za upis broja int tipa :

 

int broj =0;  //inicijaliziraš

broj = int.Parse(Console.ReadLine());

Console.WriteLine(broj);   //ispis 

 

za upis stringa 

 

 

string ime ="";   //inicijjalizacija 

ime = ConsoleReadLine();

Console.WriteLine(ime);   //ispis 

 

 

može i 

 

string  prezime=Console.ReadLine();

 

strig ne moraš parsirati ali druge tipove da 

 

Uglavnom ima dosta toga o samim počecima u C#da je ovo samo zrno pijeska u pustinji :)

Postaš jedan kod koji ti razrađuješ ,označiš što ti nije jasno i mi lijepo objasnimo :)

 

Ono sa svjetlima baš i ne razumijem jer kod mene ništa ne svijetli ili mi se to još nije desilo jer nemam takve erore kao kod tebe .

Private
Poruka je uređivana zadnji put sri 11.4.2012 23:11 (Private).
13 godina
neaktivan
offline
C# - Problemi i rješenja

Ovaj c# je lud da boli glava!Iso malo programirat neki programcic bezveze samo da zapamtim kak ide unos i ispis i normalno tona problema!Napravim program mali za potenciranje i kao prvo initializiram i,a,b i c!I a i b unosim kao bazu i exponent a c nisam unosio nego sam samo stavio ispod for-a  c=a*a; i pocme mi kenjat da c nije initializiran i onda sam i njega poco unasat kao nulu i onda je pocelo radit  ali petlja iz nepoznatog razloga napravi samo jedan krug i tako naprimjer za 5 na drugu ce mi dat tocno 25 ali za naprimjer 5 na trecu ponovo ispisuje 25 i tako radi za svaki primjer!Evo mozda sam negdje pogrijesio ali tesko!I sto se tice omjera zagrada { tocno je samo nisam uhvatio sve kada sam kopiro!

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

namespace ConsoleApplication17
{
    class Program
    {
        static void Main(string[] args)
        {
            int i;
            int a;
            int b;
            int c;

            Console.WriteLine("Unesite bazu:");
            a = int.Parse(Console.ReadLine());
            Console.WriteLine("Unesite potenciju:");
            b = int.Parse(Console.ReadLine());
            c = int.Parse(Console.ReadLine());     // c unasam kao 0 jel sam moro unasat nece mi radit ako stoji gore samo initiliziran a nebude unasan! Neznam zasto
            for (i = 0; i < b; i = i + 1)
            {
                c = a * a;
            }
            Console.WriteLine(c);

 
0 0 hvala 0
16 godina
neaktivan
offline
Re: C# - Problemi i rješenja

Gledaj ovako ....da si u onom gore programu inicijalizirao c odmah na početku ne bi bilo problema kojih si imao ali 
o tom programu neću ništa reći jer ti ne radi kako valja i ne radi ono što trebaš .....a trebaš više uvjeta da bi zadatak radio a i malo više oko for petlji se trebaš pozabaviti .
Inače u C# odmah inicijaliziraj varijable na početku ,to je nepisano pravilo .

 

A evo ovaj primjer kratki koji sam ti nabrzinu napisao i tako treba raditi ,korak po korak pa po toj logici i sastavi for petlju itd itd...

 

 static void Main(string[] args)

     {

       Console.WriteLine("Ovo je program samo za izračun kvadrata i kub-a unesenog broja !");

       int i = 0;  //odmah inicijalizacija !!

       Console.WriteLine("Unesite broj : ");

       i = int.Parse(Console.ReadLine());

       Console.WriteLine("Kvadrat unešenog broj je: {0}.", i * i);

       Console.WriteLine("Kub unešenog broja je : {0} .", i * i * i);

       Console.ReadKey();

 

     }

Private
17 godina
offline
C# - Problemi i rješenja

Više si ti napravio matematičku grešku, nego programersku, mada za takve stvari postoje gotove funkcije, pa smo pomalo "zahrđali", algoritam baza potencija bi išao ovako:

 

            int rezultat = 1;
            int baza;
            int potencija;
            for (int i = 1; i <= potencija; i++)
            {
                rezultat *= baza;
            }
            Console.WriteLine(rezultat);

 

Poruka je uređivana zadnji put čet 12.4.2012 17:42 (Floki).
 
2 0 hvala 0
16 godina
neaktivan
offline
Re: C# - Problemi i rješenja

{#}...ma to je samo da malo vježba .....a ja sam istina malo "zahrđao" {#}...
....sad bar može vježbati i vidjeti gdje je pogriješio ,malo više oko same sintakse da se pozabavi i već će ići ...  {#} 

Private
Poruka je uređivana zadnji put čet 12.4.2012 17:55 (Private).
17 godina
offline
C# - Problemi i rješenja

A kad se već rade ovakve konzolne aplikacije u C#, zašto ne iskoristiti i mogućnosti C#, pa umjesto Parse() metoda koji baca iznimke uzeti TryParse() metod i iskoristiti njegovu osobinu vraćanja bool vrijednosti.

 

 

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

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            int rezultat = 1;
            int baza, potencija;
            Console.Write("Unesi bazu: ");
            while (!int.TryParse(Console.ReadLine(), out baza))
            {
                Console.Write("Greška! Baza mora biti cijeli broj. Ponovni unos: ");
            }
            Console.Write("Unesi potenciju: ");
            while (!int.TryParse(Console.ReadLine(), out potencija))
            {
                Console.Write("Greška! Potencija mora biti cijeli broj. Ponovni unos: ");
            }

            for (int i = 1; i <= potencija; i++)
            {
                rezultat *= baza;
            }

            Console.WriteLine(rezultat);
        }
    }
}

 
2 0 hvala 0
13 godina
neaktivan
offline
C# - Problemi i rješenja

Ma ne i ne.Vasi programi mi rade super a kad ja krenem nesto svoje radit nece:)Neznam zasto?Jos mi nije jasno dje sam pogrijesio u onom zadatku koji sam vam pokazo!

Evo vam slike sto mi javi pa probajte nac gresku!Jel ja je nevidim:S

http://i41.tinypic.com/23hq3qw.jpg

 
0 0 hvala 0
Nova poruka
E-mail:
Lozinka:
 
vrh stranice