-
Posts
21 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por Relry
-
-
@RiXaRd hmm... não estou em casa agr para ver o codigo, mas eu olhei aqui e tenho outra dica pra você, quando você usa os operadores de incremento(++) e decremento(--) nas variaveis você acaba armazenando um novo valor a elas, ou seja...
if (tabuleiro[linha--][coluna--]=' ') { v[linha--][coluna--]='.'; }
acima se tivermos o valor de linha = 0 e coluna = 1 ao passar pelo if a verificação estaria tabuleiro[0][1] e logo após isso as suas variáveis teriam um valo a menos atribuído a elas, quando ele entrasse no if aconteceria um erro de memoria pois ele tentaria acessar um array que não existe em v[-1][0]
- 2
-
@RiXaRd tente apenas deixar a variavel tabuleiro global(a que esta fora da main) e apaga esta variavel local que esta dentro da escolha_mapa()
- 2
-
@RiXaRd cara, me parece que sua função escolha_mapa() esta setando os valores dos objetos do seu tabuleiro na variavel local desta função e não na variavel global tabuleiro, verifica isso amigo.
- 2
-
Como assim posicionar os argumentos? Poderia me mostrar um exemplo?
- 1
-
tenta colocar um "fflush(stdin)" antes do "gets"
- 1
-
@moisesC se você quer aconpanhar a declaração e valor de cada variavel (debugar), deve ter uma atalho igual a este no seu CB
no canto direito o penultimo item, clina na janelinha com um 'bug'(Debugging windows) e clica em "Watches", logo após você clica no segundo item da esquerda pra direita (Run to cursor), ai ele entra no modo depuração de linha a linha, só você ir apertando F7 pra ele pular para a proxima instrução... caso seu programa for muito grande é só marcar um "Breakpoint" onde quer começar a depurar e apertar no primeiro item "play vermelho"(Debug / Continue)
- 4
-
@Gustavo.A.Barroso Nunca fui muito fã de livros, sempre fui curioso e procurava coisas na internet video-aulas e tudo mais, mas uma vez comprei um livro na faculdade pra ajudar nos meus estudos "Treinamento em Linguagem C - Victorine Viviane Mizrahi", confesso que ele ajudou muito e ainda ajuda quando quero relembrar como faz determinada coisa, fala sobre as coisas mais básicas do programa em c até algumas coisas mais avançadas, também trata de ponteiros com códigos de exemplos intuitivos.
-
Hoje em dia meus amigos falam que eu sou louco por querer aprender assembly, mas por mais que isso não me dê algum futuro, conhecimento nunca é demais...
Eu uso o "GUI Turbo Assembler x64" no meu Windows 7 e estou tentando aprender um pouco sobre essa linguaguem, enfim minha duvida:
Se eu fizer uma MACRO no programa eu consigo passar uns "parametros" por exemplo:
PosCursor MACRO X, Y mov dl, X ; passa o valor da coordenada X para DL mov dh, Y ; passa o valor da coordenada Y para DH mov ah, 2h ; subfuncao para posicionar cursor mov bx, 0 ; subfuncao para posicionar cursor int 10h ; interrupção para posicionar cursor do console ENDM
E então eu poderia simplesmente usar ele assim:
PosCursor 5, 10 ; posiciona o cursor do console na posição X = 5 e Y = 10
Agora se eu criar uma Procedure(proc) e chamar ela com o comando "call" teria como passar parâmetros?
- 2
-
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> typedef struct { char nome[30]; char email[30]; char telefone[20]; } agenda; agenda* alocar(); void cadastro(agenda*, int *); int realocar(agenda *, int); void consultar(agenda *,int); int main() { int resp; int i = 0; agenda *p = alocar(); while (resp != 9) { printf("\n1 - Cadastrar"); //printf("\n2 - Alterar"); printf("\n3 - Consultar"); // printf("\n4 - Excluir"); // printf("\n5 - Pesquisar"); printf("\n9 - Sair\n"); printf("--> "); scanf("%d",&resp); fflush(stdin); switch(resp){ case 1: cadastro(p,&i); break; case 3: consultar(p,i); break; case 9: break; default: printf("Opcao invalida! "); } printf("\n\nPressione ENTER para continuar..."); getchar(); system("cls"); } return 0; } agenda* alocar() { agenda *p = (agenda*) malloc(1*sizeof(agenda)); if (p!= NULL) { return p; } else { printf("\nMEMORIA INSUFICIENTE\n"); exit(1); } } int realocar(agenda *p,int i) { p = (agenda*) realloc(p,i*sizeof(agenda)); if(p!= NULL) { //printf("\nRealocado com sucesso!"); return 1; } else { //printf("\nN foi possivel realocar!"); return 0; } } void cadastro(agenda*p, int *i) { if(!realocar(p, *i+1)){ // se não conseguir realocar printf("\nN foi possivel adicionar novo contato!"); return; } //int resp; int j = *i; printf("Digite o nome: "); gets(p[j].nome); printf("Digite o email: "); gets(p[j].email); printf("Digite um telefone: "); gets(p[j].telefone); j++; *i = j; /*printf("\nCadastrar mais (s-1/n-0): "); scanf("%d",&resp); system("cls"); while (resp == 1) { realocar(p,j); fflush(stdin); printf("\nDigite o nome: "); gets(p[j].nome); printf("Digite o email: "); gets(p[j].email); printf("Digite um telefone: "); gets(p[j].telefone); printf("\nCadastrar mais (s-1/n-0): "); scanf("%d",&resp); }//*/ } void consultar(agenda *p, int i) { if(i == 0) { printf("\nSem registro!\n"); return; } int k; for (k = 0; k < i; k++) { printf("\nID: %03d", k); printf("\nNome: %s",p[k].nome); printf("\nEmail: %s",p[k].email); printf("\nTelefone: %s\n",p[k].telefone); } }
@Gustavo.A.Barroso talvez esse código já te ajude, dei uma alterada em umas partes, da pra melhorar mais, poderia acrescentar um ponteiro para o próximo contado da agenda dentro da struct e um ponteiro global pro ultimo elemento (isso se você já aprendeu a mexer com pilha/lista)
-
for(i=0; i < n; i++){ a[i] = rand()%21-10; }
No laço 'for' que coloca os valores aleatórios no vetor você poderia mudar para esse que sortei de -10 até 10
- 1
-
@Gustavo Andretto seria uma boa se você usar ponteiros, caso você precise cadastrar mais de 10 alunos você terá um problema
- 1
-
@devair1010 por nada man, qualquer coisa só perguntar
- 1
-
@1freakday olha não ouvi falar q ela é instável quando procurei na net, até porque estou usando ela aqui numa boa e ta tudo dando certo por enquanto
- 2
-
13 minutos atrás, devair1010 disse:
@Gustavo Andretto esse código posiciona a setinha do windows na posição
certa . mas como pegar a posição do cursor na tela do console e posicionar
em outra posição que a gente quiser ?
Eu consegui fazer usando o GetConsoleScreenBufferInfo(), pra pegar informações do console como tamanho da tela, posição do cursor. Pra setar o cursor num novo lugar você pode usar SetConsoleCursorPosition()
- 1
-
@Gustavo Andretto Valeu cara, era disso que eu precisava hehe
- 1
-
Gostaria de saber como eu consigo saber qual a posição atual do cursor do console(x e y), pois preciso mudar ele e reposicionar no mesmo lugar logo após
- 1
-
esse comando só vai fazer a tela mudar de tamanho, mas gostaria que o usuário não pudesse alterar mais o tamanho, ficasse de um tamanho padrão, entendeu?
-
Se não me engano era um controle remoto de um carrinho, mas o carrinho parou de funcionar e o controle estava em bom estado
Muito obrigado amigo, deu pra esclarecer muito a minha duvida
-
Olá, sou novo na parte de eletrônica e uns dias atras desmontei um brinquedo velho, o mesmo ainda funcionava, mas se quer eu usava, foi então que decidi tirar todos suas peças para futuro uso, foi quando me deparei com uma pecinha comprida com 16 pinos(8 de cada lado), não sei se é um microcontrolador ou processador, alem disso não tinha nada escrito nele, a unica coisa quer tinha era uma bolinha de baixo dele escrito "F6", fora isso mais nada... ficarei grato se alguém me ajudar a saber o que é e a diferença de microcontrolador e processador.
-
Olá, gostaria de saber se é possível determinar uma resolução fixa na telinha do DOS, se existe algum comando que não deixe o usuário alterar o tamanho dela.
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
Batalha naval em c++
em C/C#/C++
Postado
@RiXaRd simples cara, o seu unico erro foi ter colocado a atribuição no lugar onde era pra ser uma comparação, veja
if (tabuleiro[linha--][coluna--]=' ') { v[linha--][coluna--]='.'; }
eu nem tinha reparado, mas o certo é
if (tabuleiro[linha--][coluna--] == ' ') { v[linha--][coluna--]='.'; }
com 2(dois) = (iguais)
@RiXaRd eu cheguei a modificar um pouco seu codigo, caso queira aproveitar alguma coisa esta ai
@RiXaRd Outra coisa... qualquer duvida ou se precisar de ajuda pra randomizar a posição dos navios só dar um toque.