krayzerr 0 Denunciar post Postado Fevereiro 19, 2013 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
reebr 94 Denunciar post Postado Fevereiro 19, 2013 Você está precisando de alguma ajuda ou está pedindo que alguém faça as 3 funções restantes para você? Compartilhar este post Link para o post Compartilhar em outros sites
krayzerr 0 Denunciar post Postado Fevereiro 20, 2013 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 Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Fevereiro 20, 2013 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