Problem z konstruktorem klas

Dział z pytaniami o absolutne podstawy programowania w C# (dla początkujących).

Moderator: xxSlayeRxx

Problem z konstruktorem klas

Sponsor

Sponsor
 

Problem z konstruktorem klas

Postprzez maroo123321 » Pn maja 26, 2014 9:36 pm

Witam.
Otóż dla treningu staram się napisać bardzo prosty program w konsoli który będzie pobierała dane dot. książki, zapisywał ją w tabeli. Otóż natrafiłem na pewien problem którego nie potrafię rozwiązać i proszę o jakąkolwiek pomoc.

Kod: Zaznacz cały
/*
 * Created by SharpDevelop.
 * User: marek
 * Date: 2014-05-24
 * Time: 21:51
 *
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;

namespace ksiazki
{
   
   class informacje
     {
       public string title;
      public int pages;
       public int year;
       public string autor;
       public int num;
    
       public informacje(int a,int b, string c,string d, int e)
       {
          pages = a;
          year = b;
          autor = c;
          title = d;
          num = e;
      
       }
      
       public void DANE(string A,string B,int C, int D, int F)
       {
          A = title;
          B = autor;
          C = year;
          D = pages;
          F = num;
          
          Console.WriteLine("Tytuł książki: {0}\nAutor: {1}\nRok wydania: {2}\nLiczba stron: {3}\n numer na liście : {4}",A,B,C,D,F);
          Console.ReadLine();
       }
      
      
       public int L;
       public string[] wykaz = new string[200];
       public void DODAJ()
       {
          while (true)
          {
             L=L++;
             Console.WriteLine("Proszę podać tytuł książki i zatwierdzić klawiszem ENTER.");
             string TYT = Console.ReadLine();
             Console.WriteLine("Proszę podać liczbę stron.");
             int q=int.Parse(Console.ReadLine());
             Console.WriteLine("Proszę podać rok wydania");
             int w =int.Parse(Console.ReadLine());
             Console.WriteLine("Proszę podać autora książki.");
             string e = Console.ReadLine();
             wykaz[L-1]= TYT;
             string WWW = wykaz[L-1].ToString();
             informacje WWW = new informacje(q,w,e,TYT,L);
             Console.Clear();
             Console.WriteLine("Książka została dodana.");
             goto START;
             break;
      
             
                
          }
       }
     
   }
     
   
   
   class glowna
     {
        public static void Main()
        {
           Console.WriteLine("Witaj, aby dodać nową książkę i informacje o niej wybierz 1\naby zakończyć program wybierz 2...");
        START:
           int A = int.Parse(Console.ReadKey().KeyChar.ToString());
           switch (A)
           {
              case 1 :
           
              Console.WriteLine("asdasddsa");//METODA\\
              Console.ReadLine();
           break;
               case 2 :
              break;
               default :
              Console.Clear();
           Console.ForegroundColor = ConsoleColor.Red;
              Console.WriteLine("                  Dokonano złego wyboru. Proszę dokonać wyboru...");
              Console.ResetColor();
              Console.WriteLine("Aby dodać nową książkę i informacje o niej wybierz 1\naby zakończyć program wybierz 2...");
        goto START;
           break;
           
           }
        }
        
   
   
   
   
   }
}


problem pojawia się w public void DODAJ();
pisze :

A local variable named 'WWW' is already defined in this scope (CS0128) - C:\Users\marek\Documents\SharpDevelop Projects\TE\TE\Program.cs:62,19

i:

Cannot implicitly convert type 'ksiazki.informacje' to 'string' (CS0029) - C:\Users\marek\Documents\SharpDevelop Projects\TE\TE\Program.cs:62,25

Pozdrawiam
maroo123321
Member
 
Posty: 92
Dołączył(a): Wt cze 14, 2011 8:05 pm

Re: Problem z konstruktorem klas

Postprzez Eldier » Pn maja 26, 2014 10:34 pm

Masz już zadeklarowaną zmienna WWW linijkę wyżej. Poza tym masz wszystko napisane, nawet jak nie znasz angielskiego to jak wrzucisz w translator to otrzymasz:
"Zmienna lokalna o nazwie "www" jest już zdefiniowana w tym zakresie (CS0128)"

Drugi błąd też wiąże się z linijką wyżej. Tworzysz obiekt typu string, a później (pomijając już poprzedni błąd) chcesz do niego przypisać obiekt typu informacje.

A teraz odnośnie całości kodu,ja widzę, że ten kod jest tylko testowy i jeszcze nic konkretnego nie robi, ale programowałeś już kiedyś coś wcześniej? Bo jeżeli nie proponuje przeczytać jakąś książkę, nawet pobieżnie, albo przerobić jakiś kurs.

Jakbyś miał jeszcze jakieś pytania to pisz:)
Eldier
Member
 
Posty: 41
Dołączył(a): Pt gru 20, 2013 5:34 pm

Re: Problem z konstruktorem klas

Postprzez xxSlayeRxx » Wt maja 27, 2014 11:35 am

hmm wiedze, ze jakas wiedze na temat c# masz, wiec skad taki problem?
xxSlayeRxx
Member
 
Posty: 661
Dołączył(a): Pt lip 08, 2011 10:24 pm

Re: Problem z konstruktorem klas

Postprzez maroo123321 » Wt maja 27, 2014 1:58 pm

Dzięki za odpowiedź. Już wiem gdzie i dlaczego błąd popełniłem tylko nie widzę rozwiązania. Zabiore się dalszą naukę ( http://si-szarp.pl/ - myślicie że dobre na początek ? ) i myśle że w niedalekiej przyszłości znajdę rozwiązanie.
Pozdrawiam
Marek
maroo123321
Member
 
Posty: 92
Dołączył(a): Wt cze 14, 2011 8:05 pm

Re: Problem z konstruktorem klas

Postprzez xxSlayeRxx » Wt maja 27, 2014 2:09 pm

hmm co co ci to:
Kod: Zaznacz cały
string WWW = wykaz[L-1].ToString();
 informacje WWW = new informacje(q,w,e,TYT,L);

nie uzywasz tego nigdzie... rownie dobrze mozesz to usunac


a to:
Kod: Zaznacz cały
goto START;
po prostu brak mi slow
po co po tym masz break skoro i tak wychodzisz... w bardzo, bardzo nieelegancki sposob...

i najwazniejsze po co masz while(true) skoro i tak uruchamiasz to raz?
xxSlayeRxx
Member
 
Posty: 661
Dołączył(a): Pt lip 08, 2011 10:24 pm

Re: Problem z konstruktorem klas

Sponsors

Sponsor
 


Powrót do Newbie

Kto przegląda forum

Użytkownicy przeglądający ten dział: Bing [Bot] i 8 gości