Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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[]){
}
Você está precisando de alguma ajuda ou está pedindo que alguém faça as 3 funções restantes para você?
ajuda! eu quero aprender
Então comece já: não use gets.
Procure um método de ordenação p/ implementar (Bubblesort, Mergesort, Quicksort).
Você está precisando de alguma ajuda ou está pedindo que alguém faça as 3 funções restantes para você?