milorde Postado Setembro 24, 2009 Denunciar Share Postado Setembro 24, 2009 Ola pessoa to com uma duvida cruelTo resolvendo um exercício porem não consigo completa-lo !já fiz de tudo mais não me entra uma idéia na cabeçagostaria que alguém pudesse me ajudar ficaria muito grato !!/*Exercicio 7 - Uma universidade deseja fazer um levantamento a respeitodo seu concurso vestibular. Para cada curso, e fornecido o seguinte conjuntode valores:- O codigo do curso;- o numero de vagas;- o numero de candidatos do sexo masculino;- o numero de candidatas do sexo feminino.O ultimo curso, para indicar fim de dados, contem o codigo do curso iguala zero. Fazer um programa em linguagem C que:- calcule e escreva, para cada curso, o numero de candidatos por vaga e aporcentagem de candidatos do sexo feminino (escreva tambem o codigocorrespondente do curso);- determine o maior numero de candidatos por vaga e escreva esse numerojuntamente com o codigo do curso correspondente (supor que não hajaempate);- calcule e escreva o total de candidatos. */ai bolei esse codigo mais não consigo fazer a parte... - determine o maior numero de candidatos por vaga e escreva esse numerojuntamente com o codigo do curso correspondente (supor que não hajaempate);e laço tmb não funciona !!#include <stdio.h> #include <conio.h> main () { int cod, vagas=0, masc=0, fem=0, codcurso,i; int vetorVaga[i] float porvaga=0, total=0,cand_fem=0; system("color f0"); printf("\n Informe o Cogido do Curso desejado ou\n digite 0 para finalizar. "); printf("\n\n\n"); //---------------------------------------------------------------------- printf("\nQual curso..: "); scanf("%d", &cod); if(cod != 0) { printf("\nQuantidade de vagas para o Curso..: "); scanf("%d", &vagas); printf("\nQuantidade de candidatos Homens..: "); scanf("%d", &masc); printf("\nQuantidade de candidatas Mulheres..: "); scanf("%d", &fem); } //---------------------------------------------------------------------- //processamento dos dados total = masc + fem; porvaga = total/vagas; cand_fem = (((float)fem/(float)vagas)*100); printf("O curso %d há %d vagas\n",cod,vagas); printf("A porcentagem de candidatas mulheres = %f\n",cand_fem); getch(); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Setembro 24, 2009 Denunciar Share Postado Setembro 24, 2009 Você terá que percorrer todos os cursos e verificar qual o número de candidados por vagas.Algo assim:float curso_maxvagas_qtd=0; int curso_maxvagas_cod=0; float curso_atual_vagas; for(int i=0;i<cursos_qtd;i++){ curso_atual_vagas=((float)(cursos[i].vagas)) / ((float) (cursos[i].candidatos_feminino+cursos[i].candidatos_masculino)); if(curso_atual_vagas>curso_maxvagas_qtd){ curso_maxvagas_qtd=curso_atual_vagas; curso_maxvagas_cod=cursos[i].codigo; } } printf("Curso c/ maior quantidade de vagas/aluno"); printf("\n\tCod. do curso: %d",curso_maxvagas_cod); printf("\n\tQtd. de vagas/aluno: %f",curso_maxvagas_qtd); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 milorde Postado Setembro 24, 2009 Autor Denunciar Share Postado Setembro 24, 2009 (editado) amigo, quase compreendi ... só umas duvidas porque voce colocouucursos[i].vagas e outra como eu faço pra declarar um vetor com valor indefinido para que seja definido pelo usuário ?? exemplo cursos[x] mostrar qual quantidade de cursos ? escrever (guardar pra definir o vetor) Editado Setembro 24, 2009 por milorde Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Setembro 24, 2009 Denunciar Share Postado Setembro 24, 2009 porque voce colocouucursos[i].vagas É porque fiz um código aqui utilizando struct. como eu faço pra declarar um vetor com valor indefinido para que seja definido pelo usuário ?? nesse caso você pode declarar o vetor após solicitar os dados do usuário int quantidade; printf("Digite a quantidade: "); scanf("%d",&quantidade); int valores[quantidade]; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 milorde Postado Setembro 25, 2009 Autor Denunciar Share Postado Setembro 25, 2009 Agora entendi como declarar vetor indefinido !! ^_^uma outra coisa, não poderia me ceder o código que você fez... para eu estudar como ele funciona ?se poder é claro , se não tudo bem fico agradecido do mesmo jeito pelo interesse em me ajudar Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Setembro 25, 2009 Denunciar Share Postado Setembro 25, 2009 Na verdade ali em cima não foi um vetor indefinido, você declarou um vetor com um tamanho definido e esse tamanho foi a quantidade que o usuário digitou.Vou postar o código aqui, mas recomendo que com esses conhecimentos tente refazer algo parecido, estudar as funções etc.#include <stdio.h> typedef struct Curso{ int codigo; int candidatos_masculino,candidatos_feminino; int vagas; } Curso; int main(int argc, char *argv[]) { //Pega a qtd de cursos int cursos_qtd; //Quantidade de cursos int i; //Contador printf("Quanitdade de cursos: "); scanf("%d",&cursos_qtd); //percorre os cursos Curso cursos[cursos_qtd]; for(i=0;i<cursos_qtd;i++){ cursos[i].codigo=i; printf("Curso %d\n",i); printf("\tVagas: "); scanf("%d",&cursos[i].vagas); printf("\tCandidadtos\n"); printf("\t\tMasculino: "); scanf("%d",&cursos[i].candidatos_masculino); printf("\t\tFeminino: "); scanf("%d",&cursos[i].candidatos_feminino); } //Verifica a qtd máx. de vagas/curso float curso_maxvagas_qtd=0; int curso_maxvagas_cod=0; float curso_atual_vagas; for(i=0;i<cursos_qtd;i++){ curso_atual_vagas=((float)(cursos[i].vagas)) / ((float) (cursos[i].candidatos_feminino+cursos[i].candidatos_masculino)); if(curso_atual_vagas>curso_maxvagas_qtd){ curso_maxvagas_qtd=curso_atual_vagas; curso_maxvagas_cod=cursos[i].codigo; } } printf("Curso c/ maior quantidade de vagas/aluno"); printf("\n\tCod. do curso: %d",curso_maxvagas_cod); printf("\n\tQtd. de vagas/aluno: %f",curso_maxvagas_qtd); //retorna 0 return 0; }Fiz algumas modificações antes de postar aqui, mas nada que influencie muito. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 milorde Postado Setembro 25, 2009 Autor Denunciar Share Postado Setembro 25, 2009 Olha fiz o meu consegui fazer, antes de tu postar esse dai..porem no exercício não posso usar função, entre outras coisas e fiz desse modo !#include<stdlib.h> #include <stdio.h> #include <conio.h> int main () { int cursos,cursos_qtd,vaga_max=0,curso_max=0; int vagas, masc, fem,i, total=0; float porvaga=0,max_porvaga=0,cand_fem=0; system("color f0"); printf("\n Informe o Cogido do Curso desejado \n "); printf("\n\n\n"); //---------------------------------------------------------------------- printf("\nQuantor curso quer analizar?..: "); scanf("%d", &cursos_qtd); for(i=0;i<cursos_qtd;i++) { /* while(cursos > 0) {*/ printf("Qual o numero do Curso..: "); scanf("%d", &cursos); printf("Quantidade de vagas para o Curso..: "); scanf("%d", &vagas); porvaga = 0; cand_fem=0; printf("Quantidade de candidatos Homens..: "); scanf("%d",&masc); printf("Quantidade de candidatas Mulheres..: "); scanf("%d",&fem); total = total + (masc + fem); //total de candidatos porvaga = ((float)fem+(float)masc)/vagas; if(porvaga>max_porvaga) { max_porvaga = porvaga; curso_max = cursos; } cand_fem = (((float)fem/(float)vagas)*100); printf("O curso %d tem a %0.2f candidatos por vagas\n",curso,porvaga); printf("A porcentagem de candidatas mulheres = %0.2f\n",cand_fem); } printf("O curso %d tem o maior numero de candidatos por vaga com %0.2f",curso_max,max_porvaga); printf("O total de candidatos = %d\n",total); getch(); }Obrigado pela ajuda, pelo que você disse bolei algumas idéias que me ajudaram bastante ! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Setembro 25, 2009 Denunciar Share Postado Setembro 25, 2009 Como assim não pode usar funções ?Seriam structs, certo ?Não cheguei a analisar o seu código completamente, então não tenho muito de que falar.Imagino que na linha abaixo o objetivo seria dar um espaçamento:printf("\n Informe o Cogido do Curso desejado \n ");É isso ?Se sim, utilize o \t.Qualquer coisa posta aí !Obs.:O tópico foi marcado como Resolvido. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
milorde
Ola pessoa to com uma duvida cruel
To resolvendo um exercício porem não consigo completa-lo !
já fiz de tudo mais não me entra uma idéia na cabeça
gostaria que alguém pudesse me ajudar ficaria muito grato !!
ai bolei esse codigo mais não consigo fazer a parte...e laço tmb não funciona !!
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.