Ir ao conteúdo
  • Cadastre-se

iLoveProg

Membro Júnior
  • Posts

    11
  • Cadastrado em

  • Última visita

Tudo que iLoveProg postou

  1. Pessoal eu n consigo finalizar essa questão. Eu n consigo retornar pra classe principal os preços de cada carro, usando apenas um metodo na Classe carros. Alguém sabe com posso fazer isso. Crie um programa que implemente agregação. Para isto, suponha que você foi contratado por um fabricante de carros. Crie as seguintes classes, com os métodos e atributos necessários: -Pneus (preço, tipo, fabricante) -Motor (potência, preço, fabricante) -Bancos (preço, modelo, fabricante) -Carro (que é a agregação das classes Pneus, Motor e Bancos) Instancie 3 objetos da classe Carro. Após instanciar um carro, imprima o seu preço (preço do pneu+preço motor+preço do bancos). public static void main(String[] args) { // TODO code application logic here Carros Nissan = new Carros(); System.out.println(""+Nissan.preçototal()); Carros Subaru = new Carros(); System.out.println(""+Subaru.preçototal()); Carros Honda = new Carros(); System.out.println(""+Honda.preçototal()); } /////////////////////////////////////////////////////////// public class Carros { int precototal; Pneus NissanP = new Pneus(2400, "Esportivo", "Yokohama"); Pneus HondaP = new Pneus(2000, "Esportivo", "Firestone"); Pneus SubaruP = new Pneus(2400,"Esportivo", "Toyotires"); Motor NissanM = new Motor(40000, 608, "Nissam Turbo 3.8 Otto V"); Motor HondaM = new Motor(30000, 270, "Honda Turbo 2.5 Otto V"); Motor SubaruM = new Motor(46000, 155, "Subaro Turbo 3.4 Box"); Bancos NissanB = new Bancos(1500,"Esportivo 4 pontos", "Sparco"); Bancos HondaB = new Bancos(1500,"Esportivo 4 pontos", "Sparco"); Bancos SubaruB = new Bancos(1500,"Esportivo 4 pontos", "Sparco"); public int preçototal(){ if(){ precototal = NissanP.preco+NissanM.preco+NissanB.preco; return precototal; } if(){ precototal = HondaP.preco+HondaM.preco+HondaB.preco; return precototal; } if(){ precototal = SubaruP.preco+SubaruM.preco+SubaruB.preco; return precototal; } } /////////////////////////////////////////// public class Pneus { int preco; String tipo; String fabricante; public Pneus(int p, String t, String f){ this.preco = p; this.tipo = t; this.fabricante = f; } } //////////////////////////////////////////////////// public class Motor { int potencia; int preco; String fabricante; public Motor(int p, int t, String f){ this.preco = p; this.potencia = t; this.fabricante = f; } } ///////////////////////////////////////////////////// public class Bancos { int preco; String tipo; String fabricante; public Bancos(int p, String t, String f){ this.preco = p; this.tipo = t; this.fabricante = f; } }
  2. 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'; } }
  3. Ola. Eu tenho a tarefa de entra e ler uma matriz, e em seguida fazer diversas alterações nela usando funções: 1ª Função - Trocar linha 2 com 3 2ª Função - Subtrair valores da linha 2 pelos da coluna 3 e substituilos na linha 2 3ª Função - Somar linha 1 com coluna 2 e substituir na coluna 1 Eu fiz todas a funções, mas nao estão funcionando corretamente. Podem me indicar/orientar onde pode estar o problema. #include<stdio.h> #include<stdlib.h> void troca1(int mat1[][3]); void sub(int mat1[][3]); void somar(int mat1[][3]); int main() { int i, j, mat1[3][3]; for(i=0; i<3; i++) { for(j=0; j<3; j++) scanf("%d", &mat1[i][j]); } printf("Matriz 1:\n\n"); for(i=0; i<3; i++) { for(j=0; j<3; j++) printf("%3.d\t", mat1[i][j]); printf("\n\n"); } printf("Trocar linha 2 e 3: \n\n"); troca1(mat1); printf("Subtrair valores da linha 2 pelos da coluna 3 e substituilos na linha 2:\n\n"); sub(mat1); printf("Somar linha 1 com coluna 2 e substituir na coluna 1:\n\n"); somar(mat1); system("pause"); return 0; } void troca1(int mat1[][3]){ printf("\n\n\n\t linha Trocada\n"); int i, j, aux; //troca linhas com uso de laço e auxiliar for(j=0;j<3;j++){ aux = mat1[1][j]; mat1[1][j] = mat1[2][j]; mat1[2][j] = aux; } //apresenta linha trocada for(i=0;i<3;i++){ for(j=0;j<3;j++) printf("%d\t ",mat1[i][j]); } printf("\n\n"); } void sub(int mat1[][3]){ int i; int j; int soma=0; int mat3[3][3]; int aux; for(i=0; i<3; i++){ for(j=0; j<3; j++) mat3[i][j]=mat1[2][j]-mat1[3][j]; } for(i=0;i<3;i++){ for(j=0;j<3;j++) printf("%d\t ",mat3[i][j]); } } void trocadiago(int mat1[][3]){ } void somar(int mat1[][3]){ int i; int j; int mat3[3][3]; for(i=0; i<3; i++){ for(j=0; j<3; j++) mat3[i][j]=mat1[1][j]+mat1[i][2]; } for(i=0;i<3;i++){ for(j=0;j<3;j++) printf("%d\t ",mat3[i][j]); } }
  4. #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.
  5. 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.
  6. É 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; }
  7. 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; }
  8. -> 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; }
  9. 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
  10. 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
  11. 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...