Witam douczyłem się troszke c++ i oto fragment mojego programu.
Ostatnie pytania i potem zamykam temat.
Oto fragment mojego kod.
#include <cstdlib>
#include <iostream>
#include <string>
#include <windows.h>
#include <fstream>
using namespace std;
const char * num_str[] =
{
"",
"Dziesiatka",
"Dwojka",
"Trojka",
"Czworka",
"Piatka",
"Szostka",
"Siodemka",
"Osemka",
"Dziewiatka",
"Walet",
"Dama",
"Krol",
"As",
};
void col_str( char col ) {
if( col == 'K' ) cout << "Kier";
else if( col == 'P' ) cout << "Pik";
else if( col == 'K' ) cout << "Kier";
else if( col == 'T' ) cout << "Trefl";
else if( col == 'A' ) cout << "Karo";
else cout << "ERROR";
}
int karta( string s ) {
int n;
char c;
if( isdigit( s[ 0 ] ) )
{
n=s[0]-'0';
}
else
{
switch( s[ 0 ] )
{
case '1': n = 10; break;
case 'W': n = 11; break;
case 'D': n = 12; break;
case 'K': n = 13; break;
case 'A': n = 14; break;
default: n = 0;
};
c = s[ 1 ];
}
if( n>0) cout << "karta " << num_str[ n ];
else cout << "ERROR ";
cout << " kolor ";
col_str( c );
cout << endl;
return n;
}
Opis działania programu jest prosty.
2 pliki tekstowe z których program odczytuje karty.
Pierwsza litera bądz cyfra to rodzaj karty np 1 to - dziesięć a K to król a druga to kolor.
Mam problem bo mimo że program działa to karta dziesiątka jest dopiero po wpisaniu 10 w polu karta w pliku tekstowym (10K - dziesiątka kier) a ma to być 1K. Nie był by to problem wystarczy dać opis dziesiątka w innym miejscu lecz wtedy ta karta ma wartość 1.
Jak to zrobić by wyświetlała sie 10 po wpisaniu 1 i dawała wartość 10?
I 2 proźba chciałbym dodać możliwość czytania układów pokerowych.
W jaki sposób to zapisać by np jeśli zmienna c (kolor) =c=c=c=c dawałą mi opis kolor a np n+(n+1)+(n+2 ) ... dawała strita.
Liczę że zrozumiecie i pomożecie.
Pozdrawiam