Hola:
Soy algo nuevo en esto de programar en C, y en mi tarea me piden que haga ordene los nombres, calificaciones y consultas de los mismos, lo cual tengo mu poca idea de como hacerlo, sino es que nada, pero he leido mucho y no encuentro como solucionar esto, espero que alguin me pueda ayudar, por lo menos con una de las funciones que tengo que hacer, gracias anexo mi codigo
# include<stdio.h>
#include <stdlib.h>
#include <string.h>
/*Funcion que ordena*/
void selecccion(float cali[5]);
int a,b,n,i,j,cap,opcion;
float cali[5],promedio,capa,suma;
char nombre[5][30]={0},apellido[5][30]={0};
int main()
{
do{
printf ("\nMenu\n\n");
printf ("\nSelecciona la opcion necesaria\n\n");
printf ("1.- Numero de estudiantes\n\n");
printf ("2.-Modificar nombres\n\n");
printf ("3.-Imprimir calificaciones\n\n");
printf ("4.-promedio\n\n");
printf ("-----------------------------------------------------------------\n");
printf ("Ordenar datos\n\n");
printf ("5.-por nombre\n\n");
printf ("6.-Por calificacion\n\n");
printf ("-----------------------------------------------------------------\n");
printf ("7.-Consultas (por el nombre campo)\n\n");
scanf("%d",&opcion);
switch (opcion){
case 1:
system ("CLS");
printf("Dime cuanto alumnos quieres capturar: ");
scanf("%d",&cap);
case 2:
system ("CLS");
for (i=0;i<cap;i++){
printf ("Dame el nombre: \n");
scanf("%s",&a);
printf("Dame el apellido: \n");
scanf ("%s",&b);
printf("Dame las calificaciones: ");
scanf ("%d",&j);
system ("CLS");
nombre[i][30]=a;
apellido[i][30]=b;
cali[i]=j;
}
break;
case 3:
system("CLS");
for (i=0;i<cap;i++){
printf("%s",nombre[i]);
printf ("%s",apellido[i]);
printf("%3.2f",cali[i]);
printf ("\n");
}
break;
case 4:
system("CLS");
promedio=(j/cap);
printf("el promedio es: %2.2f\n\n",promedio);
break;
system ("PAUSE");
case 5:
printf ("ingresa el nombre: ");
scanf("%s",&a);
break;
case 6:
printf ("El orden de calificaciones es: ");
for (i=0;i<j-1;i++){
printf ("El orden es:%d ",cali[i]);
}
break;
system("PAUSE");
}
}
while (opcion=4);
}