Ir ao conteúdo

Posts recomendados

Postado

Tenho um programa em linguagem C para simular uma máquina caça-níqueis. Esta máquina possui três rodas que giram quando uma alavanca é puxada. Cada roda possui seis símbolos ( $ # # @ @ @ ). Sempre que se puxa a alavanca, as rodas giram e, independentemente, cada uma delas pára em um desses símbolos.

A geração dos símbolos deve usar funções de geração de números aleatórios (funções do C: srand, rand, etc. – pesquisem). Não estou com problema de fazer o rand

C A Ç A - N Í Q U E L

APOSTA RODAS

Moedas de R$ 0,25 : 0___

R$ 0,50 : 10__ @ $ $

R$ 1,00 : 0___

Parabéns!! Você ganhou R$ 35,00

Montei este código:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int i, lanca;
char caracter;
srand(time(NULL));


lanca=rand()%6;
if(lanca=1 || lanca=2 || lanca=3){
caracter='@';
}
if(lanca=4 || lanca=5){
caracter='#';
}
if(lanca=6){
caracter='$';
}

}

Postado

Na função vai aparecer a quantidade de moeda que o usuário vai apostar. Eu preciso multiplicar a quantidade de moedas com o valor correspondente, por exemplo sair na roleta $$$ eu vou 30 vezes o valor da aposta. Como coloquei ponteiros não consigo multiplicar a quantidade de moedas pelo o valor.

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <ctype.h>
#include <windows.h>
#include<time.h>


void gotoxy (int x, int y) { // prototipo igual ao da gotoxy do TurboC: x = coluna, y = linha
COORD point;
point.X = x; point.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), point);
}

void titulo(){
gotoxy(35,2); puts("CA\200A-NIQUEL");
}

void entrada(){
int coluna;
coluna= 3;

do {
gotoxy (coluna, 4); printf("%c",196); coluna++;
} while ( coluna != 77);coluna= 3;
do {
gotoxy (coluna, 6); printf("%c",196); coluna++;
} while ( coluna != 77);coluna= 3;
do {
gotoxy (coluna, 11); printf("%c",196); coluna++;
} while ( coluna != 77);

gotoxy(15,5); puts("S\641mbolo");
gotoxy(15,7); puts("$$$");
gotoxy(15,8); puts("$$_");
gotoxy(15,9); puts("###");
gotoxy(15,10); puts("##_");

gotoxy(40,5); puts("Valor a ser pago");
gotoxy(40,7); puts("30 vezes o valor da aposta");
gotoxy(40,8); puts("7 vezes o valor da aposta");
gotoxy(40,9); puts("5 vezes o valor da aposta");
gotoxy(40,10); puts("5 vezes o valor da aposta");
}

void aposta(int *pquant_a, int *pquant_b, int *pquant_c){
char opcao;

gotoxy(13,15); puts("APOSTA");
gotoxy(8,17); puts("Moedas de R$ 0,25:");
gotoxy(8,18); puts("Moedas de R$ 0,50:");
gotoxy(8,19); puts("Moedas de R$ 1,00:");

do{

do {
gotoxy (27,17); scanf("%d",pquant_a);
} while (pquant_a<0);
do {
gotoxy (27,18); scanf("%d",pquant_;
} while (pquant_b<0);
do {
gotoxy (27,19); scanf("%d",pquant_c);
} while (pquant_c<0);



gotoxy(8,20); puts("Comfirma aposta(S/N)?");
gotoxy(30,20); opcao=toupper(getche());
}while(opcao != 'N');
}


int rodas(){
int lanca;
char caracter;
srand(time(NULL));
gotoxy(45,16); puts("RODAS");

lanca= 1 + (rand()%6);
if(lanca==1 || lanca==2 || lanca==3){
caracter='@';
}
if(lanca==4 || lanca==5){
caracter='#';
}
if(lanca==6){
caracter='$';
}
gotoxy(43,18);printf("%c", caracter);

lanca= 1 + (rand()%6);
if(lanca==1 || lanca==2 || lanca==3){
caracter='@';
}
if(lanca==4 || lanca==5){
caracter='#';
}
if(lanca==6){
caracter='$';
}
gotoxy(45,18);printf("%c", caracter);

lanca= 1 + (rand()%6);
if(lanca==1 || lanca==2 || lanca==3){
caracter='@';
}
if(lanca==4 || lanca==5){
caracter='#';
}
if(lanca==6){
caracter='$';
}
gotoxy(47,18);printf("%c", caracter);
}


int main(){
char opcao;
int quant_a, quant_b, quant_c, lanca;
double soma;
titulo();
entrada();
aposta(&quant_a, &quant_b, &quant_c);
rodas();


system("PAUSE");
return 1;
}

Não ficou muito bom, mas consegui chegar em um programa final

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <ctype.h>
#include <windows.h>
#include<time.h>


void gotoxy (int x, int y) { // prototipo igual ao da gotoxy do TurboC: x = coluna, y = linha
COORD point;
point.X = x; point.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), point);
}

void titulo(){
gotoxy(35,2); puts("CA\200A-NIQUEL");
}

void entrada(){
int coluna;
coluna= 3;

do {
gotoxy (coluna, 4); printf("%c",196); coluna++;
} while ( coluna != 77);coluna= 3;
do {
gotoxy (coluna, 6); printf("%c",196); coluna++;
} while ( coluna != 77);coluna= 3;
do {
gotoxy (coluna, 11); printf("%c",196); coluna++;
} while ( coluna != 77);

gotoxy(15,5); puts("S\641mbolo");
gotoxy(15,7); puts("$$$");
gotoxy(15,8); puts("$$_");
gotoxy(15,9); puts("###");
gotoxy(15,10); puts("##_");

gotoxy(40,5); puts("Valor a ser pago");
gotoxy(40,7); puts("30 vezes o valor da aposta");
gotoxy(40,8); puts("7 vezes o valor da aposta");
gotoxy(40,9); puts("5 vezes o valor da aposta");
gotoxy(40,10); puts("5 vezes o valor da aposta");
}

void aposta(int *pquant_a, int *pquant_b, int *pquant_c){
char opcao;

gotoxy(13,15); puts("APOSTA");
gotoxy(8,17); puts("Moedas de R$ 0,25:");
gotoxy(8,18); puts("Moedas de R$ 0,50:");
gotoxy(8,19); puts("Moedas de R$ 1,00:");

do{

do {
gotoxy (27,17); scanf("%d",pquant_a); fflush(stdin);

} while (pquant_a<0);
do {
gotoxy (27,18); scanf("%d",pquant_; fflush(stdin);
} while (pquant_b<0);
do {
gotoxy (27,19); scanf("%d",pquant_c); fflush(stdin);
} while (pquant_c<0);


gotoxy(8,20); puts("Comfirma aposta(S/N)?");
gotoxy(30,20); opcao=toupper(getche());
}while(opcao != 'N');
}

float soma(int quant_a, int quant_b, int quant_c){
return quant_a * 0.25 + quant_b * 0.50 + quant_c * 1.00;
}

int main(){
char opcao;
int quant_a, quant_b, quant_c, lanca;
float valor_aposta;
char caracter_a, caracter_b, caracter_c ;

titulo();
entrada();

do{
aposta(&quant_a, &quant_b, &quant_c);
valor_aposta= soma(quant_a, quant_b, quant_c);
//Rodas
srand(time(NULL));
gotoxy(45,16); puts("RODAS");
lanca= 1 + (rand()%6);
if(lanca==1 || lanca==2 || lanca==3){
caracter_a='@';
}
if(lanca==4 || lanca==5){
caracter_a='#';
}
if(lanca==6){
caracter_a='$';
}
gotoxy(45,18);printf("%c", caracter_a);

lanca= 1 + (rand()%6);
if(lanca==1 || lanca==2 || lanca==3){
caracter_b='@';
}
if(lanca==4 || lanca==5){
caracter_b='#';
}
if(lanca==6){
caracter_b='$';
}
gotoxy(47,18);printf("%c", caracter_;

lanca= 1 + (rand()%6);
if(lanca==1 || lanca==2 || lanca==3){
caracter_c='@';
}
if(lanca==4 || lanca==5){
caracter_c='#';
}
if(lanca==6){
caracter_c='$';
}
gotoxy(49,18);printf("%c", caracter_;

if(caracter_a=='$' && caracter_b=='$' && caracter_c=='$'){
gotoxy(8,25); printf("Parabéns!! Você ganhou R$: %f", valor_aposta * 30);
}
if(caracter_a=='$' && caracter_b=='$'){
gotoxy(8,25); printf("Parabéns!! Você ganhou R$: %f", valor_aposta * 7);
}
if(caracter_a=='#' && caracter_b=='#' && caracter_c=='#'){
gotoxy(8,25);; printf("Parabéns!! Você ganhou R$: %f", valor_aposta * 5);
}
if(caracter_a=='#' && caracter_b=='#'){
gotoxy(8,25);; printf("Parabéns!! Você ganhou R$: %f", valor_aposta *2);
}
else{
gotoxy(8,25); printf("Ops!! Não foi dessa vez");
}
gotoxy(8,26); puts("Deseja continuar (S/N)?");
gotoxy(33,26); opcao=toupper(getche());
}while(opcao != 'N');
return 1;

}

  • 3 anos depois...
Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...