Ir ao conteúdo

iLoveProg

Membro Júnior
  • Posts

    9
  • Cadastrado em

  • Última visita

Tudo que iLoveProg postou

  1. Bom pessoal. Eu estava precisando fazer uma estrutura de cartas com as seguintes informações: naipe, valor e id(identificado da carta), e depois embaralha-lo. Eu consegui fazer toda a estrutura e as funções, mas estou com dificuldade em printar as cartas com o valores e vaipes tudo certo. Se alguem souber, deem um help. #include <time.h> #include <stdio.h> #include <stdlib.h> typedef struct{ int num; char naipe; int id; }ficha; ficha carta[52]; void baralhar(int *baralho); void preencherid (int *baralho); void preenchernum (int *baralho); void preenchernaipe(int *baralho); int main (){ int baralho[52]; baralhar(baralho); preencherid (baralho); preenchernum (baralho); preenchernaipe(baralho); return 0; } void baralhar(int *baralho) { int i=0,j=0; srand(time(NULL)); for(i=0;i<52;i++){ baralho[i]=rand() % 52; } for(i=0;i<52;i++){ for (j=i+1;j<52;j++){ if(baralho[j]==baralho[i]){ baralho[j]++; i=0; j=0; } if(baralho[j]==52) baralho[j]=0; } } } void preencherid (int *baralho) { int i; for (i=0;i<52;i++){ carta[i].id=baralho[i]; } } void preenchernum (int *baralho) { int i; for (i=0;i<52;i++){ if ((baralho[i]>=0) && (baralho[i]<13)) carta[i].num=baralho[i]+1; if ((12<baralho[i]) && (baralho[i]<26)) carta[i].num=baralho[i]-12; if ((25<baralho[i]) && (baralho[i]<39)) carta[i].num=baralho[i]-25; if ((38<baralho[i]) && (baralho[i]<52)) carta[i].num=baralho[i]-38; } } void preenchernaipe(int *baralho){ int i; for (i=0;i<52;i++){ if ((baralho[i]>=0) && (baralho[i]<13)) carta[i].naipe='O'; if ((12<baralho[i]) && (baralho[i]<26)) carta[i].naipe='C'; if ((25<baralho[i]) && (baralho[i]<39)) carta[i].naipe='P'; if ((38<baralho[i]) && (baralho[i]<52)) carta[i].naipe='E'; } }
  2. #include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct{ char nome[15]; float potencia; int tempo; int tdias; } Consumo; int main(){ int quantidade=2; Consumo eletrodomesticos[quantidade]; int i=0; float consumototal; float consumo; float porcentagem; for(i=0;i<quantidade;i++){ printf("\nInsira o nome, potencia(em kW), tempo ativo por dia(em hrs) e quantidade de dias em que esta ligado:\n\n"); scanf("%s %f %d %d", &eletrodomesticos[i].nome, &eletrodomesticos[i].potencia, &eletrodomesticos[i].tempo,&eletrodomesticos[i].tdias); } for(i=0;i<quantidade;i++){ printf("ELETRODOMESTICO %i\n\nNOME: %s\nPOTENCIA: %f\nTEMPO ATIVO: %d\nDIAS LIGADO: %d\n\n", i+1, eletrodomesticos[i].nome, eletrodomesticos[i].potencia, eletrodomesticos[i].tempo, eletrodomesticos[i].tdias); } for(i=0;i<quantidade;i++){ consumo=eletrodomesticos[i].potencia*eletrodomesticos[i].tempo*eletrodomesticos[i].tdias; consumototal+=consumo; printf("Consumo %d= %f\n", i+1, consumo); } printf("Consumo total=%f\n\n", consumototal); for(i=0;i<quantidade;i++){ porcentagem=consumo/consumototal; } printf("Porcentagem (1): %.2f porcento\n", (porcentagem*100)); printf("Porcentagem (2): %.2f porcento\n", (1-porcentagem)*100); return 0; } Consegui. valeu ae maninho. Segue o código. Nesse caso a porcentagem so serve para dois aparelhos. Ainda to fazendo algumas modificações.
  3. Ninguém sabe me responder? Creio que do jeito que eu montei o struct, n da pra calcular o o consumo total, consequentemente, a porcentagem de consumo de cada eletrodoméstico.
  4. É o seguinte pessoal, eu to fazendo uma agende (bem arcaica, por sinal, mas que pelo menos funcione) com struct, e preciso colocar uma função para pesquisar nomes, mas eu n estou conseguindo. O meu codigo ainda falta implementar mais coisas, alem da função PesquisarNomes, mas eu ja empaquei nessa primeira função. Deem uma olhada. #include<stdio.h> #include<stdlib.h> #include<string.h> void pesquisarnome(char *pessoas, int tam); typedef struct{ char nome[15]; char email[25]; char endrua[100]; int endnumero; char endcompl[10]; char endbairro[10]; int endcep; int tel; int datadia; int datames; int dataano; char obs[15]; } Agenda; int main(){ int tam = 2; Agenda pessoas[tam]; int op; int i; printf("Cadastrar:\n\nEx de cadastro: Nome(Joao), email, endereço rua, numero, bairro, cep, complemento, telefone, dia do aniversario, mes do aniversario, ano do aniversario, observação"); for(i=0;i<2;i++){ scanf("%s %s %s %d %s %d %s %d %d %d %d %s", &pessoas[i].nome, &pessoas[i].email, &pessoas[i].endrua, &pessoas[i].endnumero, &pessoas[i].endbairro, &pessoas[i].endcep, &pessoas[i].endcompl, &pessoas[i].tel, &pessoas[i].datadia, &pessoas[i].datames, &pessoas[i].dataano, &pessoas[i].obs); } for(i=0;i<2;i++){ printf("\n\nCADASTRO(%d):\n\nNOME: %s\nEMAIL: %s\nRUA: %s\nNUMERO: %d\nBAIRRO: %s\nCEP: %d\nCOMPL.: %s\nTEL: %d\nDATA DIA: %d\nDATA MES: %d\nDATA ANO: %d\nOBSERVACAO: %s\n\n\n", i+1, pessoas[i].nome, pessoas[i].email, pessoas[i].endrua, pessoas[i].endnumero, pessoas[i].endbairro, pessoas[i].endcep, pessoas[i].endcompl, pessoas[i].tel, pessoas[i].datadia, pessoas[i].datames, pessoas[i].dataano, pessoas[i].obs); } printf("$$$$$$$$$$$$$$$$$$$$$$$ A G E N D A $$$$$$$$$$$$$$$$$$$$$$$$$\n\n\n\n"); printf("MENU: Escolha uma opcao:\n\nPesquisar Nome (1) \n\nPesquisar Mes de Aniversario(2)\n\nNomes e Tels (3)\n\n"); scanf("%d", &op); switch(op){ case 1: pesquisarnome(pessoas, tam); break; } return 0; } void pesquisarnome(char *pessoas, int tam){ int i; char x[50]; printf("\nNome: "); scanf("%s",&x); for(i=0;i<tam;i++){ if(strcmp(x, pessoas)==0){ printf("%s", pessoas); } } return 0; }
  5. Faça um programa que controla o consumo de energia dos eletrodomésticos de uma casa e: -Crie e leira 5 eletrodomésticos que contém nome (máximo 15 letras), potencia (real, em kW) e tempo ativo por dia (real, em horas). -Leia um tempo t (em dias), calcule e mostre o consumo total na casa e o consumo relativo de cada eletrodoméstico (consumo/consumo total) nesse período de tempo. Apresente este último dado em porcentagem. Eu fiz o código todo certo, mas eu não consigo fazer o consumo total e nem a porcentagem de consumo por eletrodoméstico. Vejam o código, eu estou indicando onde eu não consigo. #include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct{ char nome[15]; float potencia; int tempo; int tdias; } Consumo; int main(){ int quantidade=2; Consumo eletrodomesticos[quantidade]; int i=0; float consumototal; float consumo; float porcentagem; for(i=0;i<quantidade;i++){ printf("\nInsira o nome, potencia(em kW), tempo ativo por dia(em hrs) e quantidade de dias em que esta ligado:\n\n"); scanf("%s %f %d %d", &eletrodomesticos[i].nome, &eletrodomesticos[i].potencia, &eletrodomesticos[i].tempo,&eletrodomesticos[i].tdias); } for(i=0;i<quantidade;i++){ printf("ELETRODOMESTICO %i\n\nNOME: %s\nPOTENCIA: %f\nTEMPO ATIVO: %d\nDIAS LIGADO: %d\n\n", i+1, eletrodomesticos[i].nome, eletrodomesticos[i].potencia, eletrodomesticos[i].tempo, eletrodomesticos[i].tdias); } for(i=0;i<quantidade;i++){ consumo=eletrodomesticos[i].potencia*eletrodomesticos[i].tempo*eletrodomesticos[i].tdias; printf("Consumo %d= %f\n", i+1, consumo); } for(i=0;i<quantidade;i++){ consumototal= eletrodomesticos[i+1].potencia*eletrodomesticos[i+1].tempo*eletrodomesticos[i+1].tdias; } printf("Consumo total=%f\n\n", consumototal); //NAO CONSIGO FAZER O CONSUMO TOTAL for(i=0;i<quantidade;i++){ porcentagem=consumo/consumototal; printf("Porcentagem (%d): %f", i+1, porcentagem); //E NEM A PORCENTAGEM DE CONSUMO } return 0; }
  6. -> Faça um programa que preencha um vetor com os modelos de cinco carros (exemplos de modelos: Fusca, Gol, Vectra, etc.). Preencha outro vetor com o consumo desses carros, isto e, quantos quilômetros cada um deles faz com um litro de combustível. Calcule e mostre: (a) O modelo de carro mais econômico; (b) Quantos litros de combustível cada um dos carros cadastrados consomem para percorrer uma distancia de 1.000 quilômetros. MEU CODIGO: O que tem de errado com, nao consigo ver onde esta o erro. Ele compila, mas quando tento colocar as informações ele da erro. #include<stdlib.h> #include<stdio.h> #include<string.h> int main(){ char modelo[20] [4]; int consumo[4],maisEconomico = 1000; int posicaoMaisEconomico; int i; for(i=0;i<4; i++){ printf("\nDigite o modelo: "); scanf("%s", modelo[i]); printf("\nDigite o consumo: "); scanf("%d",consumo[i]); if(consumo[i] < maisEconomico){ maisEconomico = consumo[i]; posicaoMaisEconomico = i; } } printf("O carro mais economico é: %s \t", modelo[posicaoMaisEconomico]); printf("O modelo: %s \t",modelo[0]); printf("consome em 1000Km %d",consumo[0] * 1000); printf("O modelo: %s \t",modelo[1]); printf("consome em 1000Km %d",consumo[1] * 1000); printf("O modelo: %s \t",modelo[2]); printf("consome em 1000Km %d",consumo[2] * 1000); printf("O modelo: %s \t",modelo[3]); printf("consome em 1000Km %d",consumo[3] * 1000); system("PAUSE"); return 0; }
  7. Estou com dificuldade em uma exercicio. Escreva um programa para ler o conteúdo de um arquivo contendo as notas obtidas pelos alunos de uma turma. O programa deve exibir na tela o valor da nota mínima, valor da nota máxima e o total de alunos aprovados e reprovados (considere que o aluno é aprovado se a nota for maior ou igual a 5.0). O formato do arquivo é o seguinte: 7.5 8.4 9.1 4.0 5.7 4.3 Eu so sei ler e escrever arquivos, selecionar o que deve ser imprimido do arquivo nao faço a minima ideia. Me ensinem pelo menos a primeira parte, de exibir a maior e minima nota. Foi ate aqui o que eu fiz: #include<stdio.h> int main(){ FILE *arquivo; float nota; float maior = 0; int i; arquivo = fopen("notas.txt", "r"); if(arquivo==NULL){ perror("Erro ao abrir"); return 0; } for(i=0;i<5;i++){ fscanf(arquivo,"%f", &nota); if (nota>maior){ nota = maior; printf("%f\n", maior); } } fclose(arquivo); system("PAUSE"); return 0; } notas.txt
  8. Esse primeiro código é a Bhaskara que esta funcionando perfeitamento. Eu converti ela pra uma função e agora esta dando resultados diferentes. Alguem saberia o porque? Eu não estou conseguindo ver nenhum erro. O código sem função esta compilando e o resultado esta certo, o código convertida com função esta compilando, mas o resultado esta errado. O primeiro é o código de Bhaskara sem função, e o segundo é com função(esse que esta com erro). //CODIGO BHASKARA SEM FUNÇÃO #include <math.h> #include <stdio.h> main() { float a, b, c, delta; printf("\nBHASKARA\n\n"); printf("\nDigite o valor de A: "); scanf("%f", &a); printf("\nDigite o valor de B: "); scanf("%f", &b); printf("\nDigite o valor de C : "); scanf("%f", &c); delta = (pow(b, 2) - 4*a*c); if(delta >= 0) { if(delta == 0) { printf("\nA raiz x1 = %f", ((-b + sqrt(delta))/2*a)); } else { printf("\nA raiz x1 = %f", ((-b + sqrt(delta))/2*a)); printf("\nA raiz x2 = %f", ((-b - sqrt(delta))/2*a)); } } else { printf("0"); } return(0); } // CONVERTIDA EM FUNÇÃO #include<stdio.h> #include<stdlib.h> #include<math.h> float bhaskara(float a, float b, float c); int main(){ float a, b, c; float resultado; printf("\nDigite o valor de A: "); scanf("%f", &a); printf("\nDigite o valor de B: "); scanf("%f", &b); printf("\nDigite o valor de C : "); scanf("%f", &c); printf("\n%f\n%f", bhaskara(a, b, c)); return 0; } float bhaskara(float a, float b, float c){ float delta, raiz1, raiz2; delta = (pow(b, 2) - 4*a*c); if(delta >= 0){ if(delta == 0){ raiz1 = ((-b + sqrt(delta))/2*a); return(raiz1, raiz2); } else{ raiz1 = ((-b + sqrt(delta))/2*a); raiz2 = ((-b - sqrt(delta))/2*a); return (raiz1, raiz2); } } else{ return 0; } } SixeEngenharia iniciante Mensagens : 13 Data de inscrição : 02/05/2016 Idade : 20 Localização : Rio de Janeiro, RJ, BRasil Ver perfil do usuário Enviar uma mensagem privada Voltar ao Topo Ir em baixo
  9. Eu preciso fazer um Código que exiba quantas vezes cada vogal aparece em uma string (eu entro com a string). Se alguém poder me ajudar, agradeço. devC++

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!