Ir ao conteúdo
  • Cadastre-se

Gabbie1

Membro Pleno
  • Posts

    46
  • Cadastrado em

  • Última visita

Tudo que Gabbie1 postou

  1. @devair1010 @KXSY CONSEGUI!!!!! Só vim comunicar vcs. Perguntei no grupo e os guris disseram que tinha que mudar a extensão pra .cpp porque essa passagem de parâmetro foi adicionada no c++, e como o c++ ainda aceita a sintaxe do c, não tem problema mudar adicionado 1 minuto depois Obrigada vcs dois pelas dicas, boa vontade e paciência em ajudar!!!!!
  2. @KXSY Acho que a lógica é que o tamanho max é uma constante lá em cima. Daí tu vai incluindo os espaços usando uma variável (no caso o tl). Daí vamos supor que a constante seja o tamanho 50, daí eu decido incluir 10 valores porque tô cansada ao invés de ter que incluir os 50, daí eu uso o tl pra definir os espaços preenchidos. Daí o meu vetor[tl] tem tamanho 10, eu removo 1, o vetor[tl] vai virar 9. Creio que a lógica seja essa, mas esse & é meio wtf.
  3. @devair1010 porque eu tô estudando pra prova e ela pode cobrar isso Um vetor que tu pode ir incluindo elementos conforme desejar ou remover determinada posição do vetor, daí o vetor teria que diminuir. Ela resolve algum exercício como exemplo e eu tô implementando nos outros exercícios pra praticar e estudar pra prova.
  4. Alguém pode me dizer se esse &tl na função pra modificar o tamanho do vetor funciona mesmo? Se sim, onde posso ter errado? Minha professora resolveu um exercício pra manipular vetor desta maneira, tô testando mas ele não compila. Diz que o operador & exige um ; ou , logo em seguida. / *Faça um programa que controle o fluxo de vôos de aeroportos de um pais. Suponha 5 voos e 5 aeroportos. Faça: ? Crie e leia um vetor de vôos, sendo que cada vôo contem um código de aeroporto de origem e um de destino; ? Crie um vetor de aeroportos, sendo que cada aeroporto contem seu código, quantidade de vôos que saem e quantidade vôos que chegam. NOTA: cada aeroporto é identificado por 3 letras (BRA=Brasília; PVH=porto velho; CGH = congonhas; REC=recife;GRU=Guarulhos) */ #include <stdio.h> #include <string.h> #define tf 50 struct voos { int codvoo; char codorigem[4]; char coddest[4]; }; struct aeroporto { int codaero; int qtdade_saem; int qtdade_chegam; }; void leituravoos (struct voos vetor_voos[tf], int &tl){ int i; printf ("\nQuantos voos deseja incluir? "); scanf ("%d", &tl); for (i=0; i<tl; i++){ printf ("\nEntre com o codigo do voo: "); scanf ("%d", &vetor_voos[i].codvoo); printf ("\nEntre com o codigo de origem: "); fflush (stdin); fgets (vetor_voos[i].codorigem, 4, stdin); printf ("\nEntre com o codigo de destino: "); fflush (stdin); fgets (vetor_voos[i].coddest, 4, stdin); } } void leituraeroportos (struct aeroporto vetor_aeroportos[tf], int &tl){ int i; printf ("\nQuantos aeroportos deseja incluir? "); scanf ("%d", &tl); for (i=0;i<tl;i++){ printf ("\nEntre com o codigo do aeroporto: "); scanf ("%d", &vetor_aeroportos[i].codaero); printf ("\nEntre com a quantidade de voos que saem desse aeroporto por dia: "); scanf ("%d", &vetor_aeroportos[i].qtdade_saem); printf ("\nEntre com a quantidade de voos que entram nesse aeroporto por dia: "); scanf ("%d", &vetor_aeroportos[i].qtdade_chegam); } } void exibevoos (struct voos vet_voos[tf], int tl){ int i; for (i=0;i<tl;i++){ printf ("\nCodigo do voo: %d", vet_voos[i].codvoo); printf ("\nCodigo de origem: %s", vet_voos[i].codorigem); printf ("\nCodigo de destino: %s", vet_voos[i].coddest); } } void exibeaeroportos (struct aeroporto vet_aero[tf], int tl){ int i; for (i=0; i<tl; i++){ printf ("\nCodigo do aeroporto: %d", vet_aero[i].codaero); printf ("\nQuantidade de voos que saem: %d", vet_aero[i].qtdade_saem); printf ("\nQuantidade de voos que chegam: %d", vet_aero[i].qtdade_chegam); } } void buscar (struct voos vetor_voos[tf], int cod, int tl){ int i, posicao = -1; for (i=0;i<tl;i++){ if (vetor_voos[i].codvoo == cod){ posicao = i; printf ("\nVoo encontrado na posicao %d", i); printf ("\nCodigo do voo: %d", vetor_voos[i].codvoo); printf("\nCodigo de origem: %s", vetor_voos[i].codorigem); printf ("\nCodigo de destino: %s", vetor_voos[i].coddest); }//fim do if }//fim do for if (posicao == -1) printf ("\nNão achou!"); } void removervoo (struct voos vet_voos[tf], int remover, int &tl){ int i; int posicao = -1; posicao = busca (vet_voos, remover); if (posicao == -1) printf ("\nNao achou!"); else { printf ("\nAchou - vai remover"); for (i=posicao;i<tl-1;i++) vt[i] = vt[i+1]; tl--; printf ("\nRemovido com sucesso!"); } } int main (){ struct voos vetor_voos[tf]; struct aeroporto vetor_aeroportos[tf]; int opcao = 0; int remover; int codigo; int tl; while (opcao != 7){ printf ("\n\n############# MENU #################"); printf ("\n1 - Carregar vetor de voos"); printf ("\n2 - Carregar vetor de aeroportos"); printf ("\n3 - Exibir vetor de voos"); printf ("\n4 - Exibir vetor de voos"); printf ("\n5 - Buscar um voo"); printf ("\n6 - Remover um voo"); printf ("\n7 - Sair"); printf ("\nQual a sua opcao? "); scanf ("%d", &opcao); switch (opcao) { case 1: leituravoos (vetor_voos, tl); break; case 2: leituraeroportos (vetor_aeroportos, tl); break; case 3: exibevoos (vetor_voos, tl); break; case 4: exibeaeroportos (vetor_aeroportos, tl); break; case 5: printf ("\nQual o codigo do voo que deseja buscar?"); scanf ("%d", &codigo); buscar (vetor_voos, codigo, tl); case 6: printf ("\nQual o codigo do voo que deseja remover? "); scanf ("%d", &remover); removervoo (vetor_voos, remover, tl); default: printf ("\nOpcao invalida!"); }//fim do while }//fim do switch return 0; }//fim do main
  5. @KXSY Obrigada! Vou testar e praticar desse modo.
  6. @KXSY Obrigada! Vou dar uma estudada, tem muita dica boa aí. Vou tentar começar o typedef também. É que eu tô estudando pra prova e a professora exige que use função e menu. Ok!
  7. Então gente, eu tô tendo dificuldade com esse código, como posso pra fazer ele verificar as notas e depois passar os dados da struct pro outro vetor. Eu tentei fazer de 2 jeitos. Nesse primeiro ele nem compila, no segundo ele compila mas quando escolho a opção pra dividir em aprovados ou reprovados o console trava. /*Faça um programa que leia os dados de 10 alunos (nome, matricula, média final), armazenados num vetor. Uma vez lido os dados, divida estes dados em 2 novos vetores, o vetor dos aprovados e o vetor dos reprovados. Considere a média mínima para a aprovação como sendo 6.0. Exibir na tela os dados do vetor de aprovados, seguido dos dados do vetor de reprovados. */ #include <stdio.h> #include <string.h> #define tf 10 struct medialunos { int matricula; char nome[20]; double mediafinal; }; void leitura (struct medialunos vet[tf], int vet1[tf], int vet2[tf]){ int i, j; for (i=0;i<tf;i++){ for (j=0; j<tf;j++){ printf ("\nEntre com a matricula: "); scanf ("%d", &vet[i].matricula); printf ("\nEntre com o nome: "); fflush (stdin); fgets (vet[i].nome,20,stdin); printf ("\nEntre com a media final: "); scanf ("%lf", &vet[i].mediafinal); printf ("\n_____________________________________________\n"); if (vet[i].mediafinal >= 6){ vet1[j] = vet[i]; vet++; } else { vet2[j] = vet[i]; vet2++; } } } } void exibevet (struct medialunos vetor[tf]){ int i; for (i=0;i<tf;i++){ printf ("\nMatricula do aluno: %d", vetor[i].matricula); printf ("\nNome do aluno: %s", vetor[i].nome); printf ("\nMedia do aluno: %.2lf", vetor[i].mediafinal); printf ("\n___________________________________________________\n"); } } void aprovados (struct medialunos vt[tf], int vtaprov[tf]){ int i; for (i=0;i<tf;i++){ printf ("\nAprovado!"); printf ("\nMatricula do aluno: %d", vtaprov[i].matricula); printf ("\nNome do aluno: %s", vtaprov[i].nome); printf ("\nMedia do aluno: %.2lf", vtaprov[i].mediafinal); } } void reprovados (struct medialunos vt[tf], int vetreprov[tf]){ int i; for (i=0;i<tf;i++){ printf ("Reprovado!"); printf ("\nMatricula do aluno: %d", vetreprov[i].matricula); printf ("\nNome do aluno: %s", vetreprov[i].nome); printf ("\nMedia do aluno: %.2lf", vetreprov[i].mediafinal); } } int main (){ struct medialunos vt[tf]; int vtaprov[tf], vtreprov[tf]; int opcao = 0; while (opcao != 5){ printf ("\n\n################ MENU ##########################"); printf ("\n1 - Leitura dos alunos"); printf ("\n2 - Exibir todos os alunos"); printf ("\n3 - Exibir Vetor Aprovados"); printf ("\n4 - Exibir Vetor Reprovados"); printf ("\n5 - Sair"); printf ("\n\nQual a sua opcao? "); scanf ("%d", &opcao); switch (opcao){ case 1: leitura (vt, vtaprov, vtreprov); break; case 2: exibevet (vt); break; case 3: aprovados (vt, vtaprov); break; case 4: reprovados (vt, vtreprov); break; default: printf ("\nOpcao invalida!"); } } } Agora com os ifs em duas funções /*Faça um programa que leia os dados de 10 alunos (nome, matricula, média final), armazenados num vetor. Uma vez lido os dados, divida estes dados em 2 novos vetores, o vetor dos aprovados e o vetor dos reprovados. Considere a média mínima para a aprovação como sendo 6.0. Exibir na tela os dados do vetor de aprovados, seguido dos dados do vetor de reprovados. */ #include <stdio.h> #include <string.h> #define tf 3 struct medialunos { int matricula; char nome[20]; double mediafinal; }; void leitura (struct medialunos vet[tf], struct medialunos aprov[tf], struct medialunos reprov[tf]){ int i; for (i=0, aprov =0, reprov = 0;i<tf;i++){ printf ("\nEntre com a matricula: "); scanf ("%d", &vet.matricula); printf ("\nEntre com o nome: "); fflush (stdin); fgets (vet.nome,20,stdin); printf ("\nEntre com a media final: "); scanf ("%lf", &vet.mediafinal); printf ("\n_____________________________________________\n"); } } void exibevet (struct medialunos vetor[tf]){ int i; for (i=0;i<tf;i++){ printf ("\nMatricula do aluno: %d", vetor.matricula); printf ("\nNome do aluno: %s", vetor.nome); printf ("\nMedia do aluno: %.2lf", vetor.mediafinal); printf ("\n___________________________________________________\n"); } } void aprovados (struct medialunos vt[tf], struct medialunos aprov[tf], struct medialunos reprov[tf] ){ int i; for (i=0, aprov = 0, reprov = 0;i<tf;i++){ if (vt.mediafinal >= 6) { vt = aprov; aprov++; } printf ("\nAprovado!"); printf ("\nMatricula do aluno: %d", aprov.matricula); printf ("\nNome do aluno: %s", aprov.nome); printf ("\nMedia do aluno: %.2lf", aprov.mediafinal); } } void reprovados (struct medialunos vt[tf], struct medialunos reprov[tf]){ int i; for (i=0;i<tf;i++){ if (vt.mediafinal < 6) { vt = reprov; reprov++; } printf ("Reprovado!"); printf ("\nMatricula do aluno: %d", reprov.matricula); printf ("\nNome do aluno: %s", reprov.nome); printf ("\nMedia do aluno: %.2lf", reprov.mediafinal); } } int main (){ struct medialunos vt[tf]; struct medialunos vtaprov[tf], vtreprov[tf]; int opcao = 0; while (opcao != 5){ printf ("\n\n################ MENU ##########################"); printf ("\n1 - Leitura dos alunos"); printf ("\n2 - Exibir todos os alunos"); printf ("\n3 - Exibir Vetor Aprovados"); printf ("\n4 - Exibir Vetor Reprovados"); printf ("\n5 - Sair"); printf ("\n\nQual a sua opcao? "); scanf ("%d", &opcao); switch (opcao){ case 1: leitura (vt, vtaprov, vtreprov); break; case 2: exibevet (vt); break; case 3: aprovados (vt, vtaprov, vtreprov); break; default: printf ("\nOpcao invalida!"); } } }
  8. PERDÃO ;-; Achei q era só colocar os coisinhas, não vi que tinha um botão hauha adicionado 8 minutos depois @vangodp obrigadaaaaaa
  9. Alguém pode me dar uma luz do que tem de errado nesse código??? /*Faça um programa para ler 2 vetores inteiros de tamanhos idênticos. Calcule e exiba a soma dos vetores num terceiro vetor resultante. */ #include <stdio.h> #define tl 5 void leituravetor (int vetor[], int tam){ int i; for (i=0; i<tam; i++){ printf ("Entre com um valor: "); scanf ("%d", &vetor); } } void somavet (int A[], int B[], int vetor[], int tam){ int i; for (i=0; i<tam; i++){ vetor=A+B; } } int main (){ int vetorA[tl], vetorB[tl], soma[tl]; int tf, i; printf ("Entre com o tamanho dos vetores: "); scanf ("%d", &tf); printf ("Leitura do Vetor 1\n"); leituravetor(vetorA, tf); printf ("Leitura do Vetor 2\n"); leituravetor(vetorB, tf); somavet (vetorA, vetorB, soma, tf); printf ("O vetor resultante da soma foi: \n"); for (i=0;i<tf; i++){ printf ("\n[%d] = %d", soma); } return 0; }
  10. @Shaman93 Entendi! Obrigada. Eu tentei dessa forma, inverti os operadores etc, mas achei que minha lógica estivesse errada e tivesse alguma forma trazer essa informação da função. Fico feliz em saber que minha lógica não estava totalmente errada, tinha só esquecido do || e metido && em tudo no while.
  11. @Shaman93 Eu tentei usar um do while no main mas como eu posso dizer pro main que o numero é invalido? Esse que é o meu problema. Eu consigo resolver o problema se fosse todo no main mas como pede função minha dificuldade tá sendo entender isso.
  12. Como eu posso fazer esse exercício da melhor forma? /* Faça um programa contendo uma função para verificar se o dia é válido (está no intervalo entre 1 e 31) e se o mês está entre 1 e 12. Caso esteja incorreto, ler nova data. */ #include <stdio.h> int data (int d, int m){ O máximo que eu consegui até agora foi isso, mas quando o número dá errado ele não entra no if de novo. if (d >= 1 && d <= 31 && m >= 1 && m <= 12) printf ("Dia valido!"); else printf ("Entre com um dia valido: "); scanf ("%d", &d); printf ("Entre com um mes valido: "); scanf ("%d", &m); } int main (){ int dia, mes; printf ("Entre com o dia: "); scanf ("%d", &dia); printf ("Entre com o mes: "); scanf ("%d", &mes); data(dia, mes); }
  13. @Anderson Luís de Sousa @Anderson Luís de Sousa Obrigada gente!! Tô estudando pra prova, entendi melhor como funciona o For. No caso o cont+1 é diferente de ++cont, correto?
  14. O que há de errado nesse código? /* Leia 5 valores Inteiros. A seguir mostre quantos valores digitados foram pares, quantos valores digitados foram ímpares, quantos valores digitados foram positivos e quantos valores digitados foram negativos. */ #include <stdio.h> int main (){ int num, contpar=0, contimpar=0, contpos = 0, contneg = 0; for (num=1; num<=5; num +1){ scanf ("%d", &num); if (num % 2 == 0){ contpar +1; printf ("%d valor(es) par(es)\n", contpar); } else { contimpar +1; printf ("%d valor(es) impar(es)\n", contimpar); } if (num >= 0){ contpos +1; printf ("%d valor(es) positivo(s)\n", contpos); } else { contneg +1; printf ("%d valor(es) negativo(s)\n", contneg); } } return 0; }
  15. Como posso fazer isso? "Leia 3 valores de ponto flutuante A, B e C e ordene-os em ordem decrescente, de modo que o lado A representa o maior dos 3 lados".
  16. MUITO OBRIGADA!!! VOU LEVAR ISSO PRA VIDA Tava empacada num bocado de questão por causa disso AGORA FOI
  17. Alguém pode me ajudar solucionar um probleminha com meu código? Não consigo identifica o erro de jeito nenhum :c #include <stdio.h> int main (){ double a, b, c, perimetro, area; scanf ("%lf", &a); scanf ("%lf", &b); scanf ("%lf", &c); if (a+b>c) && (b+c>a) && (c+a>b) { perimetro = a + b + c; printf("Perimetro = %.1lf\n", perimetro); } else { area = (a+b)*c/2; printf("Area = %.1lf\n", area); } return 0; }
  18. Então gente, eu tô começando a montar um pc pra jogar e eu estou com financeiro limitado. Surgiu a oportunidade de pegar um i7 - 2600 + GAH61MS1 Gigabyte, Socket 1155 + Dois Pentes de Memoria RAM Kingston DDR3 de 4 GB cada por 750 reais, a placa-mãe tá com a porta de áudio com problema mas segundo o cara um adaptador resolve a questão. A minha intenção é colocar uma GTX 1060 6gb, será que ela gargala com essa configuração? Vale mais a pena eu pegar um PENTIUM G4560, e uma H110 agora porque é o que cabe no meu orçamento ou esse kit por 750?

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!