27-11-2011, 02:16
Boa noite pessoal, sou uma estudante de Matemáticas Aplicadas que tem um cadeira de Programação. Nunca tinha tido essa cadeira e não percebo nada ou muito pouco.
Tenho um trabalho para programar um jogo e pedia ajuda para aquilo que fiz, para que me indicassem os erros, o que pode estar mal pois o programa não corre ou não compila.
O que é pedido é
Alínea A) Uma carta
Faça um programa que pede ao utilizador um número entre 0 e 39, e mostra a carta correspondente. O dígito menos significativo corresponde o número (0 ao 2, 1 ao 3, e assim sucessivamente até que o dígito 9 corresponde ao A), sendo a sequência completa a seguinte: 23456DVR7A. O dígito mais significativo corresponde ao naipe (0 a (copas), 1 a (ouros), 2 a (paus) e 3 a (espadas)). Utilizar os caracteres com o código ASCII 3 a 6 para representar o naipe (utilizar fonte Lucida Console).
Execução de exemplo:
Eis o que fiz, com base no manual de programação fornecido pelo professor.
O que falta? Tá assim tão errado? Este é o exercício mais fácil, ainda tenho mais 2 que se baseiam neste. Assim não consigo passar para os outros.
Por favor alguém me ajuda? Tenho de entregar o work até dia 28/11
Cumps,
Miranda
Tenho um trabalho para programar um jogo e pedia ajuda para aquilo que fiz, para que me indicassem os erros, o que pode estar mal pois o programa não corre ou não compila.
O que é pedido é
Alínea A) Uma carta
Faça um programa que pede ao utilizador um número entre 0 e 39, e mostra a carta correspondente. O dígito menos significativo corresponde o número (0 ao 2, 1 ao 3, e assim sucessivamente até que o dígito 9 corresponde ao A), sendo a sequência completa a seguinte: 23456DVR7A. O dígito mais significativo corresponde ao naipe (0 a (copas), 1 a (ouros), 2 a (paus) e 3 a (espadas)). Utilizar os caracteres com o código ASCII 3 a 6 para representar o naipe (utilizar fonte Lucida Console).
Execução de exemplo:
Código:
C:\>111111A
Introduza carta (0-39): 2
Carta introduzida: 4
C:\>111111A
Introduza carta (0-39): 10
Carta introduzida: 2
C:\>111111A
Introduza carta (0-39): 29
Carta introduzida: A
C:\>111111A
Introduza carta (0-39): 37
Carta introduzida: R
C:\>111111A
Introduza carta (0-39): 40
Carta introduzida:
Eis o que fiz, com base no manual de programação fornecido pelo professor.
Código:
# include <stdio.h>
int main()
{
int n;
int selected[40];
printf("Introduza carta (0-39): \n:");
scanf("%d", & n);
if (n<0||n>39)
printf("Erro: a Carta introduzida tem se ser entre 0 e 39.\n");
int input; // valor dado pelo utilizador
int naipe = input / 10; // valor do naipe (divisão inteira por 10)
int carta = input % 10; // valor da carta (resto da divisão inteira por 10)
char cartas[] = "23456DVR7A";
char carta_do_utilizador = cartas[carta];
char naipes[] = "copas,ouros,paus,espadas";
char naipe_do_utilizador = naipes[naipe];
printf("carta introduzida: \n");
}
O que falta? Tá assim tão errado? Este é o exercício mais fácil, ainda tenho mais 2 que se baseiam neste. Assim não consigo passar para os outros.
Por favor alguém me ajuda? Tenho de entregar o work até dia 28/11
Cumps,
Miranda