Ir ao conteúdo
  • Cadastre-se

Arm Outro

Membro Júnior
  • Posts

    13
  • Cadastrado em

  • Última visita

Tudo que Arm Outro postou

  1. Você pode fazer assim: void calculadora(float valor1, float valor2, float *soma, float *sub, float *mult, float *div){ *soma = valor1 + valor2; *sub = valor1 - valor2; *mult = valor1 * valor2; *div = valor1 / valor2;}
  2. O que acontece é que a função pow() retorna um double, e como você está atribuindo para um int, acontece perda de dados. Como funções que retornam double/float não são precisas, elas retornam valores como 10.0002, 2.999998. o tipo int só vai pegar a parte inteira. Então você pode usar a função round, que arredonda para o valor mais próximo de um inteiro. round(10.9999) = 11.0 round(2.0003) = 2.0 Só usar então: potencia=round( pow(cont,2) );
  3. A entrada de dados vai ser assim, Ex: "10,23" e você quer converter para 10.23, é isso? você pode usar a função strpbrk, assim: #include <stdio.h>#include <string.h>#include <stdlib.h>int main(){ char str_num[60]; float num; char *ptr; fgets(str_num, sizeof(str_num)+1, stdin); ptr = strpbrk(str_num, ","); //retorna um ponteiro para a posição da string "," if(ptr != NULL) *ptr = '.'; //faz a substituição da ',' por '.' num = atof(str_num); //converte string para float printf("num = %f", num); return 0;} ou você pode fazer um simples for no lugar da função: int len = strlen(str_num);int i;for (i = 0; i < len; i++) { if (str_num[i] == ',') { str_num[i] = '.'; break; }}
  4. A matriz deve ter 11 colunas 5x11, isso se deve porque em um array de char precisa de um espaço a mais para ter o o caracter null \0. A função strlen() retorna o tamanho da string e não a string em si. Você também terá que comparar o tamanho dos nomes. veja o código: #include <stdio.h>#include <string.h>#include <stdlib.h>int main(){ char nome[3][11]; //O tamanho é 11 porque são 10 caracters + 1 do caracter null '\0' int i, j, indiceMaiorPal = 0; printf("Digite o nome:\n"); for (i=0; i<3; i++){ fgets(nome[i],12,stdin); //o tamanho deve ser 12 porque é o tamanho da string passada(11) + 1 para a tecla ENTER } printf("\n"); for (i=1; i<3; i++){ if(strlen(nome[indiceMaiorPal]) < strlen(nome[i])) indiceMaiorPal = i; //Armazena o indice do maior nome } printf("%s", nome[indiceMaiorPal]); system("pause"); return 0;} Nesse código você só irá comparar strings que tem tamanhos maiores, se forem iguais não dá certo. Se quiser fazer com nomes de tamanhos iguais é só utilizar um array(vetor) de índices indiceNomePal[5]
  5. O que o log de erro disse é que a função main deve retornar int, então você tem que mudar de void para int mesmo. Mas também falta você definir um namespace, utilize esse código aqui: #include <iostream>#include <conio.h>using namespace std;int main( ){ int numero, dobro, triplo; cout<< " \n que Calcula o Dobro e o Triplo de um Numero" ; cout<< " \n Informe um numero:" ; cin>> numero; dobro = numero * 2; triplo = numero * 3; cout<< "\n O dobro de: "<< numero<<" e :" << dobro << " e o Triplo e:"<<triplo; getch( );}
  6. Você só esqueceu de reinicializar a var perfeito, só colocar dentro do primeiro for: perfeito = 0
  7. O tipo de retorno da função main não deve ser void, mas sim int, então é só mudar para: int main( ) Eu recomendo você utilizar o visual studio ou o code::blocks, que são superiores ao Dev c++
  8. O erro está nessa parte C[i]=C[i-1]+0.5, como na primeira iteração do loop for a variável i = 0. Então onde está C[i-1] seria igual a C[-1] e índice negativo não existe, por isso o erro. Você também não precisa de usar dois loops for, precisa de apenas um. O tamanho dos arrays tem que ser 199, porque é de 0.5 a 0.5 e vão de 1 a 100. #include <stdio.h>int main(){ float C[199]; float F[199]; int i; C[0]=1; F[0]=1.8*C[0]+32; for(i=1; i<199; i++){ C[i]= C[i-1]+0.5; F[i]=1.8*C[i]+32; } //imprime os valores for(i = 0; i < 199; i++) printf("\n%.2f | %.2f", C[i], F[i]); system("pause"); return 0;}
  9. A função aumentar_estoque funciona corretamente, o erro está na function mostrar_estoque, nessa parte: printf (" %2d - %20s - R$ %6.2f - %d\n", estoque[i].prod.codigo, estoque[i].prod.nome, estoque[i].prod.valor, estoque[i].qntd); Na parte ( estoque.qntd ) você está passando um índice incorreto, o que você tem que passar no índice é o código do produto, desse jeito: estoque[catalogo[i].codigo].qntd
  10. Esse exercício é bem simples, veja o codigo: #include <stdio.h>#define LIN 3#define COL 2void soma_matriz(int matriz1[LIN][COL], int matriz2[LIN][COL], int matriz3[LIN][COL]);int main(){ int i, j; //inicia todos os valores das matrizes com valor 0 int matriz1[LIN][COL] = {0}; int matriz2[LIN][COL] = {0}; int matriz3[LIN][COL] = {0};//essa recebera a soma /* aqui você faz as modificacoes dos valores das matrizes 1 e 2*/ //chama a funcao de soma soma_matriz(matriz1, matriz2, matriz3); //imprime os valores da matriz3 for(i = 0; i < LIN; i++){ for(j = 0; j < COL; j++){ printf("| %d |", matriz3[i][j]); } printf("\n"); } return 0;}void soma_matriz(int matriz1[LIN][COL], int matriz2[LIN][COL], int matriz3[LIN][COL]){ int i, j; for(i = 0; i < LIN; i++){ for(j = 0; j < COL; j++){ matriz3[i][j] = matriz1[i][j] + matriz2[i][j]; } }}
  11. Utilize array de char em vez de inteiro, para que a validação de dados fique mais fácil. veja o código abaixo: #include <stdio.h>#define MAX 4int main(){ char numero[MAX]; int i, algarismo; printf("Digite um numero de 4 algarismos: "); scanf("%s", &numero); for(i = 0; i < MAX; i++){ algarismo = (int)numero[i] - 48; /*numero[i] retorna o algarismo na posição do valor da var i. Ex: se o usuário digitar 6789 numero[0] = '6' numero[1] = '7' numero[2] = '8' numero[3] = '9' Como C utiliza código ascii para representar chars e a representação de números no codigo ascii começam na posição 48, você deve fazer a subtração pelo valor -48 */ //verifica se é menor que 1 ou maior que 6 if(algarismo < 1 || algarismo > 6){ printf("numero incorreto"); break; } } return 0;}
  12. valeu santos, eu nem sabia que tinha como restaurar a firmware desse jeito. e _xyko_, é isso ai mesmo. Pelo que eu li, acho que é um regulador de tensão, algo assim. O que tá na minha placa estufou e vou ter que trocar mesmo, até olhei aqui na minha cidade se tinha pra vender, mas nem tem. Olhei também na net e não encontrei em sites brasileiros, só estrangeiro mesmo. Vou ver se compro, chato é esperar 2 meses pra chegar kkkkkkkkkk valeu por terem respondido.
  13. Galera, Encontrei uma antena via radio pra internet (essas de plastico "quadradas") aqui no meu quintal, provavelmente deixaram ela ali porque não estavam usando mais ou está estraga. Peguei ela e liguei na energia, deu sinal de vida, mas não consegui acessar o seu sistema operacional. Abri ela e tirei a placa de circuito, essa placa está bem enferrujada porque a caixa de plastico pra proteção estava quebrada, provavelmente tomou chuva por meses. Segue as imagens da placa: img 1- Img 2- Essa placa tem dois leds, um led informa se a placa está recebendo energia, o outro informa se está recebendo dados, eu fui e conectei o cabo de rede nela e esses leds ligaram normal. A parte estranha é que eu não consigui acessar o sistema operacional da placa, já tentei reinicializar o sistema para o de fábrica segurando o botão de reiniciar que tem nela, mas não adiantou. Um detalhe importante é que nessa img 2 que postei, esse componente com o escrito "1136" fica fazendo um chiado bem agudo(não é COIL WHINE), pode ser ele o problema ou talvez não kkk Como eu não entendo nada de eletrônica,alguém poderia me informar qual é esse componente da img2? e se tem como comprar ele em loja de elétrica e tal Porque ai eu faço a troca dele e vejo se consigo arrumar essa placa. valeu

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!