gabrielsmani
(usa Outra)
Enviado em 11/07/2019 - 14:20h
Então fiz como você colocou para min, fiz algumas modificações, mas acho que importante mostrar todo o código para que compreenda melhor o que está acontecendo.
Quando o Valor é sorteado preciso que imprima na tela as informações que estão em no vetor Truco cor[40] naquela posição mas só em algumas posições isso acontece, em outras simplesmente não tem nada.
OBS*: antes de começar o código está o enunciado da questão.
/*Escolha um jogo de cartas, baseado em um “baralho tradicional” (cada carta tem seu naipe e seu valor) ou tipo “super trunfo”
(cada carta possui um conjunto de atributos que deve ser descrito em uma estrutura).
Implemente uma função de distribuição (sorteio) de cartas para 2 jogadores, considerando que cada jogador irá receber 5 cartas.
Usando passagem de parâmetros por referência.*/
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#include <string.h>
#define MAX_CARTAS 40
using namespace std;
typedef struct Truco{
char naipe[7];
char numero;
};
Truco cor[40];
Truco vermelhas[20];
Truco pretas[20];
void cadastrocarta(char n[7], char num, Truco cor[], int *posnovetor){
do{
strcpy(cor[*posnovetor].naipe, n);
cor[*posnovetor].numero = num;
(posnovetor++);
}while(*posnovetor < 20);
int x=0, nroSorteado[3];
srand((unsigned)time(NULL));
for(int i=0 ; i < 3 ; i++){
nroSorteado[x] = rand() % 5;
printf ("\nPosicao sorteada: %d\n", nroSorteado[x]);
printf ("Valor nessa posicao: %d\n", vermelhas[nroSorteado[x]]);
cout << cor[nroSorteado[x]].numero << cor[nroSorteado[x]].naipe << endl;
x++;
}
}
int main(){
int ivermelhas = 0, ipretas = 0;
int i;
cadastrocarta("Ouro", '3', vermelhas, &ivermelhas);
cadastrocarta("Ouro", '2', vermelhas, &ivermelhas);
cadastrocarta("Ouro", 'a', vermelhas, &ivermelhas);
cadastrocarta("Ouro", 'k', vermelhas, &ivermelhas);
cadastrocarta("Ouro", 'j', vermelhas, &ivermelhas);
cadastrocarta("Ouro", 'q', vermelhas, &ivermelhas);
cadastrocarta("Ouro", '7', vermelhas, &ivermelhas);
cadastrocarta("Ouro", '6', vermelhas, &ivermelhas);
cadastrocarta("Ouro", '5', vermelhas, &ivermelhas);
cadastrocarta("Ouro", '4', vermelhas, &ivermelhas);
cadastrocarta("copaz", '3', vermelhas, &ivermelhas);
cadastrocarta("copaz", '2', vermelhas, &ivermelhas);
cadastrocarta("copaz", 'a', vermelhas, &ivermelhas);
cadastrocarta("copaz", 'k', vermelhas, &ivermelhas);
cadastrocarta("copaz", 'j', vermelhas, &ivermelhas);
cadastrocarta("copaz", 'q', vermelhas, &ivermelhas);
cadastrocarta("copaz", '7', vermelhas, &ivermelhas);
cadastrocarta("copaz", '6', vermelhas, &ivermelhas);
cadastrocarta("copaz", '5', vermelhas, &ivermelhas);
cadastrocarta("copaz", '4', vermelhas, &ivermelhas);
cadastrocarta("paus", '3', pretas, &ipretas);
cadastrocarta("paus", '2', pretas, &ipretas);
cadastrocarta("paus", 'a', pretas, &ipretas);
cadastrocarta("paus", 'k', pretas, &ipretas);
cadastrocarta("paus", 'j', pretas, &ipretas);
cadastrocarta("paus", 'q', pretas, &ipretas);
cadastrocarta("paus", '7', pretas, &ipretas);
cadastrocarta("paus", '6', pretas, &ipretas);
cadastrocarta("paus", '5', pretas, &ipretas);
cadastrocarta("paus", '4', pretas, &ipretas);
cadastrocarta("espadas", '3', pretas, &ipretas);
cadastrocarta("espadas", '2', pretas, &ipretas);
cadastrocarta("espadas", 'a', pretas, &ipretas);
cadastrocarta("espadas", 'k', pretas, &ipretas);
cadastrocarta("espadas", 'j', pretas, &ipretas);
cadastrocarta("espadas", 'q', pretas, &ipretas);
cadastrocarta("espadas", '7', pretas, &ipretas);
cadastrocarta("espadas", '6', pretas, &ipretas);
cadastrocarta("espadas", '5', pretas, &ipretas);
cadastrocarta("espadas", '4', pretas, &ipretas);
}