'Aσκηση πέτρα ψαλίδι χαρτή

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

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

Απάντηση
VagosM
Δημοσιεύσεις: 46
Εγγραφή: 03 Νοέμ 2010 20:19

'Aσκηση πέτρα ψαλίδι χαρτή

Δημοσίευση από VagosM » 03 Νοέμ 2010 20:37

Για σας είμαι νέος στο site και θα ήθελα την πολύτιμη βοήθεια σας έχω να κάνω μια άσκηση , είναι η 3 που κάνω..
Πρέπει να κάνω ένα παιχνίδι μεταξύ ενός χρήστη και του υπολογιστή το γνωστό πετρά ψαλίδι χαρτί...και κολλάω στην παραγωγή τυχαίου αριθμού για τον υπολογιστή που θα αντιστηρίζει 0,1,2 στο χαρτί πετρά ψαλίδι....
ο κώδικας που έκανα είναι...αν κάποιος μπορεί να βοηθήσει...
Συνημμένα
Askisi.png
code C.txt
(3.29 KiB) Μεταφορτώθηκε 179 φορές

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

'Aσκηση πέτρα ψαλίδι χαρτή

Δημοσίευση από virxen75 » 03 Νοέμ 2010 23:36

έτσι δεν είναι πιο απλό?

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

    if (random_number!=option){
        if ( (random_number==0 && option!=2) || (random_number==1 && option!=0) || (random_number==2 && option!=1))
            nikesPC++;
        else
            nikesUser++;     
    }

VagosM
Δημοσιεύσεις: 46
Εγγραφή: 03 Νοέμ 2010 20:19

'Aσκηση πέτρα ψαλίδι χαρτή

Δημοσίευση από VagosM » 04 Νοέμ 2010 01:06

θα μπορούσες να με κατατοπίσεις περισότερο...
ευχαριστώ πολύ για τον χρόνο σου....

katerinaaa
Δημοσιεύσεις: 109
Εγγραφή: 28 Ιαν 2010 12:46

'Aσκηση πέτρα ψαλίδι χαρτή

Δημοσίευση από katerinaaa » 04 Νοέμ 2010 09:37

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

#include <iostream>
#include <stdlib.h>
#include <time.h>

#define WINSCORE 3

using namespace std;




char PickRandomOption &#40;void&#41;
&#123;
   char option;
   srand &#40; time &#40;NULL&#41; &#41;;      
   int value = rand&#40;&#41;%3;       

   switch &#40;value&#41; &#123;
      case 0&#58; option='s'; break;
      case 1&#58; option='x'; break;
      case 2&#58; option='p'; break;
   &#125;
   return option;
&#125;


//   0= tie, 1=prwtos, 2=deuteros, -1=error
int WhoWins &#40;char a, char b&#41;
&#123;
   switch &#40;a&#41;
   &#123;
      case 's'&#58;
         if &#40;b=='x'&#41; return 1;
         else if &#40;b=='p'&#41; return 2;
         else return 0;
      case 'x'&#58;
         if &#40;b=='p'&#41; return 1;
         else if &#40;b=='s'&#41; return 2;
         else return 0;
      case 'p'&#58;
         if &#40;b=='s'&#41; return 1;
         else if &#40;b=='x'&#41; return 2;
         else return 0;
      default&#58;
         return -1;
   &#125;
   // giati de xreiazetai break ??
   // logw return statement.
&#125;

int main &#40;&#41;
&#123;
   char you, me;
   int mypoints=0;
   int yourpoints=0;
   int winner;

   do &#123;
      cout << "\nEnter s, x or p ";
      cout << "&#40;s=stone, x=scissors, p=paper&#41;&#58; ";
      cin >> you;

      me = PickRandomOption&#40;&#41;;
      cout << "I say&#58; " << me << "\n";

      winner = WhoWins &#40;you,me&#41;;


      if &#40;winner==0&#41; cout << "Tied\n";
      else if &#40;winner==1&#41; 
      &#123; 
           cout << "You win\n"; 
           yourpoints++; 
      &#125;
      else if &#40;winner==2&#41; &#123; cout << "I win\n"; mypoints++; &#125;
      else cout << "Sorry. You entered an Invalid option\n";

      cout << "POINTS&#58; You&#58;" << yourpoints;
      cout << " Me&#58;" << mypoints << "\n";

   &#125; while &#40;yourpoints<WINSCORE && mypoints<WINSCORE&#41;;

   if &#40;yourpoints>mypoints&#41; 
        cout << "You win the competition!\n";
   else 
        cout << "I win the competition!\n";
   
system&#40;"pause"&#41;;
return 0;
&#125;

Ο κώδικας είναι σε c++.
Το μόνο που έχεις να κάνεις είναι να αλλάξεις τα cout σε printf και να αλλάξεις τις βιβλιοθήκες.

VagosM
Δημοσιεύσεις: 46
Εγγραφή: 03 Νοέμ 2010 20:19

'Aσκηση πέτρα ψαλίδι χαρτή

Δημοσίευση από VagosM » 04 Νοέμ 2010 11:09

ευχαριστώ πολύ......αλλά δεν μπορώ να την στείλω μας έχουν μάθει μόνο την for, do..while και while στη σχολή μέχρι στιγμής..
την ξανά έκανα από την αρχή αλλά και πάλι δεν μου τρέχει σωστά...
Συνημμένα
C.txt
(6.17 KiB) Μεταφορτώθηκε 108 φορές

Απάντηση

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

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

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