Ir ao conteúdo

devair1010

Membro Pleno
  • Posts

    6.318
  • Cadastrado em

  • Última visita

Tudo que devair1010 postou

  1. @Mateus Souza Silva de Mari essa questão parece ser do uri online judge, se for então poste qual o número dela .
  2. @Hokague esse erro é por que esse código está incompleto, e como você disse que está começando agora, então vou colocar um exemplo de como fazer , com apenas a função cadastrar , as funções de listar e alterar, você vendo como foi feita esta , fará as outras, então esse código pode ser assim : #include <stdio.h> #include <conio.h> #include <windows.h> int contador;/* colocando aqui antes da main a variável */ /* será inicializada com valor zero*/ char nome[10][30],endereco[10][30],sair='s'; int telefone[10],i,op,contador; void cadastrar(){/* esta é a função para cadastrar */ do{ printf("Digite O Nome Da Pessoa "); fflush(stdin); gets( nome[contador] );/* gets por é para pegar string */ . /* se fosse inteiro usaria scanf */ . . aqui o código para cadastrar o telefone e o endereço . . contador++; printf("Quer Cadastrar Outra Pessoa S/N "); scanf("%c",&sair); }while(sair!='n'); } void listar(){/* esta é a função para mostrar o que foi cadastrado */ system("cls"); printf("Listando Todos Os Cadastros !\n"); . . aqui coloque o código para imprimir todos as pessoa e endereços e telefone cadastrados . . printf(" Tecle"); getch(); } void alterar(){/* função para alterar os dados */ . . aqui coloque o código para fazer as alterações nos dados da lista . . } int main(){/* aqui é a função main */ do{ system("cls"); printf("===== menu da lista =====\n\n"); printf("1 - Cadastrar\n"); printf("2 - Listar Todos\n"); printf("3 - Alterar Dados\n"); printf("4 - Sair Da Lista\nopcao -%c ",16); scanf("%d",&op); switch(op){ case 1: cadastrar(); break; . . aqui a chamada para as outras funções . . case 4: break; default: printf("Opcao Invalida ! Tecle"); getch(); } }while(op != 4 ); return 0; }
  3. @Henrique Negri isso por tem algum erro dentro da função verificar_data dentro desse for for (i=0;i<quant;i++){ if (datass[i]%10000 >= ano_hoje){ if ((datass[i]/10000)%100>= mes_hoje){ if ((datass[i]/10000)/100 >= dia_hoje){ maiores[i]=datass[i]; maior++; } } else{} menores[i]=datass[i]; menor++; } } ele coloca os valor do maior e menor fora de faixa . por isso na função print_data ele imprime um valor aleatório de acordo com o valor da variável menor e maior . vamos analisar essa função verificar_data .
  4. @Henrique Negri esse erro é por que não pode converter int para ponteiro , então ou você coloca a variável como ponteiro assim : int *maiores, *menores; e na chamada da função coloca assim : verificar_data(datas, *maiores , *menores, menor, maior); ou coloca como vetor normal, e na chamada da função coloca assim : verificar_data(datas, maiores , menores, menor, maior);
  5. @Luan Ynnaê você não disse se pode usar vetor, pois se puder seria mais fácil e o código ficaria bem menor, mas como você está começando então creio que você ainda não estudou sobre vetores, então essa questão 16 sem usar vetor, é do jeito que você está fazendo mesmo, apenas que na hora de exibir os resultados precisa uma melhor organização, pois do jeito que está ele vai imprimir um monte de coisas que você não vai saber o que significa, então é melhor imprimir um nome de cada vez e tudo referente a ele, então depois de pegar todos os dados, imprima os resultados assim : escreval Escreval("Nome --------------- : ",N1) Escreval("Identificador ------ : ",NumId) Escreval("Peso --------------- : ",Peso) Escreval("Quantidade em estoque: ",Quant) Escreval("Valor -------------- : ",Valor) . . . repete esse código para os outros nomes
  6. @Hokague o melhor é você fazer por partes, uma de cada vez, então faça primeiro a parte de cadastrar a pessoa, então para cadastrar você cria um vetor do tipo char para guardar o nome das pessoas, e outro para o endereço e outro do tipo int para o telefone, crie a função cadastrar e nela coloque um loop do / while enquanto quiser cadastrar, e um contador começando de zero para indicar a posição nos vetores , e dentro do do / while pegue o nome da pessoa, o telefone e o endereço, usando os comandos gets e scanf assim : printf("Digite O Nome Da Pessoa "); fflush(stdin); gets( nome[contador] ); printf("Digite O Telefone "); fflush(stdin); scanf("%d",& telefone[contador]); contador++; e depois pergunta se quer cadastrar outra pessoa S / N , e coloca o scanf para pegar a resposta se for S repete tudo de novo, senão passa pelo while , e terminou esta função de cadastrar . Depois criar uma função para listar o que foi guardado nos vetores . faça essa primeira parte e poste aqui para podermos ver como está e em que podemos ajudar .
  7. @sasaakii você tem certeza que esse código está funcionando ? , pois quando rodei ele, não consegui saber o que fazer pois não tem nenhuma informação explicando o que fazer, então digitei alguns valores mas não deu em nada . poste o enunciado desse programa e o que você quer que o programa faça .
  8. @ThiagoSiqueira você colocou para pegar um nome antes do enquanto, e precisaria pegar os nomes dentro do enquanto, e a concatenação dos nomes precisa ser feita depois de pegar o nome com o comando leia, então seu código com algumas modificações seria assim : Algoritmo "escola_2" // Professor : Melise Maira Veiga de Paula // Data atual : 30/03/2018 Var n,cont:inteiro nome,nomes:caracter Inicio escreval("Digite um valor N p listar") // o usuario é informado p digitar leia(n) // o valor N é lido cont<-0 // a variavel cont é inicializada enquanto (nome <> "FRANCISCO") e (n <> cont) faca // enquanto a var nome escreval("Digite um nome") //o usuario é informado p digitar leia(nome) // o nome é lido cont<-cont+1 //é definida a var cont nomes<-nomes+" "+nome //é definida a var nomes fimenquanto escreval(nomes) //após o final das condições a variavel nomes é impressa Fimalgoritmo
  9. @leticia96 parece que é problema na placa ou no processador . se tiver outro coloque para testar ou outra placa .
  10. @FK_ no delphi não sei, mas no pascal é assim , no lugar de Z := (Mod X) + (Mod Y); coloque a variável Y como do tipo integer e essas linhas aqui : for i:=1 to Y do begin if i mod 2 <> 0 then begin z:=z+i; end; end;
  11. @JULIOLIMAPILOTO não encontrei o código nesse link que você postou .
  12. @Rodrigospringfield89 não tem problema , podes enviar quantas mensagem quiser, poste seu código final para vermos como ficou e para ajudar outros usuários .
  13. @JULIOLIMAPILOTO esse código que você enviou não está compilando por que está faltando alguns códigos referentes a esses includes : #include "portable.h" #include "game.h" #include "text.h" #include "play.h" #include "menu.h" #include "advance.h" se você tiver esses códigos então poste eles também .
  14. @JULIOLIMAPILOTO nesse código que você postou, não é impresso nenhuma linha, apenas pega o valor de algumas variáveis, então se você for imprimir uma dessas variáveis você pode usar um comando que posicione o cursor no local onde você quer imprimir, e na linguagem c esse comando precisa ser criado , pois ele não existe normalmente, e esse comando criado seria uma função assim : #include <windows.h> void gotoxy(int x, int y){ COORD c; c.X = x; c.Y = y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c); } então você verifica se chegou na metade e enquanto for menor ou igual vai aumentando a coluna onde imprimir e se for maior que essa metade então vai diminuindo a coluna onde imprimir, só até zero, então seria algo assim : int coluna=0; int linha=onde vai começar a imprimir; metade = rown/2; if(rown<=metade) if(coluna<60) coluna++; else if(coluna>-1) coluna--; gotoxy(coluna,linha); printf("%d",variavel);
  15. @Rodrigospringfield89 para verificar a condição de vitória você pode usar algo mais simples , por exemplo você pode colocar dentro da função escolha alguma coisa assim : } else{/* se tentar colocar um disco maior emcima de um menor */ printf("\n\nJogada Invalida, Tente Outra !\n\n Tecle\n"); m--; getch(); } exibirtorres(); } if(flag==0 && linha==2){/* se tentar mover peça de onde não tem */ printf("\n\nNao Tem Peca Nessa Torre !\n\n Tecle"); getch(); exibirtorres(); } } if(torre[0][2]==1 && torre[1][2]==2 && torre[2][2]==3)fim++;/* se colocar todos discos na terceira torre na ordem certa */ if(torre[0][1]==1 && torre[1][1]==2 && torre[2][1]==3)fim++;/* se colocar todos discos na segunda torre na ordem certa */ }while(!fim); printf("\n\n > Jogo Terminado Com %d Movimentos\n",m); printf(" > Parabens, voce Venceu . . . !\n\n Tecle\n\n"); getch(); e na hora de pegar a origem e o destino use um do / while de forma que só possa digitar os números 1 ou 2 ou 3 de acordo com os discos que se quer mover e as torres para onde se quer mover esses discos, assim não haverá erros .
  16. @Evil Emperor Zurg costumo resetar a bios para que ela volte ao padrão de fábrica, e assim volta a dar vídeo .
  17. @Evil Emperor Zurg costumo instalar pelo dvd ainda não formatei nem instalei com pendrive , mas parece que há um erro no seu pendrive . com dvd é bem fácil .
  18. @Evil Emperor Zurg creio que seja melhor clicar em f2 e continuar .
  19. @Evil Emperor Zurg você disse que o pc liga , mas como sabe que ligou ? pode ser que a fonte esteja com problemas .
  20. @Evil Emperor Zurg creio que não foi pelo fato de ter mudado o boot que aconteceu isso não, provável que seja alguma coisa no hardware , então remova a placa de vídeo e limpe as memórias com uma borracha e coloque só uma memória e teste com o vídeo onboard .
  21. @Arylson Costa então seu dev c++ não está funcionando bem não, pois aqui eu testei e quando pressiono espaço ele coloca um espaço na linha normalmente, mas existe uma ide melhor que esse dev c++ que é o codeblocks que pode ser o da versão 16.01 , que é o que eu uso, pois ele tem vários recursos como identação automática, sugestão de comandos e outras , e nele você pode criar códigos para a linguagem c ou c++ , open GL que você escolhe na hora que vai criar um novo código . você pode baixar o codeblocks nesse link : https://code-blocks.soft32.com/free-download/
  22. @anonimo1w aqui uma configuração simples e boa : placa-mãe --> gigabyte -- R$ 379,00 https://www.kabum.com.br/produto/88188/placa-mãe-gigabyte-p-intel-lga-1151-matx-ga-b250m-ds3h-ddr4/?tag=placa-mãe gigabyte para intel ddr4 processador intel g4560 ---> R$ 240,00 https://www.kabum.com.br/produto/86328/processador-intel-pentium-g4560-kaby-lake-cache-3mb-3-5ghz-lga-1151-intel-hd-graphics-610-bx80677g4560/?tag=Processador Intel Pentium G4560 Kaby Lake, Cache 3MB, 3.5Ghz, LGA 1151, Intel HD Graphics 610 BX80677G4560 memoria corsair 8 gb --- R$ 500,00 https://www.kabum.com.br/produto/75803/memoria-corsair-8gb-2133mhz-ddr4-cl15-cmv8gx4m1a2133c15 ssd green 120 gb ---> R$ 235,00 https://www.kabum.com.br/produto/94937/ssd-wd-green-2-5-120gb-sata-iii-6gb-s-leituras-540mb-s-e-gravacoes-430mb-s-wds120g2g0a/?tag=ssd green fonte corsair 450w --> R$ 220,00 https://www.kabum.com.br/produto/91021/fonte-corsair-450w-80-plus-bronze-cx450-cp-9020120/?tag=fonte corsair total R$ 1 574,00
  23. @Rodrigospringfield89 é dentro do laço que precisa verificar em qual posição vai colocar , então você pode usar alguma coisa parecido com isso : void escolha(){//função para escolher as torres int fim=0;/* para controlar o while */ do{ printf("\n\nInforme a torre origem: \n\n(1) - Torre 1 \n(2) - Torre 2 \n(3) - Torre 3 \n\n "); scanf("%d", &eto); exibirtorres(); printf("\n\nInforme a torre destino: \n\n(1) - Torre 1 \n(2) - Torre 2 \n(3) - Torre 3 \n\n "); scanf("%d",&etd); if(eto==1){//laço para zerar o disco escolhido na torre de origem for(linha=0;linha<3;linha++){ if(torre[linha][0]>0){ aux=torre[linha][0]; torre[linha][0]=0; if(torre[2][etd-1]==0) torre[2][etd-1]=aux; else if(torre[1][etd-1]==0){ torre[1][etd-1]=aux; } else if(torre[0][etd-1]==0) torre[0][etd-1]=aux; else printf("Jogada Invalida, Tente Outra !\n"); exibirtorres(); } } } else if(eto==2){ . . . coloca isso nos outros if e Remova a chamada da função escolha() que está dentro desses if's e também os if's que compara o etd e use um do / while para que volte ao começo, ao invés de chamar a própria função onde se está dentro . . . . if(torre[0][2]==1 && torre[1][2]==2 && torre[2][2]==3)fim++; }while( ! fim );/* isso siginifica enquanto não fim, que é enquanto fim = zero */ printf("\n\nParabens, voce Venceu . . . !\n\n"); getch(); }
  24. @Rodrigospringfield89 não está colocando o número na terre escolhida por que precisa colocar a linha com os comandos para fazer isso nas três possibilidades se eto for 1 ou 2 ou 3 : void escolha(){//função para escolher as torres printf("\n\nInforme a torre origem: \n\n(1) - Torre 1 \n(2) - Torre 2 \n(3) - Torre 3 \n\n "); scanf("%d", &eto); printf("\n\nInforme a torre destino: \n\n(1) - Torre 1 \n(2) - Torre 2 \n(3) - Torre 3 \n\n "); scanf("%d",&etd); if(eto==1){//laço para zerar o disco escolhido na torre de origem for(linha=0;linha<3;linha++){ if(torre[linha][0]>0){ aux=torre[linha][0]; torre[linha][0]=0; torre[linha][etd-1]=aux;/* essa linha aqui */ exibirtorres(); escolha(); } } } assim ele vai mostrar o número lá na torre escolhida, mas ainda precisa alguns ajustes, pois ele muda para a outra torre mas na mesma linha ( altura ) onde estava , e creio que deveria colocar o número na base da torre escolhida .
  25. @Thiago Felipe Soares Gonçalves se você quiser fazer na linguagem c e se esses bits puderem ser colocados em um vetor então seria fácil, você colocaria os bits assim : int vetor [8]={0,1,0,0,1,1,1,1}; int vetor2[8]; e para inverter use um loop pegando os bits em cada posição do vetor e coloca em outro vetor de mesmo tamanho na ordem inversa assim : for(i=0;i<8;i++) vetor2[7-i] = vetor[i]; e para deslocar os bits, como no seu exemplo você deslocou de dois em dois, use outro loop assim : for(i=0;i<8;i++) vetor2[i] = vetor2[i+2]; vetor2[6]=0;/* colocando zero no final dos bits */ vetor2[7]=0;

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!