Ir ao conteúdo
  • Cadastre-se

random e goto em c???


Alpha Fenix

Posts recomendados

eu esto começando a programar em C/C++ e tava querendo fazer um programinha parecido com um que eu ja fiz so que era em pascal e eu to querendo saber quais são as funções corespondetes a :

random-->escolhe um numero aleatoruamente

e

goto---->cologa o ponteiro na determinada coordenada

valeu!!!

Link para o comentário
Compartilhar em outros sites

rand()%Até -> Assim ele gera um número de 0 até o número desejado menos . E para fazer ele pegar a partir de um número escolhido coloke: +De.

Ex.: rand()%2+5 -> gera ou 5 ou 6

goto Nome -> Não é um comando muito bom de usar, mas existe. Primeiro você tem que colocar na parte que deseja um Nome qualquer (que não seja somente número) com o :

Ex.:


#include <iostream>
using std::cout;
using std::cin;
using std::endl;
int main()
{
cout << "Oi" << endl;
cin.get();
goto Parte;
Final:
cout << "Tchau";
cin.get();
return 0;
Parte:
cout << "Isso \x82 um teste" << endl;
cin.get();
goto Final;
}

Falou

Malz num vi que era C.

Isso daí é C++, mas só muda o cout e algumas coisas

:)

Link para o comentário
Compartilhar em outros sites

valeu

pela explicação eu entedi +/- e vou testar aqui.

esse goto que eu tava falando finciona diferente ele manda o cursor para uma coordenada determinada.

esse e o programa que eu fiz em pascal e quero fazer em c/c++


program matrix;
uses crt;
var
x,y,a:integer;
begin
repeat
x:=random(80);//escolhe randomicamente um numero de 0 a 79
y:=random(22);//mesmo que o de cima so que e de 0 a 21
a:=random(2);//esse tb 0 ou 1
// esse goto coloca o cursor nas coordenada X,Y
// que foram escolhidas pela função random
gotoxy (x,y);
//coloca o texto com a cor verde
textcolor(lightgreen);
//escreve 0 ou 1
write(a);
until false;//repete enquanto a espressão for FALSE
end.

Link para o comentário
Compartilhar em outros sites

Ah... você quer é matriz bidimensional???

Só não entendi direito o que o programa faz e esse until false (Ele vai fazer eternamente ou só uma vez?)...

Eu acho que em C/C++ você nemprecisará do gotoxy

Acho que fica assim pelo o que eu entendi:


#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
char Matriz[22][80];//Matriz[Y][X]
for(int i=0;i<22;i++)for(int j=0;j<80;j++)Matriz[i][j]=NULL;//Inicializar a matriz com NULL
do{
srand(time(NULL));//Para pegar um número diferente senão o rand pegará sempre o mesmo número
int X=rand()%80, Y=rand()%22;
if(rand()%2==0)Matriz[Y][X]='1';else Matriz[Y][X]='0';
for(int i=0;i<22;i++)
{
for(int j=0;j<80;j++)
cout << Matriz[i][j];
cout << endl;//Pula uma linha
}
fflush(stdin);
cin.get();//Espera a tecla ENTER
}while(false);
return 0;
}

Link para o comentário
Compartilhar em outros sites

coloca em vez de false, true

AHHHHH

você quer o efeito matrix

Tem um jeito mais legal:


#include <iostream>
using namespace std;
int main(void)
{
system("COLOR 02");
char cAux[62]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','t','u','v','x','w','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','X','W','Y','Z','1','2','3','4','5','6','7','8','9','0'};
do{
cout << cAux[rand()%62] << ' ';
}while(true);
return 0;
}

Link para o comentário
Compartilhar em outros sites

system("COLOR XY")

X é a cor do fundo e Y é a da letra

Disponíveis:

0 PRETO

1 AZUL

2 VERDE

3 VERDE ÁGUA

4 VERMELHO

5 ROXO

6 AMARELO

7 BRANCO

8 CINZA

9 AZUL CLARO

A VERDE CLARO

B VERDE ÁGUA CLARO

C VERMELHO CLARO

D LILÁS

E AMARELO CLARO

F BRANCO BRILHANTE

Ex.: system("COLOR 0A") -> fundo preto com letra verde claro

Vê o programa que eu mandei acima

Link para o comentário
Compartilhar em outros sites

E aê brow? Se no windows, você pode usar as rotinas da API dele, para gotoxy()(Pascal) você pode usar SetConsoleCursorPosition(), e para mudar a cor do texto apenas de determinada parte (sem alterar o restante) assim como a textcolor() você pode usar SetConsoleTextAttribute()...

Aqui um exemplo, que tem saída identica ao teu programa em pascal:


#include<iostream>
#include<windows.h>
int main(void){
while(1){
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),(rand()%25==1)?15:10);
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),(COORD){rand()%80,rand()%24});
std::cout<<rand()%2;
}
return 0;
}

Espero que ajude, abraço, falou...

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para 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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!