μια απορία που έχω λάθος και δεν τρέχει ο κώδικας αυτός

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
lousifer231
Δημοσιεύσεις: 77
Εγγραφή: 17 Απρ 2007 01:59
Τοποθεσία: kypros
Επικοινωνία:

μια απορία που έχω λάθος και δεν τρέχει ο κώδικας αυτός

Δημοσίευση από lousifer231 » 28 Ιαν 2011 23:23

μια απορία....

που έχω λάθος και δεν τρέχει ο κώδικας αυτός ??

Κώδικας: Επιλογή όλων

 

#include <iostream.h>
#include <stdlib.h>
#include <string.h>
class player &#123;
	char onoma&#91;20&#93;;
	int zaria;
	int poson;
public&#58;
		player &#40;char x&#91;&#93;="",int p=0&#41;&#123;
		strcpy &#40;onoma,x&#41;;
	    poson=p;
	&#125;

	void setOnoma&#40;char x&#91;&#93;&#41;&#123;
		strcpy&#40;onoma,x&#41;;
	&#125;
	void setPoson&#40;int p&#41;&#123;
		poson=p;
	&#125;
	void setZaria&#40;int x&#41;&#123;
		zaria=x;
	&#125;
	char * getOnoma&#40;&#41;&#123;
		return onoma;
	&#125;
	int getPoson&#40;&#41;&#123;
		return poson;
	&#125;
	int getZaria&#40;&#41;&#123;
		return zaria;
	&#125;
	void addPoson&#40;int x&#41;&#123;
		poson+=x;
	&#125;
	void print&#40;&#41;&#123;
		cout<<"o pexteis"<<onoma<<"exei"<<poson<<"euro<<endl";
	&#125;
&#125;;



class game&#123;
	player a;
	player b;
	int partida;
	int synolo;
	int kerdos;
	int aoitekesna&#91;100&#93;;
public&#58;
	game&#40;&#41;&#123;
		a.setOnoma&#40;"1"&#41;;
		a.setPoson&#40;10&#41;;
		b.setOnoma&#40;"2"&#41;;
		b.setPoson&#40;10&#41;;
		partida=0;
		synolo=10;
		kerdos=1;
		for&#40;int i=0;i<100;i++&#41;
			apotelesma&#91;i&#93;=0;
	&#125;

	void play&#40;&#41;&#123;
		do&#123;
			a.setZaria&#40;&#40;int&#41; &#40;rand&#40;&#41;/32767.0*6&#41;+1&#41;;
			b.setZaria&#40;&#40;int&#41; &#40;rand&#40;&#41;/32767.0*6&#41;+1&#41;;
			if &#40;a.getZaria&#40;&#41;==b.getZaria&#40;&#41;&#41;
				apotelesma&#40;partida=0&#41;;
			else
				if&#40;a.getZaria&#40;&#41;>b.getZaria&#40;&#41;&#41;&#123;
					apotelesma&#91;partida&#93;=1;
					a.addPoson&#40;kerdos&#41;;
					b.addPoson&#40;-kerdos&#41;;
				&#125;
				else&#123;
					apotelesma&#91;partida&#93;=2;
					a.addPoson&#40;-kerdos&#41;;
					b.addPoson&#40;kerdos&#41;;
				&#125;
				partida++;
		&#125;while&#40;partida<=synolo-1&#41;;
	&#125;
	void print&#40;&#41;&#123;
		cout<<"apotelesma"<<endl;
			for&#40;int i=0;i=synolo;i++&#41;
				if&#40;apotelesma&#91;i&#93;==0&#41;
					cout<<"isopalia"<<endl;
					else
					if&#40;apotelesma&#91;i&#93;==1&#41;
						cout<<"kerdizi o "<<a.getOnoma&#40;&#41;<<endl;
					else
						cout<<"kerdizei o "<<b.getOnoma&#40;&#41;<<endl;
					a.print&#40;&#41;;
					b.print&#40;&#41;;
	&#125;
&#125;;
void main&#40;&#41;&#123;
	game game1;
	srand&#40;200&#41;;
	game1.play&#40;&#41;;
	game1.print&#40;&#41;;
&#125;



τον έγραψα μέσον τις Microsoft visual c++ 6

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

μια απορία που έχω λάθος και δεν τρέχει ο κώδικας αυτός

Δημοσίευση από dva_dev » 29 Ιαν 2011 01:00

Για δοκίμασε να αλλάξεις τις γραμμές, εκεί που έχεις

Κώδικας: Επιλογή όλων

...
int aoitekesna&#91;100&#93;; 
...
apotelesma&#40;partida=0&#41;;
...
να βάλεις αντίστοιχα

Κώδικας: Επιλογή όλων

...
int apotelesma&#91;100&#93;;
...
apotelesma&#91;partida&#93;=0;
...

lousifer231
Δημοσιεύσεις: 77
Εγγραφή: 17 Απρ 2007 01:59
Τοποθεσία: kypros
Επικοινωνία:

μια απορία που έχω λάθος και δεν τρέχει ο κώδικας αυτός

Δημοσίευση από lousifer231 » 29 Ιαν 2011 01:08

:lol: :lol: :lol: simantiko lathos alla pali tpt :P ( ase pou den ton evgaze )

Κώδικας: Επιλογή όλων


Cpp1.cpp&#40;59&#41; &#58; error C2065&#58; 'apotelesma' &#58; undeclared identifier
Cpp1.cpp&#40;59&#41; &#58; error C2109&#58; subscript requires array or pointer type
CCpp1.cpp&#40;59&#41; &#58; error C2106&#58; '=' &#58; left operand must be l-value
c++\Cpp1.cpp&#40;70&#41; &#58; error C2109&#58; subscript requires array or pointer type c++\Cpp1.cpp&#40;70&#41; &#58; error C2106&#58; '=' &#58; left operand must be l-value
Cpp1.cpp&#40;75&#41; &#58; error C2109&#58; subscript requires array or pointer type
c++\Cpp1.cpp&#40;75&#41; &#58; error C2106&#58; '=' &#58; left operand must be l-value
Cpp1.cpp&#40;85&#41; &#58; error C2109&#58; subscript requires array or pointer type
c++\Cpp1.cpp&#40;88&#41; &#58; error C2109&#58; subscript requires array or pointer type
Error executing cl.exe.

afta einai ta lathi pou vgazei

lousifer231
Δημοσιεύσεις: 77
Εγγραφή: 17 Απρ 2007 01:59
Τοποθεσία: kypros
Επικοινωνία:

μια απορία που έχω λάθος και δεν τρέχει ο κώδικας αυτός

Δημοσίευση από lousifer231 » 29 Ιαν 2011 01:47

ok to eftia3a meta apo poles aprose3ies m to eftia3a pedia

Κώδικας: Επιλογή όλων

#include <iostream.h>
#include <stdlib.h>
#include <string.h>
class player &#123;
   char onoma&#91;20&#93;;
   int zaria;
   int poson;
public&#58;
      player &#40;char x&#91;&#93;="",int p=0&#41;&#123;
      strcpy &#40;onoma,x&#41;;
       poson=p;
   &#125;

   void setOnoma&#40;char x&#91;&#93;&#41;&#123;
      strcpy&#40;onoma,x&#41;;
   &#125;
   void setPoson&#40;int p&#41;&#123;
      poson=p;
   &#125;
   void setZaria&#40;int x&#41;&#123;
      zaria=x;
   &#125;
   char * getOnoma&#40;&#41;&#123;
      return onoma;
   &#125;
   int getPoson&#40;&#41;&#123;
      return poson;
   &#125;
   int getZaria&#40;&#41;&#123;
      return zaria;
   &#125;
   void addPoson&#40;int x&#41;&#123;
      poson+=x;
   &#125;
   void print&#40;&#41;&#123;
      cout<<"o pexteis"<<onoma<<"exei"<<poson<<"euro<<endl";
   &#125;
&#125;;



class game&#123;
   player a;
   player b;
   int partida;
   int synolo;
   int kerdos;
   int aoitekesna&#91;100&#93;;  <-------   apotelesma 
public&#58;
   game&#40;&#41;&#123;
      a.setOnoma&#40;"1"&#41;;
      a.setPoson&#40;10&#41;;
      b.setOnoma&#40;"2"&#41;;
      b.setPoson&#40;10&#41;;
      partida=0;
      synolo=10;
      kerdos=1;
      for&#40;int i=0;i<100;i++&#41;
         apotelesma&#91;i&#93;=0;
   &#125;

   void play&#40;&#41;&#123;
      do&#123;
         a.setZaria&#40;&#40;int&#41; &#40;rand&#40;&#41;/32767.0*6&#41;+1&#41;;
         b.setZaria&#40;&#40;int&#41; &#40;rand&#40;&#41;/32767.0*6&#41;+1&#41;;
         if &#40;a.getZaria&#40;&#41;==b.getZaria&#40;&#41;&#41;
            apotelesma&#40;partida=0&#41;;                   <------ &#91;apotelesma&#93;
         else
            if&#40;a.getZaria&#40;&#41;>b.getZaria&#40;&#41;&#41;&#123;
               apotelesma&#91;partida&#93;=1;
               a.addPoson&#40;kerdos&#41;;
               b.addPoson&#40;-kerdos&#41;;
            &#125;
            else&#123;
               apotelesma&#91;partida&#93;=2;
               a.addPoson&#40;-kerdos&#41;;
               b.addPoson&#40;kerdos&#41;;
            &#125;
            partida++;
      &#125;while&#40;partida<=synolo-1&#41;;
   &#125;
   void print&#40;&#41;&#123;
      cout<<"apotelesma"<<endl;
         for&#40;int i=0;i=synolo;i++&#41;
            if&#40;apotelesma&#91;i&#93;==0&#41;
               cout<<"isopalia"<<endl;
               else
               if&#40;apotelesma&#91;i&#93;==1&#41;
                  cout<<"kerdizi o "<<a.getOnoma&#40;&#41;<<endl;
               else
                  cout<<"kerdizei o "<<b.getOnoma&#40;&#41;<<endl;
               a.print&#40;&#41;;
               b.print&#40;&#41;;
   &#125;
&#125;;
void main&#40;&#41;&#123;
   game game1;
   srand&#40;200&#41;;
   game1.play&#40;&#41;;
   game1.print&#40;&#41;;
&#125;




kala doulevei opos ipa pio pano :D enousa den exei lathos den vgazei sfalma alla tora i vlakia den doulevei katholou :P

kati lathos tha ekanana kai vazei sinexos

isopalia
isopalia
isopalia
isopalia
isopalia
isopalia
isopalia

kai paei legontas

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

μια απορία που έχω λάθος και δεν τρέχει ο κώδικας αυτός

Δημοσίευση από virxen75 » 29 Ιαν 2011 02:53

είχες και κάποια άλλα λαθάκια που στα διορθωσα

το βασικό είναι το i=synolo στο for σου

Κώδικας: Επιλογή όλων

#include <iostream>
#include <string.h>
#include <time.h>
using namespace std;
class player &#123;
   char onoma&#91;20&#93;;
   int zaria;
   int poson;
public&#58;
      player &#40;char x&#91;&#93;="",int p=0&#41;&#123;
            strcpy &#40;onoma,x&#41;;
            poson=p;
      &#125;    

   void setOnoma&#40;char x&#91;&#93;&#41;&#123;
      strcpy&#40;onoma,x&#41;;
   &#125;
   void setPoson&#40;int p&#41;&#123;
      poson=p;
   &#125;
   void setZaria&#40;int x&#41;&#123;
      zaria=x;
   &#125;
   char * getOnoma&#40;&#41;&#123;
      return onoma;
   &#125;
   int getPoson&#40;&#41;&#123;
      return poson;
   &#125;
   int getZaria&#40;&#41;&#123;
      return zaria;
   &#125;
   void addPoson&#40;int x&#41;&#123;
      poson+=x;
   &#125;
   void print&#40;&#41;&#123;
      cout<<"o paikths "<<onoma<<" exei "<<poson<<" euro "<<endl;
   &#125;
&#125;;



class game&#123;
   player a;
   player b;
   int partida;
   int synolo;
   int kerdos;
   int apotelesma&#91;100&#93;;  //<-------   apotelesma
public&#58;
   game&#40;&#41;&#123;
      a.setOnoma&#40;"1"&#41;;
      a.setPoson&#40;10&#41;;
      b.setOnoma&#40;"2"&#41;;
      b.setPoson&#40;10&#41;;
      partida=0;
      synolo=10;
      kerdos=1;
      for&#40;int i=0;i<100;i++&#41;
         apotelesma&#91;i&#93;=0;
   &#125;

   void play&#40;&#41;&#123;
      do&#123;
         a.setZaria&#40;rand&#40;&#41;%6+1&#41;;
         b.setZaria&#40;rand&#40;&#41;%6+1&#41;;
         if &#40;a.getZaria&#40;&#41;==b.getZaria&#40;&#41;&#41;
            apotelesma&#91;partida&#93;=0;//                 <------ &#91;apotelesma&#93;
         else
            if&#40;a.getZaria&#40;&#41;>b.getZaria&#40;&#41;&#41;&#123;
               apotelesma&#91;partida&#93;=1;
               a.addPoson&#40;kerdos&#41;;
               b.addPoson&#40;-kerdos&#41;;
            &#125;
            else&#123;
               apotelesma&#91;partida&#93;=2;
               a.addPoson&#40;-kerdos&#41;;
               b.addPoson&#40;kerdos&#41;;
            &#125;
        partida++;
      &#125;while&#40;partida<synolo&#41;;
   &#125;
   void print&#40;&#41;&#123;
      cout<<"apotelesma"<<endl;
         for&#40;int i=0;i<synolo;i++&#41;//<---------------------error fixed
            if&#40;apotelesma&#91;i&#93;==0&#41;
               cout<<"isopalia"<<endl;
               else
               if&#40;apotelesma&#91;i&#93;==1&#41;
                  cout<<"kerdizi o "<<a.getOnoma&#40;&#41;<<endl;
               else
                  cout<<"kerdizei o "<<b.getOnoma&#40;&#41;<<endl;
               a.print&#40;&#41;;
               b.print&#40;&#41;;
   &#125;
&#125;;
int main&#40;&#41;&#123;
   game game1;
   srand&#40;time&#40;NULL&#41;&#41;;
   game1.play&#40;&#41;;
   game1.print&#40;&#41;;
   getchar&#40;&#41;;
&#125; 


lousifer231
Δημοσιεύσεις: 77
Εγγραφή: 17 Απρ 2007 01:59
Τοποθεσία: kypros
Επικοινωνία:

μια απορία που έχω λάθος και δεν τρέχει ο κώδικας αυτός

Δημοσίευση από lousifer231 » 29 Ιαν 2011 15:37

po po re file mia aprose3ia kai afto itan na se kala se efxaristo :)

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

μια απορία που έχω λάθος και δεν τρέχει ο κώδικας αυτός

Δημοσίευση από dva_dev » 29 Ιαν 2011 15:59

Αν έχεις τέτοια προβλήματα το καλύτερο είναι να βάλεις μερικά breakpoints σε σημεία που έχεις ελέγξει ότι λειτουργούν σωστά, να επιβεβαιώσεις ότι οι μεταβλητές σου είναι σωστές και μετά να συνεχίσεις εκτελώντας τον κώδικα μία μία εντολές.

Μπορείς είτε να εμφανίσεις την Debug toolbar και να παίξεις από τα κουμπιά εκεί, είτε να χρησιμοποιήσεις τα F10 (step into), F11 (step over).
Ετσι θα βλέπεις ποιά γραμμή εκτελείται κάθε φορά και στο παράθυρο variables (ή στο watches αν προτιμάς) θα βλέπεις τις τιμές που έχουν οι μεταβλητές σου.

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες