Ir ao conteúdo
  • Cadastre-se

como corrigir esse problema


RAFAEL BARRETO

Posts recomendados

Escreva um programa que solucione o problema de preenchimento das vagas nos cursos de uma

universidade. Cada aluno que prestou vestibular em uma determinada Universidade, originou um

registro com os seguintes campos: número de inscrição, nota geral obtida (de 0.0 a 10.0) e código

do curso para o qual ele se candidatou. A universidade oferece 5 cursos com 50 vagas cada. O

problema consiste em distribuir os candidatos entre os cursos, de acordo com a nota final e com a

opção apresentada pelo candidato. Em caso de empate, será atendido primeiro, o candidato com

menor número de inscrição. Sabe-se que o final de dados será determinado pelo campo de inscrição

negativo

struct aluno

{

char nome [30];

char curso [30];

float nota;

float inscricao;

float codigo;

};

main()

{

aluno r[5000];

int i, x, op, j=0, n=0;

char nc[30];

aluno z;

{

printf ("\n Forneca o numero de alunos que deseja cadastrar : ");

scanf ("%d", &x);

system("cls");

}

for (i=0;i<x;i++)

{

system("cls");

printf ("\n Nome do aluno : ");

scanf ("%s", &r.nome);

printf ("\n Nota : ");

scanf ("%f", &r.nota);

printf ("\n Numero da inscricao : ");

scanf ("%f", &r.inscricao);

printf ("\n Curso : ");

scanf ("%s", &r.curso);

printf ("\n Codigo do curso :");

scanf ("%f", &r.codigo);

system("cls");

}

while (op!=-3)

{

system("cls");

printf ("\n 1 -Candidatos aprovados ");

printf ("\n 2 -Candidatos empatados ");

printf ("\n -3 -Para sair ");

printf ("\n Forneca a opcao desejada : ");

scanf ("%d", &op);

system("cls");

switch(op)

{

case 1:

{

printf ("\n Curso : ");

scanf ("%s", &nc);

for (i=0; i<x ;i++)

if ( strcmp ( nc , r.curso)==0)

{

for (i=0; i<x ;i++)

{

n++;

for ( j=n; j<x; j++ )

if ( r.nota < r[j].nota )

{

z = r;

r = r[j];

r[j] = z;

}

printf ("\n Nome : ");

printf ("%s", r.nome);

printf ("\n Nota : ");

printf ("%.0f", r.nota);

printf ("\n\n");

}

}

break;

}

case 2:

printf ("\n Curso : ");

scanf ("%s", &nc );

{

for (i=0; i<x; i++)

{

if ( strcmp (nc , r.curso)==0)

if (r.nota == r[j].nota)

{

for (i=0; i<x ;i++)

{

n++;

for ( j=n; j<x; j++ )

if ( r.inscricao < r[j].inscricao )

{

z = r;

r = r[j];

r[j] = z;

}

}

}

printf ("\n Nome : ");

printf ("%s", r.nome);

printf ("\n Nota : ");

printf ("%.0f", r.nota);

printf ("\n Numero da incricao : ");

printf ("%.0f", r.inscricao);

printf ("\n Curso : ");

printf ("%s", r.curso);

printf ("\n\n");

}

break;

}

case -3:

{

printf ("\n Tecle enter para finalizar... ");

break;

}

default:

printf ("\n Operacao invalida ... \n Tecle um numero de 1 a 3 ");

}

getch();

}

}

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!