Arm Outro
Membro Júnior-
Posts
13 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
Tudo que Arm Outro postou
-
Calculadora em C- Usando função e ponteiros.
Arm Outro respondeu ao tópico de Fabrício JohnGamer em C/C#/C++
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;} -
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) );
-
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; }}
-
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]
-
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( );}
-
Você só esqueceu de reinicializar a var perfeito, só colocar dentro do primeiro for: perfeito = 0
-
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++
-
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;}
-
Problema em programa de controle de estoque em C - Vetor de estruturas
Arm Outro respondeu ao tópico de Arthur Denner_437487 em C/C#/C++
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 -
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]; } }}
-
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;}
-
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.
-
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