Sto se tice "programa od 2 stranice"...
Ah, ta bezbrižna vremena
Sto se tice "programa od 2 stranice"...
Ah, ta bezbrižna vremena
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.
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
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.
Jedno pitanje.Mogu li napraviti svoju klasu i napisati neke properties i methods i onda te metode koristiti u classi program u mainu?Hvala.
Naravno da možeš kad npr napraviš neku metodu u toj klasi možeš je pozivat u mainu kao i metode iz standardnih biblioteka.
Hvala,ali metodu koju sam napravio u jednoj klasi ne mogu koristiti u drugoj,jel tak?
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.
Aha,da,hvala.
Ako želiš to, proguglaj i istraži nasljeđivanje i polimorfizam.
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
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>
}
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();
}
}
}
}
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();
}
}
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);
}
}
}
}
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
riješeno,zaboravia sam se subscribeat na event :D
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 ....
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....
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" :)
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
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();
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 .
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);
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();
}
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);
...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 ...
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);
}
}
}
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