elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [C] Mostrando datos de un vector de enteros
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [C] Mostrando datos de un vector de enteros  (Leído 2,240 veces)
Rockmore

Desconectado Desconectado

Mensajes: 18



Ver Perfil
[C] Mostrando datos de un vector de enteros
« en: 5 Diciembre 2010, 20:44 pm »

Saludos. Sigo con el black jack avanzando a mi ritmo, pero con otra traba. Y si resuelvo esto, el resto del programa lo doy por solucionado.

Bien, resulta que el formato de salida debe ser algo como:

"BLACK JACK

Tus cartas: 1 3 J 2 8

Valor total: 25

Deseas otra carta?"

Según este ejemplo, la primera jugada debe mostrar las dos primeras cartas, el valor total y la pregunta de coger otra carta, y al decir que sí, lo mismo, pero con la siguiente. En definitiva, que mientras aparece el texto de alrededor, primero se muestran dos cartas y luego de una en una.

Mi idea al hacer el código fue poner el primer texto de modo forzado, directamente con printf y punto, y las siguientes cartas ya en un do while. Esto es lo que tengo hecho de momento:

Código
  1.        system("cls");
  2.        printf("**************");
  3.        printf("\n* BLACK JACK *");
  4.        printf("\n**************");
  5.        printf("\nTus cartas: ");
  6.        if(baraja[0]==11){
  7.            printf("J ");
  8.            val=10;
  9.        }else if(baraja[0]==12){
  10.            printf("Q ");
  11.            val=10;
  12.        }else if(baraja[0]==13){
  13.            printf("K ");
  14.            val=10;
  15.        }else{
  16.            printf("%d ",baraja[0]);
  17.            val=baraja[0];
  18.        }
  19.        cartas=cartas+val;
  20.  
  21.        for(i=1;cartas<21;i++){
  22.            if(baraja[i]==11){
  23.                printf("J ");
  24.                val=10;
  25.            }else if(baraja[i]==12){
  26.                printf("Q ");
  27.                val=10;
  28.            }else if(baraja[i]==13){
  29.                printf("K ");
  30.                val=10;
  31.            }else{
  32.                printf("%d ",baraja[i]);
  33.                val=baraja[i];
  34.            }
  35.            cartas=cartas+val;
  36.            printf("\n\nEl valor de tus cartas es: %d",cartas);
  37.        }

La teoría es buena, obviando el hecho de que de este modo no se muestre el resto del texto, sin embargo, lo que me sale es algo como:

"BLACK JACK

Tus cartas: 1 3

J lor total: 4

2 lor total: 14

Valor total: 16"

Es decir, que sobreescribe la línea de valor total de la anterior tirada.

Una cosa que se me ocurrió fue meter todo el texto en un for o un do while, que borrase todo y lo volviera a escribir, aunque se me presentaban dos problemas: el primero, no saldrían las dos primeras cartas de golpe, y el segundo, que probablemente sólo saliera la última carta, pese a que cambie el valor total.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Datagrid mostrando datos de excel
.NET (C#, VB.NET, ASP)
Urpem 0 3,904 Último mensaje 8 Mayo 2009, 19:45 pm
por Urpem
Eliminar datos de un vector
Programación C/C++
gatusko 1 12,093 Último mensaje 16 Septiembre 2010, 12:25 pm
por satu
Como imprimir los valores de un vector de enteros?
ASM
xoker 5 7,840 Último mensaje 7 Enero 2014, 10:36 am
por xoker
eliminar datos duplicados array enteros
Java
javaman666 2 1,685 Último mensaje 9 Abril 2014, 12:28 pm
por Zoik
La versión GM filtrada de iOS 11 sigue «mostrando» nuevos datos del próximo ...
Noticias
wolfbcn 0 1,073 Último mensaje 11 Septiembre 2017, 01:56 am
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines