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

Pomagajte,ko je dobar sa C# mogao bi mi pomoci,ovde imam kod i problem.

[es] :: .NET :: .NET Desktop razvoj :: Pomagajte,ko je dobar sa C# mogao bi mi pomoci,ovde imam kod i problem.

[ Pregleda: 4616 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

VLSE
Selakovic Vladimir
Kragujevac

Član broj: 79600
Poruke: 67
*.ptt.yu.



Profil

icon Pomagajte,ko je dobar sa C# mogao bi mi pomoci,ovde imam kod i problem.10.12.2006. u 11:32 - pre 211 meseci
Ja sam pocetnik u C#,radim po nekoj knjizi za pocetnike,ali sam naisao na kod koji nije dobro napisan,pa kada ga ja napisem nece da radi.Ko se malo bolje razume u C# lako ce proljuviti o cemu se radi.Naim e imam jednu biblioteki klase i klijentsku aplikaciju koja bi trebalo sa njom da sporeduje,ali to neradi.Molio bih iskusnije [programere koji ma je ovo boza da mi nadju gresku u kodu i pomognu.


Code:
using System;
namespace Ch10CardLib
{
    public enum Suit
    {
        Club,
        Diamond,
        Heart,
        Spade
    }
    public enum Rank
    {
        Ace=1,
        Deuce,
        Three,
        Four,
        Six,
        Seven,
        Eight,
        Nine,
        Ten,
        Jack,
        Queen,
        King
    }
    public class Card
    {
        public readonly Suit suit;
        public readonly Rank rank;
    }
    public override string ToString()
{
    return "The" +rank+ " of " +suit+ "s";
}
    private Card()
{
}
    public Card(Suit newSuit,Rank newRank)
{
    suit=newSuit;
    rank=newRank;
}
}using System;

namespace Ch10CardLib
{
    
    public class Deck
    {
        private Card[] cards;
        public Deck()
        {
            cards=new Card[52];
            for (int suitVal=0;suitVal<4;suitVal++)
            {
                for (int rankVal=1;rankVal<14;rankVal++)
                {
                    cards[suitVal*13+rankVal-1]=new Card[(Suit)suitVal,(Rank)rankVal];
                }
            }
        }
        public Card GetCard(int cardNum)
        {
            if (cardNum>=0&& cardNum<=51)
                return cards[cardNum];
            else
                throw (new System.ArgumentOutOfRangeException("cardNum",cardNum,"Value must be between 0 and 51."));
        }
        public void Shuffle()
        {
            Card[] newDeck=new Card[52];
            bool[] assigned=new bool[52];
            for (int i=0;i<52;i++)
            {
                int destCard=0;
                bool foundCard=false;
                Random sourceGen=new Random();
                while (foundCard==false)
                {
                    destCard=sourceGen.Next(52);
                    if (assigned[destCard]==false)
                        foundCard=true;
                }
                assigned[destCard]=true;
                newDeck[destCard]=cards[i];
            }
            cards=newDeck;
        }
    }
}using System;

namespace Ch10CardClient
{
    
    class Class1
    {
        
        static void Main(string[] args)
        {
            Deck myDeck=new Deck();
            myDeck.Shuffle();
            for (int i=0;i<52;i++)
            {
                Card tempCard=myDeck.GetCard(i);
                Console.WriteLine(tempCard.ToString());
                if (i !=51)
                    Console.Write(",");
                else
                    Console.WriteLine();
            }
            Console.ReadLine();
        }
    }
}


[Shadowed: dodati [code] tagovi.]

[Ovu poruku je menjao Shadowed dana 10.12.2006. u 13:35 GMT+1]
 
Odgovor na temu

Dejan Vesic
Dejan Vesic
CEO
IGT Ogranak Beograd
Beograd

Član broj: 84929
Poruke: 217
*.adsl.sezampro.yu.

Sajt: www.vesic.org


+1 Profil

icon Re: Pomagajte,ko je dobar sa C# mogao bi mi pomoci,ovde imam kod i problem.10.12.2006. u 12:50 - pre 211 meseci
Šta tačno "ne radi"?
 
Odgovor na temu

dr.AgOlO
Milan D.
MunZe

Član broj: 16417
Poruke: 95
195.252.87.*



Profil

icon Re: Pomagajte,ko je dobar sa C# mogao bi mi pomoci,ovde imam kod i problem.10.12.2006. u 17:50 - pre 211 meseci
Code:

...
    public class Card
    {
        public readonly Suit suit;
        public readonly Rank rank;
    }
    public override string ToString()
   {
    return "The" +rank+ " of " +suit+ "s";
   }
    private Card()
  {
   }
    public Card(Suit newSuit,Rank newRank)
  {
    suit=newSuit;
    rank=newRank;
   }
...


Ne mozes da definises metode a naravno ni konstruktore van klase ... znaci treba da se ispravi kod iznad u

Code:

...
    public class Card
    {
        public readonly Suit suit;
        public readonly Rank rank;
        public override string ToString()
        {
           return "The" +rank+ " of " +suit+ "s";
        }
        private Card()
       {
       }
       public Card(Suit newSuit,Rank newRank)
      {
        suit=newSuit;
        rank=newRank;
      }
  }
...

 
Odgovor na temu

VLSE
Selakovic Vladimir
Kragujevac

Član broj: 79600
Poruke: 67
*.ptt.yu.



Profil

icon Re: Pomagajte,ko je dobar sa C# mogao bi mi pomoci,ovde imam kod i problem.10.12.2006. u 20:40 - pre 211 meseci
Hvala na odgovoru upravu ste za deo koda u biblioteci klase,ali mi i dalje pojavljuje greske u konzolnij aplikaciji koja koristi biblioteku tipa:

C:\BegCSharp\Chapter9\Ch10CardLib\Deck.cs(16): Cannot implicitly convert type 'Ch10CardLib.Suit' to 'int'
C:\BegCSharp\Chapter9\Ch10CardLib\Deck.cs(16): Cannot implicitly convert type 'Ch10CardLib.Rank' to 'int'
C:\BegCSharp\Chapter9\Ch10CardLib\Deck.cs(16): Cannot implicitly convert type 'Ch10CardLib.Card[*,*]' to 'Ch10CardLib.Card'
C:\BegCSharp\Chapter9\Ch10CardClient\Class1.cs(15): The type or namespace name 'Card' could not be found (are you missing a using directive or an assembly reference?)
C:\BegCSharp\Chapter9\Ch10CardClient\Class1.cs(16): The type or namespace name 'tempCard' could not be found (are you missing a using directive or an assembly reference?)
C:\BegCSharp\Chapter9\Ch10CardClient\Class1.cs(12): The type or namespace name 'myDeck' could not be found (are you missing a using directive or an assembly reference?)
C:\BegCSharp\Chapter9\Ch10CardClient\Class1.cs(11): The type or namespace name 'Deck' could not be found (are you missing a using directive or an assembly reference?)

Sto ih nevidi kada sam lepo stavio referencu na biblioteku bas kako je u knjizi!Ajde i ovo mi resite,to je za vas igracka.

[Shadowed: Uklonjeno sarenilo. Obrati paznju na pravilnik.]

[Ovu poruku je menjao Shadowed dana 11.12.2006. u 01:18 GMT+1]
 
Odgovor na temu

Shevchenko
Nikola Vasiljevski

Član broj: 37756
Poruke: 218
*.dialup.neobee.net.

Sajt: www.vasiljevski.com


+2 Profil

icon Re: Pomagajte,ko je dobar sa C# mogao bi mi pomoci,ovde imam kod i problem.10.12.2006. u 23:50 - pre 211 meseci
Pa kao prvo, ako si pocetnik u C#-u nisi pocetnik u kucanju. Sto je u ovom slucaju i tvoj ceo problem,elem, zameni ovo
Code:

public Deck()
        {
            cards = new Card[52];
            for (int suitVal = 0; suitVal < 4; suitVal++)
            {
                for (int rankVal = 1; rankVal < 14; rankVal++)
                {
                   cards[suitVal * 13 + rankVal - 1] = new Card[(Suit)suitVal, (Rank)rankVal];
                }
            }

sa ovim
Code:

public Deck()
        {
            cards = new Card[52];
            for (int suitVal = 0; suitVal < 4; suitVal++)
            {
                for (int rankVal = 1; rankVal < 14; rankVal++)
                {
                   cards[suitVal * 13 + rankVal - 1] = new Card((Suit)suitVal, (Rank)rankVal);
                }
            }

Razlika je u zagradama. U ti si pokusao da definises clan niza Card[], a ustvari je bilo potrebno instancirati klasu Card, pomocu Custom konstruktora "public Card(Suit newSuit, Rank newRank)"

A sto se tice gresaka u Deck.cs,pored reference dodaj i na pocetku klase "using Ch10CardClient" i sve ce ti raditi OK :)

P.S Drugi put dobro proveri kako si sta napisao, mozda je tebi svejedno ali compaileru nije ;)
Shoot for the moon. Even if you miss, you'll land among the stars.
Les Brown
 
Odgovor na temu

Shevchenko
Nikola Vasiljevski

Član broj: 37756
Poruke: 218
*.dialup.neobee.net.

Sajt: www.vasiljevski.com


+2 Profil

icon Re: Pomagajte,ko je dobar sa C# mogao bi mi pomoci,ovde imam kod i problem.10.12.2006. u 23:59 - pre 211 meseci
A mozes i ovako :
Code:

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

namespace ConsoleApplication1
{
    class Program                               //Program koji koristi dole navedene klase
    {
        static void Main(string[] args)
        {
            Deck myDeck = new Deck();
            myDeck.Shuffle();
            for (int i = 0; i < 52; i++)
            {
                Card tempCard = myDeck.GetCard(i);
                Console.WriteLine(tempCard.ToString());
                if (i != 51)
                    Console.Write(",");
                else
                    Console.WriteLine();
            }
            Console.ReadLine();
        }
    }
    public enum Suit                        //Enumerator znaka
    {
        Club,
        Diamond,
        Heart,
        Spade
    }
    public enum Rank                        //Enumerator karte
    {
        Ace=1,
        Deuce,
        Three,
        Four,
        Six,
        Seven,
        Eight,
        Nine,
        Ten,
        Jack,
        Queen,
        King
    }
    public class Card                       //klasa Karta
    {
        public readonly Suit suit;
        public readonly Rank rank;
        public override string ToString()
        {
            return "The" + rank + " of " + suit + "s";
        }
        private Card()   //konstruktor klase Karta
        {
        }
        public Card(Suit newSuit, Rank newRank) //Custom konstruktor klase Karta
        {
            suit = newSuit;
            rank = newRank;
        }
    }
    public class Deck                       //klasa Spil
    {
        private Card[] cards;
        public Deck()                       //konstruktor klase Spil
        {
            cards = new Card[52];
            for (int suitVal = 0; suitVal < 4; suitVal++)
            {
                for (int rankVal = 1; rankVal < 14; rankVal++)
                {
                    cards[suitVal * 13 + rankVal - 1] = new Card((Suit)suitVal, (Rank)rankVal);
                }
            }
        }
        public Card GetCard(int cardNum)               
        {
            if (cardNum >= 0 && cardNum <= 51)
                return cards[cardNum];
            else
                throw (new System.ArgumentOutOfRangeException("cardNum", cardNum, "Value must be between 0 and 51."));
        }
        public void Shuffle()                           //metod Mesanje
        {
            Card[] newDeck = new Card[52];
            bool[] assigned = new bool[52];
            for (int i = 0; i < 52; i++)
            {
                int destCard = 0;
                bool foundCard = false;
                Random sourceGen = new Random();
                while (foundCard == false)
                {
                    destCard = sourceGen.Next(52);
                    if (assigned[destCard] == false)
                        foundCard = true;
                }
                assigned[destCard] = true;
                newDeck[destCard] = cards[i];
            }
            cards = newDeck;
        }
    }

}


Sve ovo kopiraj u Program.cs i radice. Mada mnogo je bolje imati zasebne file-ove za svaku klasu :)
Shoot for the moon. Even if you miss, you'll land among the stars.
Les Brown
 
Odgovor na temu

VLSE
Selakovic Vladimir
Kragujevac

Član broj: 79600
Poruke: 67
*.ptt.yu.



Profil

icon Re: Pomagajte,ko je dobar sa C# mogao bi mi pomoci,ovde imam kod i problem.11.12.2006. u 16:04 - pre 211 meseci
Hvala batice u pravu si.Neznam kako to nisam video???Mada je tako napisano u knjizi,nema using Ch10CardLib .A ja sam jos uvekipocetnik.
Hvala Veliki Manitu.
Mada mi i dalje tekst ispisuje vertikalno,a ne po celoj sirini prozora komandnog promta,kako je u knjizi.To cu sam da prokljuvim.Kako covek da nauci kad ima gresaka i u ovim knjigama za pocetnike?
 
Odgovor na temu

Shevchenko
Nikola Vasiljevski

Član broj: 37756
Poruke: 218
*.dialup.neobee.net.

Sajt: www.vasiljevski.com


+2 Profil

icon Re: Pomagajte,ko je dobar sa C# mogao bi mi pomoci,ovde imam kod i problem.11.12.2006. u 21:33 - pre 211 meseci
Pa samo umesto
Code:

Console.WriteLine(tempCard.ToString());


napises

Code:

Console.Write(tempCard.ToString());


Savet : Nabavi drugu knjigu ;)
Shoot for the moon. Even if you miss, you'll land among the stars.
Les Brown
 
Odgovor na temu

VLSE
Selakovic Vladimir
Kragujevac

Član broj: 79600
Poruke: 67
*.ptt.yu.



Profil

icon Re: Pomagajte,ko je dobar sa C# mogao bi mi pomoci,ovde imam kod i problem.12.12.2006. u 15:34 - pre 211 meseci
Hvala ponovo.A sto se tice knjige mozda i nije losa"C# od pocetka-Karli Watson".Mozda je problem u tome sto bih ja hteo sve odmah da naucim,pa nesto i preskocim.
 
Odgovor na temu

Danko_C
Sabac-NSad

Član broj: 24156
Poruke: 181
*.ptt.yu.



+2 Profil

icon Re: Pomagajte,ko je dobar sa C# mogao bi mi pomoci,ovde imam kod i problem.12.12.2006. u 22:11 - pre 211 meseci
Huhhhh...... Nije to losa knjiga,mada.......

ja sam se pre par meseci malo zanimao sa njom i ....videces vec.....ima jos PUNO gresaka u kodovima,
i to ozbiljnijih.

Danko_C
 
Odgovor na temu

VLSE
Selakovic Vladimir
Kragujevac

Član broj: 79600
Poruke: 67
*.ptt.yu.



Profil

icon Re: Pomagajte,ko je dobar sa C# mogao bi mi pomoci,ovde imam kod i problem.13.12.2006. u 17:28 - pre 211 meseci
Slazem se da nije najbolja,ali je ovo Cet-ovo izdanje jedno od najboljih koje sam ja nasao na nasem jeziku.Verovatno ima boljih izdanja za pocetnike na engleskom.Mada sam mislio posto je to nova oblast za mene da bi bilo bolje da osnove steknem na iz nasih knjiga,pa cu posle lako kada sam vec u materiji usavrsavati se iz strane literature.Izgleda da sam se presao jer sam i ja poceo da primecujem krupne greske.Nekada sam zbog njih gubio dane da nesto skapiram posto je delovalo totalno nelogicno,da nisam mogao da nadjem smisao.Ako znas neku dobri knjigu za pocetnike,ti kazi da je nadjemo ili je posalji ako je imas u elektronskom formatu.CAO!
 
Odgovor na temu

Danko_C
Sabac-NSad

Član broj: 24156
Poruke: 181
*.vdial.verat.net.



+2 Profil

icon Re: Pomagajte,ko je dobar sa C# mogao bi mi pomoci,ovde imam kod i problem.14.12.2006. u 21:12 - pre 211 meseci
Pogledaj sledeće....

http://www.elitesecurity.org/p1203724


pa kreni......izbor je veliki. Ja bih ti lično preporučio knjige pod rednim
brojem 11. i 12.

Danko_C
 
Odgovor na temu

Danko_C
Sabac-NSad

Član broj: 24156
Poruke: 181
*.vdial.verat.net.



+2 Profil

icon Re: Pomagajte,ko je dobar sa C# mogao bi mi pomoci,ovde imam kod i problem.14.12.2006. u 21:14 - pre 211 meseci
A imas i na........

http://www.elitesecurity.org/p1277393


 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: Pomagajte,ko je dobar sa C# mogao bi mi pomoci,ovde imam kod i problem.

[ Pregleda: 4616 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

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