Ir para conteúdo

POWERED BY:

Arquivado

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

krayzerr

Programa em C não terminado! String com struct

Recommended Posts

Bom,eu preciso terminar esse programa,só que eu não sei como faço pra terminar,será que alguém poderia me ajudar,eu preciso apenas completar o programa com o que falta e é isso que está pegando comigo,eu não sou muito bom com strings. Obrigado pela ajuda!




#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define tamanho 10;

typedef struct TipoAluno {
int matricula;
char nome[40];
float coeficiente;
}TAluno;

TAluno vetor[5];

int menu();
void inicializa(TAluno v[]);
int posicaoVazia(TAluno v[]);
void inserir(TAluno v[]);
void exibir(TAluno v[]);
void classificaMatr(TAluno v[]);
void classificaNome(TAluno v[]);
void classificaCoef(TAluno v[]);


int main(){
int opcao;


inicializa(vetor);

do {
opcao = menu();

switch (opcao){
case 1: inserir(vetor); break;
case 2: exibir(vetor); break;
case 3: classificaMatr(vetor); break;
case 4: classificaNome(vetor); break;
case 5: classificaCoef(vetor); break;
}//switch

}while (opcao > 0);

}//main()

int menu(){
int op;
system("CLS");
printf("\n\n\n\t\t\t=====| MENU |=====\n\n");
printf("\t0 - SAIR (Encerrar Aplicativo).\n\n");
printf("\t1 - Inserir NOVO Aluno.\n");
printf("\t2 - Exibir TODOS Alunos.\n");
printf("\t3 - Classificar Alunos por MATRICULA.\n");
printf("\t4 - Classificar Alunos por NOME.\n");
printf("\t5 - Classificar Alunos por COEFICIENTE.\n\n");
printf("\t\tInforme OPCAO desejada: ");
scanf("%d",&op);
if ((op > 5) || (op < 0)){
printf("\n\n\tOPCAO INVALIDA !!! Entre com valores entre 0 e 5\n\n");
system("PAUSE");
}//if
return op;
}//menu()

void inicializa(TAluno v[]){
int pos;
TAluno a;
a.matricula = -1;
strcpy(a.nome, "");
a.coeficiente = -1;

for(pos = 0; pos < 5; pos++){
v[pos] = a;
}//for

}//inicializa()

int posicaoVazia(TAluno v[]){
int pos, resultado = -1;

for (pos=0; pos < 5; pos++){
if(v[pos].matricula == -1){
resultado = pos;
break;
}//if
}//for
return resultado;
}//posicaoVazia()

void inserir(TAluno v[]){
int posicao = posicaoVazia(v);

if (posicao < 0){
system("CLS");
printf("\n\n\tERRO:\n\t\tVETOR CHEIO!!!\n\n\t\tImpossivel INSERIR NOVO Aluno.\n\n");
system("PAUSE");
} else {
printf("\n\n\n\t\t\t=====| INSERIR NOVO ALUNO |=====\n\n");
printf("\tInforme MATRICULA: ");
scanf("%d",&v[posicao].matricula);
printf("\n\tInforme NOME: ");
gets(v[posicao].nome);
printf("\n\tInforme COEFICIENTE: ");
scanf("%f",&v[posicao].coeficiente);

printf("\n\n\n\tALUNO inserido com SUCESSO na POSICAO %d do VETOR.\n\n",posicao);
system("PAUSE");
}//if

}//inserir()

void exibir(TAluno v[]){
int pos;
printf("\n\n\n\t\t\t=====| EXIBIR TODOS ALUNOS |=====\n\n");
printf("POSICAO MATRICULA NOME COEFICIENTE\n\n");
for(pos= 0; pos < 5; pos++){
printf("%d\t%d\t%s\t%.2f\n", pos, v[pos].matricula,v[pos].nome,v[pos].coeficiente);
}//for
printf("\n");
system("PAUSE");
}//exibir()

void classificaMatr(TAluno v[]){

}

void classificaNome(TAluno v[]){

}

void classificaCoef(TAluno v[]){

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então comece já: não use gets.

 

Procure um método de ordenação p/ implementar (Bubblesort, Mergesort, Quicksort).

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.