Ir ao conteúdo

devair1010

Membro Pleno
  • Posts

    6.313
  • Cadastrado em

  • Última visita

Tópicos solucionados

  1. O post de devair1010 em Montando um desktop a partir de peças já adquiridas foi marcado como solução   
    @Dayon     o melhor processador para essa placa é o fx 8300 am3+ ,    essa fonte é suficiente  para ele,   com esse pente de memória ele funciona ,  mas seria melhor usar dois  de 4 gb cada , ou pelo menos mais um de 2gb, pois essa placa só suporta 8gb de memória máximo,   a placa de video está boa ,  melhor se for a gtx 1060 .
  2. O post de devair1010 em Fiz tudo o que a questão pediu porém só recebo 100% foi marcado como solução   
    @diogo moura   parece que você esqueceu de colocar a quebra de linha no final " \n " , então seu código pode ser  assim :
    #include <stdio.h> #include <string.h> int main(){ char str[1000],str1[1000]; int i,k,j,n,m,l,T; scanf("%d",&T); getchar(); while(T--) { gets(str); k = strlen(str); for(i=0;i<k;i++){ if((str[i]>='A' && str[i]<='Z') || (str[i]>='a'&& str[i]<='z')) str[i] = str[i] + 3; } n=0; for(j=k-1;j>=0;j--){ str1[n] = str[j]; n++; } str1[n] = '\0'; l = k/2; for(i=l;i<k;i++){ str1[i] = str1[i] - 1; } printf("%s\n",str1); } }  
  3. O post de devair1010 em C++ | Números aleatórios, ordem por número crescente e decrescente. foi marcado como solução   
    @Rorgrun     você esqueceu de colocar o índice, que é a posição,  do vetor na hora de ordenar .
    /* coloca em ordem crescente */ for (i = 0; i < TAM; i++){ for(y = i + 1; y < TAM; y++){ if (v[i] > v[y]){ /* precisa colocar a posição do vetor */ aux = v[i]; v[i] = v[y]; v[y] = aux; } } } para colocar em ordem decrescente é só mudar o sinal > para < nessa linha :
    if (v[i] < v[y]){ /* precisa colocar a posição do vetor */  
  4. O post de devair1010 em Desenvolvimento de um jogo foi marcado como solução   
    @Benezes      para fazer um jogo do tipo doom no dephi  será bem difícil , pois o delphi  não tem comandos para objetos tridimensionais ,  então seria melhor usar um uma IDE que tenha esses comandos como a unity 3d ,  então no delphi você consegue fazer um jogo mais simples como o mario world, e mesmo assim não é nada fácil ,   veja nesse link como fazer o mario world no delphi :
    https://www.google.com.br/search?q=criando+mario+no+delphi&rlz=1C1AVSX_enBR722BR722&o que=criando+mario+no+delphi&aqs=chrome..69i57.11153j0j7&sourceid=chrome&ie=UTF-8
  5. O post de devair1010 em Comparador de strings strcmp() foi marcado como solução   
    @RenanMaia      na opção 4 depois de pegar os caracteres da senha você faz as comparações para ver se está certo, mas no final do loop lá no while você colocou se uma    e     a outra informação for diferente :
    }while(usuario.senha != 13 && strcmp(login.confirma_senha, usuario.salva_senha) != 0);    mas teria que ser se uma ou outra informação for diferente assim :
    }while(usuario.senha != 13 || strcmp(login.confirma_senha, usuario.salva_senha) != 0); e também algumas modificações, e essa opção 4 ficaria assim :
    case 4: /*//////////////////////////// LOGIN DO USUARIO ///////////////////////////////*/ system("cls"); puts("=================="); puts(" OFICINA MECANICA "); puts("=================="); puts("-------------------"); puts(" ENTRE "); struct entre { char confirma_email[30]; char confirma_senha[15]; }; struct entre login; putchar('\n'); i = 0; do { fflush(stdin); printf("Digite seu email: "); scanf("%s", login.confirma_email); if (strcmp(usuario.email, login.confirma_email) != 0) /* //CONFERE EMAIL*/ { printf("\a Email invalido!\n"); } }while(strcmp(usuario.email, login.confirma_email) != 0); printf("Digite sua senha: "); fflush(stdin); do{ usuario.senha = getch(); if(isprint(usuario.senha)) /*//Analisa se o valor de c é imprimível*/ { login.confirma_senha[i] = usuario.senha; i++; printf("*"); /*//Imprimindo apenas o asterisco **/ } else if( usuario.senha == 8 && i ) { login.confirma_senha[i] = '\0'; i--; printf("\b \b"); /* //Apagando os caracteres digitados*/ } if(usuario.senha == 13) { login.confirma_senha[i]='\0'; if(strcmp(login.confirma_senha, usuario.salva_senha) != 0) { i=0; fflush(stdin); putchar('\n'); printf("\a Senha invalida!\n"); for(cont = 0; cont <= 15; cont++) { login.confirma_senha[cont] = '\0'; } printf("Digite sua senha: "); } } }while(usuario.senha != 13 || strcmp(login.confirma_senha, usuario.salva_senha) != 0); usuario.senha = '\0'; printf("\nBem Vindo, %s!\n", usuario.primeiro_nome); break;  
  6. O post de devair1010 em imprimir posição sem uso de vetor foi marcado como solução   
    @Paula Maia     exatamente o que o @CiroboyBR  disse, primeiro crie mais duas variáveis  para as posições e inicialize a variável menor com um valor bem grande assim :
    int pos_do_maior,pos_do_menor; int menor=1000000; e dentro do loop coloque para salvar o valor do maior  e a posição e do mesmo jeito o menor assim :
    if (a > maior){ maior = a; pos_do_maior = i+1; } if (a < menor){ menor = a; pos_do_menor = i+1; } depois imprimir o maior e a posição  e  o menor e a posição .
  7. O post de devair1010 em Erro ao ler inteiro com scanf. foi marcado como solução   
    @Ananias Winchester      para fazer mais cadastros você precisa incrementar a variável cont, e esse fgets não é muito bom não pois ele coloca um caractere newline no final da string e isso faz pular uma linha na hora de imprimir, e esse jeito de resetar a string colocando '\0' não costuma funcionar,  melhor usar gets funciona melhor, coloquei o cont e o struct funcionario como global para que eles possam ser acessados em qualquer parte do programa, coloquei um do / while para que o usuário use o programa enquanto quiser e se quiser sair escolhe a opção no menu e sai, e outro do / while na opção de cadastrar para poder fazer quantos cadastros quiser e se não quiser fazer mais nenhum cadastro então sai dessa opção, então seu código com algumas modificações ficaria assim :
    #include <stdio.h> #include <stdlib.h> #include <string.h> #include <locale.h> struct cadastro{ /*///DADOS PESSOAIS:*/ char nome[50], email[50]; int ddd[10]; int numero_tel[20]; }; int cont; struct cadastro funcionario[100]; int main(){ setlocale(LC_ALL, ""); int i,escolha = 1; char ch; do{ system("cls"); printf("-------------------------\n" "CADASTRO DE FUNCIONÁRIO:\n" "-------------------------\n" "(1) FAZER UM NOVO CADASTRO\n"); printf("(2) LISTAR NOMES\n"); printf("(3) FINALIZAR O PROGRAMA\n "); scanf("%d", &escolha); fflush(stdin); system("cls"); switch(escolha){ case 1: do{ ch='n'; fflush(stdin); printf("INFORME NOME DO FUNCIONÁRIO: "); gets(funcionario[cont].nome); printf("INFORME E-MAIL DE FUNCIONÁRIO: "); fflush(stdin); gets(funcionario[cont].email); printf("INFORME SEU DDD: "); fflush(stdin); scanf("%s", &funcionario[cont].ddd); cont++; /*faltava isso aqui*/ printf("Quer Cadastrar Outro S/N "); fflush(stdin); scanf("%c",&ch); }while(ch=='s'); system("cls"); printf("\tUSUÁRIO: %s\n" "\tCADASTRADO COM SUCESSO\n" "\tPRESSIONE ENTER PARA VOLTAR AO MENU", funcionario[cont].nome); getchar();getch(); break; case 2: for(i=0;i<cont;i++){ printf("Nome ----> %s\n",funcionario[i].nome ); printf("Email ---> %s\n",funcionario[i].email); printf("DDD -----> %s\n",funcionario[i].ddd ); printf("Tecle Para Continuar"); getch(); } break; } }while(escolha!=3); return 0; }  
  8. O post de devair1010 em Ordenação alfabética com struct c foi marcado como solução   
    @Henrique N Mendes     sim,  mas ali está x[  qualquer coisa ]. o nome é só na hora de comparar, e funciona sim teste aí .
  9. O post de devair1010 em Menu selecionável foi marcado como solução   
    @erique    essa parte do menu seria assim;
    int main() { int opcao; int ranking,ranking1,ranking2,ranking3,ranking4,ranking5,ranking6,ranking7,ranking8,ranking9,ranking10; /*// Sistema de Ranking*/ setlocale(LC_ALL, "Portuguese"); /*// Definindo português brasileiro como linguagem dentro de printf*/ do{ inicio: system("cls"); /*// Limpar a tela dos comandos anteriores*/ printf("\nDica: Precione a tecla ESQ a qualquer momento para voltar para o menu principal!\n"); gotoxy(30, 8); printf(" __ _____\n"); gotoxy(30, 9); printf(" /\\ /\\ /\\ / | \n"); gotoxy(30,10); printf(" / \\ / \\ / \\ / | \n"); gotoxy(30,11); printf(" / \\ / \\ /_\\ / |__\n"); gotoxy(30,12); printf(" / \\ / \\ / \\ / | \n"); gotoxy(30,13); printf("/ \\/ \\ / \\ /__ |__\n"); gotoxy(30,14); printf(" __ ___ ___ __ __\n"); gotoxy(30,15); printf("| | | /\\ | | | \n"); gotoxy(30,16); printf("| | | / \\ | | | \n"); gotoxy(30,17); printf("|__ |__ | /_\\ |__| |__\n"); gotoxy(30,18); printf("| | | / \\ | | \n"); gotoxy(30,19); printf("|__ __| |__ / \\ | |___\n"); gotoxy(10,24); printf("JOGAR"); gotoxy(30,24); printf("RANKING"); gotoxy(50,24); printf("CRÉDITOS"); gotoxy(70,24); printf("SAIR"); /*modificando o valor de co muda a coluna de inicio do menu que pose ser de zero ate 63*/ /*modificando o valor de L muda a linha de inicio do menu que pode ser de zero ate 20*/ opcao=0;co=0;/*co é a coluna onde colocar a seta*/ L=3;/*L é a linha onde fica as opções, mudando as opções p/baixo mude o valor de L igual*/ L2=L; /*L2 é onde estava a seta */ L3=L+3; /*L3 é a linha final do menu*/ L4=L; /*L4 é a linha de inicio do menu*/ system("color 0F"); /*// Definindo a cor do fundo e a letra no cmd*/ gotoxy(co+5,L); /*co é a coluna de inicio do menu e L é a linha de inico do menu*/ printf("1 - JOGAR"); gotoxy(co+5,L+1); printf("2 - RANKINGS"); gotoxy(co+5,L+2); printf("3 - CREDITOS"); gotoxy(co+5,L+3); printf("4 - SAIR\n"); do{ /*loop para movimentar a seta*/ gotoxy(co,L);/*gotoxy posiciona o cursor, o co é a coluna e L é a linha onde imprimir a seta*/ printf(" -%c",16); /*imprime a seta*/ gotoxy(0,24); /*posiciona o cursor fora da tela para ele não ficar piscando*/ if(kbhit){a=getch();} /*se alguma tecla foi pressionada a igual a tecla*/ if(a == 80){ /*80 é valor do cactere seta p/baixo do teclado*/ L2=L; /*L2 é posição onde estava a seta para apagar senao fica duas setas*/ L++; /*L aponta para a nova posição da seta*/ if(L>L3){L=L4;} /*L vai de 2 ate 5 pois é onde estão as 4 opções, mudando mude tambem os valores*/ } /*a seta estando no 4 e for movida p/baixo ela vai para a primeira opção*/ if(a == 72){ /*72 é valor do cactere seta p/cima do teclado*/ L2=L; /*L2 é onde estava a seta para apagar*/ L--; /*L aponta para a nova posição da seta*/ if(L<L4){L=L3;} /*a seta estando no 1 e for movida p/cima ela vai para a ultima opção*/ } if(L!=L2){ /*se a seta for movida */ gotoxy(co,L2); /*posicione o cursor onde estava a seta*/ printf(" "); /*imprime espaços em branco(que sao pretos) em cima da seta para apaga-la*/ L2=L; /*L2 igual a nova posição da seta*/ } if(a == 13){ /*se a tecla enter for pressionada*/ opcao=L-(L4-1); /*opcao igual a linha onde esta a opção menos um, pois a primeira opção */ /*esta na linha 2*/ } }while(opcao == 0); /*repete enquanto opcao igual a zero*/ para mudar a posição do menu na tela você pode mudar o valor de L e co sendo que L pode ir de zero até 20 e co pode ir de zero até 63, ali dentro do primeiro do .
     
    vi que você está desenhando uma tela de abertura, então veja esse código aqui que tem uma tela de abertura feita com caracteres aumentados :
    #include <stdio.h> #include <conio.h> #include <windows.h> void gotoxy(int x, int y){ COORD c; c.X = x; c.Y = y; SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c); } int letras[11][7]={{126, 32, 32, 32, 33, 18, 12}, /* letra J*/ { 28, 34, 65, 65, 65, 34, 28}, /* letra O*/ { 60, 66, 1, 1,113, 98, 92}, /* letra G*/ { 28, 34, 65, 65, 65, 34, 28}, /* letra O*/ { 31, 33, 65, 65, 65, 33, 31}, /* letra D*/ { 28, 34, 65, 65,127, 65, 65}, /* letra A*/ { 65, 65, 65, 34, 34, 20, 8}, /* letra V*/ { 63, 1, 1, 31, 1, 1, 63}, /* letra E*/ { 1, 1, 1, 1, 1, 1,127}, /* letra L*/ { 65, 65, 65,127, 65, 65, 65}, /* letra H*/ { 28, 34, 65, 65,127, 65, 65}};/* letra A*/ int tela_de_abertura(){ int y1=3,x1=23,y2=y1,i,j,b,a; /*y1=linha inicial y2 para recuperar a linha inicial*/ system("cls"); for(i=0;i<11;i++){ /* sao 10 letras */ if(i==4){y1=11;x1=10;y2=y1;}/*muda as letras para baixo*/ if(i==6){y1=11;x1=30;y2=y1;}/*move a posição para frente*/ for(j=0;j<7;j++){ /*o caractere é de 7 linhas */ gotoxy(x1,y1); /*posiciona o cursor na posição*/ a=letras[i][j]; /*pega o numero da 1 linha do caractere */ for(b=0;b<7;b++){ /*aqui é um numero de apenas 7 bits*/ if(a % 2 != 0){printf("%c",219);}else{printf(" ");}/*se bit=1 coloca espaço invertido senão coloca espaço normal*/ a=a/2; /*dividindo numero por 2 desloca os bits para direita*/ } y1++; /*muda para proxima linha*/ } x1=x1+8; /*avança 8 colunas*/ y1=y2; /*volta para linha inicial*/ } printf(" %c",169); /*imprime um caractere ®*/ gotoxy(5,1);printf("%c",201); /*╔*/ for(i=2;i<23;i++){ /*para imprimir as bordas laterais*/ gotoxy(5,i) ;printf("%c",186);/*║*/ gotoxy(72,i);printf("%c",186); } for(i=6;i<72;i++){ /*para imprimir as bordas superiores e inferiores*/ gotoxy(i,1) ;printf("%c",205);/*═*/ gotoxy(i,23);printf("%c",205); gotoxy(i,19);printf("%c",205); } gotoxy(72,1) ;printf("%c",187); /*╗*/ gotoxy(72,23);printf("%c",188); /*╝*/ gotoxy(5,23) ;printf("%c",200); /*╚*/ gotoxy(5,19) ;printf("%c",204); /*╠*/ gotoxy(72,19);printf("%c",185); /*╣*/ gotoxy(66,3) ;printf("%c%c%c",92,92,92); gotoxy(66,4) ;printf("(. .)" ); gotoxy(66,5) ;printf(" -" ); return 0; } int main(){ tela_de_abertura(); getch(); return 0; }  para fazer a letra J precisa de sete números sendo que cada número tem oito bits, mas aqui coloquei os bits ao contrário, pois o certo seria os bits começarem da direta para a esquerda, então comecei da esquerda para a direita, e então pega-se o primeiro bit e ver se ele é zero ou um se for um imprime o caractere 219 e se for zero imprime um espaço vazio, e divide o número por dois e repete isso oito vezes pois são oito bits.
    aqui o desenho de um caractere a letra J:

       você pega o bit 1 e o valor começando de zero e se o bit estiver aceso soma 1 depois pega o bit 2 se estiver aceso soma 2,depois quatro e vai assim de acordo com os números que estão lá em cima na figura do caractere, então no final você terá o valor do primeiro dos sete números que formam o caractere J, então depois faz o mesmo para pegar os outros seis números.  então as letras que você quiser criar será desse modo, você desenha a letra nessa matriz com esses quadradinhos e depois faz a soma de cada linha para pegar o valor do número.
     
  10. O post de devair1010 em Vendas semanais - visualg foi marcado como solução   
    Lucas.Souza200
      você precisa colocar uma variável para cada vendedor, tipo v1 para o primeiro
    vendedor até v5 para o quinto vendedor, aí colocar outros dois loops iguais a
    estes, sem o escreva e o leia;  E dentro deles você faz a soma de cada vendedor,
    sendo que o primeiro vendedor é mvendas[i,1], e o segundo é    mvendas[i,2],  e
    aí vai .  assim:
    acum_vendas1:=acum_vendas1+mvendas[i,j] se j=1 então v1:=v1+mvendas[i,1] fimse se j=2 então v2:=v2+mvendas[i,2] fimse faça a mesma coisa para os outros vendedores, assim na saída dos loops você 
    terá o total de vendas no mês de cada vendedor, aí escreva o total de cada 
    vendedor na tela.
      E para o total de vendas no mês some o total de cada vendedor v1+v2...+v5
    Aí depois do primeiro fimpara coloque assim:
    fimpara escreval("total de vendas da ",i,"ª semana ",acum_vendas1) acum_vendas1:=0 fimpara  

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

Mostrar 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

Mostrar mais  
×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!