Chyba v kóde

Programovacie jazyky, rady, poradňa...
32jojo32

Chyba v kóde

Príspevok od používateľa 32jojo32 »

Ahojte. Učím sa programovať v C Sharpe a našiel som si tutorial na programovanie a bolo tam, že vytváranie aplikácie lenže keď to spravím tak mi nahadzuje vo Visual Studiu chybu a kód mám podľa tutorialu neviete mi prosím pomôcť kde mám chybu ?


namespace priklady_zive
{
class ZarovkaTest
{
public static void Main(string[] args)
{
//zavolani konstruktoru pro vytvoreni instance tridy zarovka
Zarovka naseZarovka = new Zarovka();
//nastaveni atributu vykon přes vlastnost Vykon
naseZarovka.Vykon = 120;
Console.WriteLine("Vykon zarovky je " + naseZarovka.Vykon);
Console.WriteLine("Atribut sviti zarovky = " + naseZarovka.Sviti);
//zavolání metody Rozsvitit
naseZarovka.Rozsvitit();
Console.WriteLine("Atribut sviti zarovky po zavolani metody Rozsvitit = " + naseZarovka.Sviti);
//zavolání metody Zhasnout
naseZarovka.Zhasnout();
Console.WriteLine("Atribut sviti zarovky po zavolani metody Zhasnout = " + naseZarovka.Sviti);
Console.ReadLine();
}
}
}
metthal
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2475
Registrovaný: 26 jan 2006, 18:32
Bydlisko: Nitra / Brno

Re: Chyba v kóde

Príspevok od používateľa metthal »

1. Kod patri do tagu code
2. Aku chybu ti to hlasi? Zislo by sa tiez hodit cely kod, nikde totiz nevidim definiciu classy Ziarovka
32jojo32

Re: Chyba v kóde

Príspevok od používateľa 32jojo32 »

1.png
Pridal som sem screeny prvý screen je to čo som mal v tutoriale a druhý je to čo som dal to c sharpu
Prílohy
2.png
Mek
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4661
Registrovaný: 23 mar 2005, 23:00
Bydlisko: ZA <-> TN
Kontaktovať používateľa:

Re: Chyba v kóde

Príspevok od používateľa Mek »

Ta chyba hovori, ze v programe ti chyba trieda Zarovka.
32jojo32

Re: Chyba v kóde

Príspevok od používateľa 32jojo32 »

Aj som si myslel ale ako ju tam dám... Prepáč možno to je úplne ľahké ale ja sa to len učím takže neviem nič....
Numline1
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 858
Registrovaný: 04 dec 2006, 18:04

Re: Chyba v kóde

Príspevok od používateľa Numline1 »

Musis si ju napisat, pozri si ako funguju triedy a objekty v cpp
metthal
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2475
Registrovaný: 26 jan 2006, 18:32
Bydlisko: Nitra / Brno

Re: Chyba v kóde

Príspevok od používateľa metthal »

Numline sa asi sekol a myslel C#. Kazdopadne vysvetlit kde napisat triedu je trocha odveci. Skus si zohnat inu knizku alebo iny zdroj lebo zda sa ze to co pouzivas to nevie vysvetlit (popripade len ty pochopit)
32jojo32

Re: Chyba v kóde

Príspevok od používateľa 32jojo32 »

Akože všetok kód ktorý som sem dal mám dať do triedy to by som mal vedieť už som v tom trochu robil len ma zaujíma či tam mám dat celý ten kód ?
Pilifo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 7001
Registrovaný: 12 okt 2007, 16:41
Kontaktovať používateľa:

Re: Chyba v kóde

Príspevok od používateľa Pilifo »

Stačí vytvoriť ďalšiu triedu "Zarovka" aj do toho istého kódu, v ktorej zadefinuješ metódy, resp. atribúty Sviti, Rozsvitit, Zhasnout a Vykon a potom to pôjde.
metthal
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2475
Registrovaný: 26 jan 2006, 18:32
Bydlisko: Nitra / Brno

Re: Chyba v kóde

Príspevok od používateľa metthal »

Ty jedine co potrebujes spravit je zadefinovat triedu a vsetkych jej potrebnych clenov. Neviem o com rozpravas.
anyway
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 297
Registrovaný: 12 dec 2009, 18:38
Bydlisko: Nuuk, Greenland (prechodne BA)

Re: Chyba v kóde

Príspevok od používateľa anyway »

Ahojte, dam to sem, snad to zakladatelovi temy vadit nebude...

Program by mal spriemerovat zadane hodnoty z klavesnice, ale obsahuje logicku chybu, ktoru neviem napravit. Ocakaval som, ze pri druhej funkcii scanf precita znak z klavesnice a podla toho bud cyklus opusti alebo ho zopakuje. Avsak po zadani prvej hodnoty ("Enter value: ") program cyklus zopakuje a naraz vypise retazce z oboch funkcii printf. Ked zadam znak tak zopakuje predchadzajucu hodnotu, ktora sa ulozila do premennej input_value.
Za objasnenie K+.

Kód: Vybrať všetko

#include <stdio.h>

void main()

{

double input_value,
       total_value = 0;
int count = 0;
char con_req;

for(; ;) {
printf("Enter value: ");
scanf("%lf", &input_value);
total_value += input_value;
count++;

printf("\nDo you want to continue[Y/N]");
scanf("%c", &con_req);

if (con_req == 'n' || con_req == 'N')
  break;
}

printf("\nThe avarage of entered values is: %.2lf: ", total_value/count);

}
metthal
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2475
Registrovaný: 26 jan 2006, 18:32
Bydlisko: Nitra / Brno

Re: Chyba v kóde

Príspevok od používateľa metthal »

Dopln

Kód: Vybrať všetko

fflush(stdin);
za

Kód: Vybrať všetko

scanf("%lf", &input_value);
V bufferi ti totiz po nacitani cisla ostane znak \n a ten dalsi scanf si potom ten znak z bufferu nacita.
anyway
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 297
Registrovaný: 12 dec 2009, 18:38
Bydlisko: Nuuk, Greenland (prechodne BA)

Re: Chyba v kóde

Príspevok od používateľa anyway »

Dakujem!
A ak chcem pouzivat prikazy, ktore su mi zname je

Kód: Vybrať všetko

 printf("\nDo you want to continue[Y/N]");
scanf("%c", &con_req);
if(con_req == '\n')
scanf("%c", &con_req);
toto vhodne riesenie? Mozno ta napadne nieco vhodnejsie pouzitim klucovych slov, ktore sa zvykne ucit na zaciatku (ako if, while...)
metthal
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2475
Registrovaný: 26 jan 2006, 18:32
Bydlisko: Nitra / Brno

Re: Chyba v kóde

Príspevok od používateľa metthal »

Skor to potom spravit tak ze namiesto fflush (ak ho teda nechces pouzit, ale proramovanie je aj o googleni a objavovani novych funkcii), tak si mozes spravit taky vyprazdnovac bufferu aj sam.

Kód: Vybrať všetko

while (getchar() != '\n');
anyway
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 297
Registrovaný: 12 dec 2009, 18:38
Bydlisko: Nuuk, Greenland (prechodne BA)

Re: Chyba v kóde

Príspevok od používateľa anyway »

Prirodzene, len som chcel vediet ci existuje viac sposobov ako sa vysporiadat s tymto problemom.
Este raz dakujem.
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: Chyba v kóde

Príspevok od používateľa BX »

anyway napísal:len som chcel vediet ci existuje viac sposobov ako sa vysporiadat s tymto problemom.
Existuje. Môžeš do scanf pridať načítanie znaku naviac a to bude odchytávať práve ten enter. A vyprázdňovanie bufferu nebude potrebné.

Jednoduchšie a aj logickejšie je ale robiť to tak, ako bolo spoenuté.
anyway
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 297
Registrovaný: 12 dec 2009, 18:38
Bydlisko: Nuuk, Greenland (prechodne BA)

Re: Chyba v kóde

Príspevok od používateľa anyway »

Ahojte, vysledne hodnoty sa zobrazuju ako nulove. Preco?
Ak pouzijem datovy typ float, tak je vsetko v poriadku.

Kód: Vybrať všetko

#include <stdio.h>

int main(void)

{
double values_read[5];
double values_recip[5];
double sum = 0.0;


for(int i = 0; i < 5; i++) {
  printf("Enter %d. value: ", i + 1);
  scanf("%lf", &values_read[i]);
  }

for(int i = 0; i < 5; i++) {
  values_recip[i] = 1.0 / values_read[i];
  printf("The reciprocal value of %.2lf is %.2lf\n", values_read[i], values_recip[i]);
  sum += values_recip[i];
  }

 printf("\nThe sum of the reciprocal values is %.2lf", sum);

 return 0;

}
BX: Tiez diki.
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: Chyba v kóde

Príspevok od používateľa BX »

anyway napísal:Ahojte, vysledne hodnoty sa zobrazuju ako nulove.
Nezobrazujú. U mňa v pohode a v kóde chybu nevidím.
anyway
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 297
Registrovaný: 12 dec 2009, 18:38
Bydlisko: Nuuk, Greenland (prechodne BA)

Re: Chyba v kóde

Príspevok od používateľa anyway »

Tak to bude chyba v mojom systeme.. Nestretol si sa nahodou s tymto problemom?
Pouzivam CodeBlocks vo Win7.
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: Chyba v kóde

Príspevok od používateľa BX »

V printf použi %f, nie %lf - ISO C++ toto v printf nepodporuje. Neviem, či to môže spôsobovať takúto chybu, tak vyskúšaj.
Mať svoj notebook, tak to vyskúšam v Codeblocks na W7. Teraz som na macu.
Napísať odpoveď