Ir ao conteúdo
  • Cadastre-se

devair1010

Membros Plenos
  • Total de itens

    2.315
  • Registro em

  • Última visita

  • Qualificações

    0%

Reputação

1.567

Informações gerais

  • Cidade e Estado
    rio de janeiro/rj
  • Sexo
    Prefiro não dizer
  1. @Sergio Augusto Benotto olá , para você conseguir melhores resultados de ajudas , seria melhor você colocar suas dúvidas na seção de programação de microcontroladores , aqui :
  2. @Eduardo Cesar Lenz se esse dado recebido for uma string entao seu codigo esta certo , e para copiar uma string voce pode usar o comando strcpy assim : strcpy(dado_recebido,string); assim o caractere na posicao zero da variavel dado_recebido será z letra p .
  3. @Marcela da Silva de Souza poste seu código para vermos como está e em que podemos ajudar .
  4. @Thassyano Rodrigues para você imprimir o ticket você coloca os dados que pegou anteriormente , então seu código com algumas modificações poderia ser assim : #include <stdio.h> #include <windows.h> #include <stdlib.h> #include <math.h> void gotoxy(int x, int y){ COORD c; c. X = x; c. Y = y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c); } int Cadeiras [20][20]; int main(){ //Teatro da faculdade// int carac[8]={179,47,196,92,179,47,196,92}; int op=1,lin,col,cond,i,j, n, t, x, y; char ascii = 79; char asciii = 158; do{ printf("1 - Comprar ingresso\n"); printf("2 - Ver disposicao das cadeiras\n"); printf("3 - Reintegrar\n"); printf("4 - Escolha concluída\n"); j=0; HANDLE hOut; /* controle dos dispositivos do pc */ hOut= GetStdHandle(STD_OUTPUT_HANDLE); /* pega a saída padrão */ CONSOLE_SCREEN_BUFFER_INFO SBInfo; /* informações sobre a buffer da tela */ GetConsoleScreenBufferInfo(hOut, &SBInfo);/* pega a posição do cursor do console */ x = SBInfo.dwCursorPosition.X; /* X será a posição x do cursor no console */ y = SBInfo.dwCursorPosition.Y; /* Y será a posição y do cursor no console */ do{ for(n=0;n<8;n++){ if(kbhit()){ gotoxy(x+10,y+1); printf(" \n"); op=getche()-48; j=10; break; } gotoxy(x+10,y+1); printf(" %c",carac[n]); /* gira o caractere na tela */ Sleep(100); /* dorme um tempinho */ } }while(j==0); printf("\n"); switch(op){ case 1://vender ingresso do{ printf("\nFila: "); scanf("%d",&lin); printf("\nColuna: "); scanf("%d",&col); if(Cadeiras[lin-1][col-1]!=0){ printf("essa Poltrona esta ocupada !\n"); printf("escolha outra conforme esse mapa :\n"); printf("onde eh X esta ocupada !\n"); printf(" 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20\n"); for(j=0;j<20;j++){ printf("%2d - ",j+1); for(i=0;i<20;i++){ if(Cadeiras[j][i]==1) printf("X "); else printf(". "); } printf("\n"); } } }while(Cadeiras[lin-1][col-1] != 0); Cadeiras[lin-1][col-1]=1; printf("\tInforme sua forma de pagamento\n"); printf("1 - Dinheiro\n"); printf("2 - Cartao\n"); scanf("%d",&op); if(op==1){ printf("1 - Entrada meia : 5,00\n"); printf("2 - Entrada inteira : 10,00\n"); scanf("%d",&j); printf("Seu ingresso foi adquirido com sucesso!\n\n"); HANDLE hOut; /* controle dos dispositivos do pc */ hOut= GetStdHandle(STD_OUTPUT_HANDLE); /* pega a saída padrão */ CONSOLE_SCREEN_BUFFER_INFO SBInfo; /* informações sobre a buffer da tela */ GetConsoleScreenBufferInfo(hOut, &SBInfo);/* pega a posição do cursor do console */ x = SBInfo.dwCursorPosition.X; /* X será a posição x do cursor no console */ n = SBInfo.dwCursorPosition.Y; /* Y será a posição y do cursor no console */ printf("\n Seu Ticket %c\n\n",169); printf(" Poltrona ---> %d\n",(lin-1)*20+col); printf(" Valor pago -> %d\n",j*5); printf(" Com Dinheiro !\n\n"); for(j=0;j<30;j++){ if(j<8){ gotoxy(0,n+j); printf("%c",186); gotoxy(30,n+j); printf("%c",186); } gotoxy(j,n); printf("%c",205); gotoxy(j,n+8); printf("%c",205); } gotoxy(0,n );printf("%c",201); gotoxy(0,n+8 );printf("%c",200); gotoxy(30,n );printf("%c",187); gotoxy(30,n+8);printf("%c",188); gotoxy(0,n+10); } break; case 2://ver disposição das cadeiras n=0; printf("\tC\n\tO\n\tL\n\tU\n\tN\n\tA\n"); printf("LINHA"); printf("\t 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19\n"); for(i=0 ; i<20; i++){ printf("\t"); n==1; printf("%2d ",n); n++; for(j=0 ; j<20 ; j++){ if(Cadeiras[i] [j]==0){ printf("%c ",ascii); } else printf("%c ",asciii); } printf("\n"); } printf("\n"); printf("-------------------------------------------------------------\n"); break; case 3://3-Reintegrar printf("Reintegrar UMA (1)....\nReintegrar TUDO(2)..."); scanf("%d",cond); if(cond==1){ printf("\nFila : "); scanf("%d",&lin); printf("\nCadeira : "); scanf("%d",&col); Cadeiras [lin-1][col-1]=0; } else for( i=0;i<10;i++){ for( j=0;j<40;j++){ Cadeiras[i][j]=0; } } break; default: op=0; } }while(op!=0); system("pause"); printf("\n\n"); return 0; }
  5. @ytalopaulo_ verificar se são adjacentes é se um número é próximo ao outro e nesse caso o próximo seria uma posição a mais ou a menos , então seu código poderia ser assim : if(matriz[0][1]== 8 || matriz[0][1]== 10){ /* são adjacente ao 9 ? */ aux = matriz[0][1]; /* preserva o valor da posição 0 x 1 */ matriz[0][1] = matriz[1][1]; /* onde está o nove */ matriz[1][1] = aux; /* coloca o valor na nova posição */ }
  6. @tecmec nessa questão 3 , você vai precisar usar três variáveis do tipo int para os valores inicial e final e no controle do loop , e uma do tipo float para os graus em fahreheit , e então depois de pegar o valor inicial e final usando o scanf , você coloca um loop for começando do valor inicial e indo até enquanto for menor ou igual ao valor final , e dentro do loop você faz a conversão usando aquela formula ( F=1.8 * c + 32 ) onde c é a variável de controle do loop , e imprime o resultado na tela , mas não posso te dar o código pronto pois é contra as regras do fórum , então faça seu código e poste aqui para vermos como está e em que podemos ajudar .
  7. @Alisson Neres no loop for ainda esta errado , voce colocou o sinal maior que > , mas ali deveria ser o sinal menor que < , e o for deveria comecar em zero e nao em 100 , e nao faz sentido modificar a variavel de controle do loop , entao nao precisa do scanf dentro desse for , que deveria ser assim. : for(a=0;a<100;a++) e nao precisa de colocar ponto e virgula depois do for .
  8. @WillWillian qual número 4 ? , essa parte : para i de 1 ate 24 faca para j de i+1 ate 25 faca se vetor_25_par > vetor_25_par[j] ENTÃO aux := vetor_25_par vetor_25_par := vetor_25_par[j] vetor_25_par[j] := aux fimpara fimpara serve para ordenar o vetor colocando os números em ordem crescente , e para saber se é par ou ímpar você usa o operador lógico mod , se vetor_80_1[p] mod 2 = 0 ENTÃO //numero é par ? ok := falso senao então se o resultado for zero é por que o número é par e se for qualquer outro número então é por que é ímpar .
  9. @Artinit o java eh uma boa opcao , mas voce já experimentou o Delphi 7. ? com ele eh fácil criar botões e trabalhar com imagens , mas um bom programa para criacao de jogos eh o Blitz3,D , que possui linguagem basic muito fácil e comandos para usar imagens e som .
  10. @WillWillian para saber se um número é par ou ímpar você usa o operador lógico mod , então esse código poderia sr assim : algoritmo "Algoritmo exercicio de numeracao3" var vetor_100 : vetor [1..100] de inteiro //vetor armazena 100posiçoes vetor_80_1 : vetor [1..80 ] de inteiro //vetor armazena 80 posições vetor_25_par: vetor[1..25 ] de inteiro vetor_25_impar: vetor[1..25] de inteiro p : inteiro //auxiliar para posicionar o vetor i,j,aux : inteiro //auxiliar para percorrer o vetor OK : logico //flag para verificar se a etapa foi realizada com sucesso aguardar : caracter //variável criada apenas para aguardar um ENTER na interação com o usuário Inicio //MudaCor("Preto","Frente") --> caracter Azul //MudaCor("Branco","Fundos") --> fundo branco //gera os 100 números do vetor inicial escreval("GERANDO OS 100 NÚMEROS INICIAIS...") para p de 1 ate 100 faca vetor_100[p]:=p fimpara escreval("Tecle Enter") leia(aguardar) escreval("NÚMEROS GERADOS COM SUCESSO!") //exibe os 100 números gerados escreval escreval("Aqui estão os 100 números iniciais") p:=1 para i de 1 ate 10 faca //cada linha para j de 1 ate 10 faca //cada coluna escreva(vetor_100[p]:4) p:=p+1 fimpara escreval//para pular para a linha de baixo fimpara //Sorteia os primeiro 80 números do vetor de 100 posições escreval("Vamos Escolher Aleatoriamente Os Primeiros 80 Números Dos 100") para i de 1 ate 80 faca repita // repite se precisar ok := verdadeiro p:=randi(100)+1 // gera um número aleatorio se vetor_100[p]=0 ENTÃO //numero foi deletado ok := falso fimse para j de 1 ate 80 faca //verifica os numeros se ok = verdadeiro ENTÃO //se o número não houver sido deletado se vetor_80_1[j] = vetor_100[p] ENTÃO//se no vetor já houver o numero gerado ok := falso interrompa fimse fimse fimpara se ok = verdadeiro ENTÃO vetor_80_1[i] := vetor_100[p] fimse ate ok fimpara escreval("Os Primeiros 80 Números Foram Gerados Com Sucesso") //escrevando os primeiros números gerados aleatórios escreval("Aqui Estão Os primeiros 80 Números Gerados Aleatórios") p:=1 para i de 1 ate 16 faca para j de 1 ate 5 faca escreva(vetor_80_1[p]:4) p := p+1 fimpara escreval//para pular para a linha de baixo fimpara escreval("Vamos Gerar Os Vinte e Cinco Números Pares") para i de 1 ate 25 faca repita // repite se precisar ok := verdadeiro p:=randi(80)+1 // gera um número aleatorio se vetor_80_1[p] mod 2 <> 0 ENTÃO //numero é impar ? ok := falso senao para j de 1 ate 25 faca //verifica se já tem esse numero se vetor_80_1[p] = vetor_25_par[j] ENTÃO//se no vetor já houver o numero gerado ok := falso interrompa fimse fimpara se ok = verdadeiro ENTÃO vetor_25_par[i] := vetor_80_1[p] fimse fimse ate ok fimpara para i de 1 ate 24 faca para j de i+1 ate 25 faca se vetor_25_par[i] > vetor_25_par[j] ENTÃO aux := vetor_25_par[i] vetor_25_par[i] := vetor_25_par[j] vetor_25_par[j] := aux fimse fimpara fimpara escreval("Aqui estão Os Vinte e Cinco Pares") para i de 1 ate 25 faca escreva(vetor_25_par[i]:4) se (i = 10) ou ( i=20) entao escreval fimse fimpara escreval("Vamos Gerar Os Vinte e Cinco Números ímPares") para i de 1 ate 25 faca repita // repite se precisar ok := verdadeiro p:=randi(80)+1 // gera um número aleatorio se vetor_80_1[p] mod 2 = 0 ENTÃO //numero é impar ? ok := falso senao para j de 1 ate 25 faca //verifica se já tem esse numero se vetor_80_1[p] = vetor_25_impar[j] ENTÃO//se no vetor já houver o numero gerado ok := falso interrompa fimse fimpara se ok = verdadeiro ENTÃO vetor_25_impar[i] := vetor_80_1[p] fimse fimse ate ok fimpara para i de 1 ate 24 faca para j de i+1 ate 25 faca se vetor_25_impar[i] > vetor_25_impar[j] ENTÃO aux := vetor_25_impar[i] vetor_25_impar[i] := vetor_25_impar[j] vetor_25_impar[j] := aux fimse fimpara fimpara escreval("Aqui estão Os Vinte e Cinco ímPares") para i de 1 ate 25 faca escreva(vetor_25_impar[i]:4) se (i = 10) ou ( i=20) entao escreval fimse fimpara fimalgoritmo
  11. @Kzeshine se você quiser excluir apenas os dados de uma variável da struct , você pode colocar o valor zero nessa variável se ela for int ou um espaço se for char , assim quando for pesquisar os dados e nele estiver zerado ou vazio é por que foi deletado .
  12. @Devair Augusto da Silva Ola , depois que voce abrir o arquivo txt voce pode usar o fscanf que pega os dados no arquivo ate encontrar um espaco , e entao assim que pegar cada dado do arquivo voce coloca na variavel da struct , assim : Escola esc[1000]; while(dado1 != eof){ fscanf(arq,"%c",&dado1); esc[cont].sexo = dado1; fscanf(arq,"%d",&dado2); esc[cont].idade = dado2; fscanf(arq,"%s",dado3); strcpy(esc[cont].nome , dado3); }
  13. @Kzeshine para excluir , você encontra em qual posição do vetor de struct estão os dados à excluir , e então você vai pegando a posição seguinte e coloca em cima da posição onde está e faz assim até o final e decrementa a qtdfuncionario , exemplo : for(q = posicao onde esta o dado ; q < tam ; q++){ Smercado[q] = Smercado[q+1]; } qtdfuncionario--; isso apaga todos os dados daquela posição do vetor de struct .
  14. @Kzeshine essa questão de colocar menos hum é porque os vetores começam em zero , então se digitar para alterar o primeiro ( 1 ) cliente , esse cliente na verdade está guardado na posição zero do vetor e se você gravar na posição digitada ele vai gravar na posição hum mesmo que não será a verdadeira posição , e testei aqui mas ele está sim modificando os dados do cliente , teste pedindo para visualizar o nome do cliente depois de modifica-lo , e ele está certo .
  15. @Marcela da Silva de Souza no exemplo que você deu então o usuário vai digitar doze números que vão de zero até noventa e nove e depois você quer formar combinações de seis dezenas usando esses doze números , esse código pode ser assim : #include <stdio.h> #include <conio.h> int main(){ int i,j,q,t,r,w,vet[12],cont=0; FILE *arq=fopen("Minhas Combinacoes.txt","w"); for(j=0;j<12;j++){ printf("%d numero ",j+1); scanf("%d",&vet[j]); } printf("\n"); fprintf(arq,"%s","combinações com esses números --> "); for(j=0;j<12;j++){ printf("%d",vet[j]); fprintf(arq,"%d ",vet[j]); } printf("\n\n tecle\n\n"); fprintf(arq,"%s","\n\n"); getch(); for(i=0;i<6;i++){ for(j=i+1;j<12;j++){ for(q=j+1;q<12;q++){ for(r=q+1;r<12;r++){ for(t=r+1;t<12;t++){ for(w=t+1;w<12;w++){ printf("%d - %d - %d - %d - %d - %d\n" ,vet[i],vet[j],vet[q],vet[r],vet[t],vet[w]); fprintf(arq,"%d - %d - %d - %d - %d - %d\n" ,vet[i],vet[j],vet[q],vet[r],vet[t],vet[w]); if(cont==23){cont=-1;printf(" Tecle\n");/*getch();*/} cont++; } } } } } } fclose(arq); printf("Abra O Bloco De notas e abra esse arquivo --> ( Minhas Combinacoes )\n"); printf("Que esa na mesma pasta desse programa\n\n"); return 0; }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×