alguien me puede explicar y ayudar

Iniciado por geshiro, 22 Marzo 2015, 03:19 AM

0 Miembros y 1 Visitante están viendo este tema.

geshiro

tengo una duda como puedo hacer que cuando uso la opcion buscar si me lo da bien pero si pongo otro numero diferente del que puse me da el resultado que le puse anterior por ejemploe 13 __ aaaron,12,luis y si le pongos 15 me da lo mismo lo soliciono y igual con el de eleminar elementos  me podria ayudar a que funcione bien

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



int ca=0;
int i=0;
int buscar=0;
int x=0;
int z=0;
int num=0;


struct salmunos
{
 int matricula;
 char nom[15],pat[15],mat[15];
}alum[10];

struct scalif
{
 int matricula;
 char materia[20];
 float corte1,corte2,corte3,prom;
}calif[10];


void registrar_alumnos()
{
 /*for(int i=0; i<2; i++)
 {
 */
   printf("\n\tAlumno: ");
   scanf("%s",&alum[ca].nom);
   printf("\n\tApeido Paterno: ");
   scanf("%s",&alum[ca].pat);
   printf("\n\tApeido Materno: ");
   scanf("%s",&alum[ca].mat);
   printf("\n\t - matricula: ");
   scanf("%d",&alum[ca].matricula);
   ca++;
   
 //}
}


void mostrar_alumnos()
{
 printf("\n\nlista de Alumnos\n");
 if (ca == 0)
 {
  printf("\n\tLista vacia..!");
 }else
     {
      for(int i=0; i < ca; i++)
      {
      printf("\nAlumno: %s %s %s ",alum[i].nom, alum[i].pat, alum[i].mat);
      printf("Matricula: %d\n\n",alum[i].matricula);
   }
 }
}

void buscar_alumnos()
{    for(int i=0; i < ca; i++)
    {
     if(alum[ca].matricula==buscar)
      {
        printf("\nEl nombre: %s",alum[i].nom);
        printf("\nEl apellido paterno: %s",alum[i].pat);
        printf("\nEl apellido materno: %s",alum[i].mat);
      }
    else if(z==i)
       {
        printf("\nDatos no encontrados");
       }
     }
   }
void  eleminar_alumnos()
{
   if(ca>0)
   {
       for(int i=x; i<ca-1; i++)
           alum[i].matricula=alum[i+1].matricula;

       ca--;
   }
   else
       printf("\n\tRegistro vacio..!");

}
void menu1()
{
    system("color 0F");
    system("cls");
    printf("\n\t\tREGISTRO DE ALMUNOS\n\n");
    printf(" 1. Registrar \n");
    printf(" 2. Mostrar registro de matriculas y almunos \n");
    printf(" 3. Mostrar datos de un alumno \n");
    printf(" 4. Modificar \n");
    printf(" 5. Eliminar alumno del registro \n");
    printf(" 6. Buscar nombre del alumno por matricula \n");
    printf(" 7. Salir \n");

    printf("\n Ingrese opcion : ");
}


/*                      MAIN
------------------------------------------------------------------------------*/

int main()
{
 int op;
 
 do
 {
 menu1();
 scanf("%d",&op);
     switch(op)
     {
       case 1:
              system("cls");
              registrar_alumnos();
             
              break;
       case 2:
              system("cls");
              mostrar_alumnos();
              system("pause > NUL");
              break;
       
       
      case 5:
             system("cls");
             printf("\n Ingrese numero de Matricula: ");
             scanf("%i",&alum[ca].mat);
             eleminar_alumnos();
             system("pause > null");
             break;
             
       
       case 6:
            system("cls");
            printf("\n Ingrese numero de Matricula: ");
            scanf("%i",&alum[ca].mat);
            buscar_alumnos();
            system("pause > null");
            break;
             
     }
     

   } while(op!=7);
   
 return 0;  
}

engel lex

Cita de: geshiro en 22 Marzo 2015, 03:19 AM
alguein me puede correr el de buscar para que como si le pongo otro numero nome de el resultdo en opcion de buscar  del anterior y la de eliminar  quien me ayuda plz

explícate en palabras  completas y arma una frase que se comprenda, que eso realmente no dice mucho
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.