Hola a Todos tengo un problema con El metodo consulta que Si ingreso una persona duplica la ultima y no quiero que haga eso aqui dejo el codigo
#include <cstdlib>
#include <iostream>
#include <fstream>
#include<conio.h>
#include<stdio.h>
#include<ctype.h>
using namespace std;
float notap;
float p;
char opc;
struct alumnos
{
char nombre[10],apellido[10],sexo,opc;
int cedu,edad;
float nota1,nota2,nota3;
}alu;
void Ingresar()
{
ofstream Alumnos; //flujo de datos de entrada llamado  Alumnos)
Alumnos.open("Alumnos.txt",ios::out|ios::app); // Crea un archivo txt si no existe("out") y no superpone("app") lo guardado si no q lo guarda abajo
    if (Alumnos.fail())  //verifica si ocurrio un error
    {
          cout<<"ERROR AL CREAR ARCHIVO TXT";
          getch();  // da una pausa hasta que el usuario presione una tecla                  
    }
    else
    {
                system("cls");                                                                    
        cout<<"\n\n\t\t\t\t-INGRESE LOS DATOS-\n\n\n";                 //Ingresa Alumnosss
        cout<<"Ingrese Nombre Del Alumno(a)\n";
        cin>>alu.nombre;
        cout<<"Ingrese Apellido Del Alumno(a)\n";
        cin>>alu.apellido;
        cout<<"Ingrese Cedula Del Alumno(a)\n";
        cin>>alu.cedu;
        cout<<"Ingrese Sexo Del Alumno(a) (M/F)\n";
        cin>>alu.sexo;
        cout<<"Ingrese edad Del Alumno(a)\n";
        cin>>alu.edad;
        cout<<"Ingrese Nota1 Del Alumno(a)\n";
        cin>>alu.nota1;
        cout<<"Ingrese Nota2 Del Alumno(a)\n";
        cin>>alu.nota2;
        cout<<"Ingrese Nota3 Del Alumno(a)\n";
        cin>>alu.nota3;          
        p=alu.nota1+alu.nota2+alu.nota3;         // Operacion para calcular el promedio Primero suma despeys divide
        notap=p/3;        
        Alumnos<<" "<<alu.nombre<<" "<<alu.apellido<<" "<<alu.cedu<<" "<<alu.sexo<<" "<<alu.edad<<" "<<alu.nota1<<" "<<alu.nota2<<" "<<alu.nota3<<" "<<notap<<endl;
        // en la linea de arriba guarda los alumnos ingresados en el txt
       cout<<"ALUMNOS REGISTRADO CON EXITO..)?";
       getch();         
      Alumnos.close();        
    }
}
void Consultar()
{ 
ifstream consulta; // crea un flujo de datos de salida
consulta.open("Alumnos.txt",ios::in); // Busca los datos que estan almacenados en el txt alumnos 
 if(consulta.fail()) // si falla la creacion mandara un error
 {
   cout<<"Fallo la Consulta";
   getch();
 }
 else
 {                      
     while(!consulta.eof()) // se repetira hasta que no alla mas datos en el txt hasta que llege al final eso quiere decir eof
     {        
        consulta>>alu.nombre>>alu.apellido>>alu.cedu>>alu.sexo>>alu.edad>>alu.nota1>>alu.nota2>>alu.nota3>>notap;          
          cout<<"\nNombre "<<alu.nombre;
          cout<<"\nApellido "<<alu.apellido;
          cout<<"\nCedula "<<alu.cedu;
          cout<<"\nSexo "<<alu.sexo;
          cout<<"\nEdad "<<alu.edad;
          cout<<"\nNota1 "<<alu.nota1;
          cout<<"\nNota2 "<<alu.nota2;
          cout<<"\nNota3 "<<alu.nota3;
          cout<<"\n-----------------------------";                
     }
    consulta.close();  
 }
 getch();
}
void Buscar()
{
int val=0;
ifstream consulta;
consulta.open("Alumnos.txt",ios::in); 
 if(consulta.fail())
 {
   cout<<"Fallo la Consulta";
   getch();
 }
 else
 {
        int ced;
           system("cls");        
        cout<<"\nIngrese Cedula Del Alumno\n";
        cin>>ced;        
        consulta>>alu.nombre;     
     while(!consulta.eof())
     {
        consulta>>alu.nombre>>alu.apellido>>alu.cedu>>alu.sexo>>alu.edad>>alu.nota1>>alu.nota2>>alu.nota3>>notap;          
          if(ced==alu.cedu)
          {          
              val=1;
              cout<<"\nNombre "<<alu.nombre;
              cout<<"\nApellido "<<alu.apellido;
              cout<<"\nCedula "<<alu.cedu;
              cout<<"\nSexo "<<alu.sexo;
              cout<<"\nEdad "<<alu.edad;
              cout<<"\nNota1 "<<alu.nota1;
              cout<<"\nNota2 "<<alu.nota2;
              cout<<"\nNota3 "<<alu.nota3;
              cout<<"\n-----------------------------";                    
          }
          consulta>>alu.nombre; 
     }
         if(val==0)
        {
        cout<<"El Alumno A Buscar No Esta Registrado, Registrelo";
        }
    consulta.close();
 }
 getch();
}
void Modificar()
{
system("cls");
int val=0;
          ifstream consulta;
          consulta.open("Alumnos.txt",ios::in);
          ofstream Alumnos;
          Alumnos.open("Temps.txt",ios::out);   
 if(consulta.fail() || Alumnos.fail())
 {
   cout<<"Fallo la Creacion del archivo Consulta.txt o Temp.txt";
   getch();
 }
 else
 {
        int ced;                              
        cout<<"Se Le Mostrara Primero Los Datos a Modificar\n";
        getch();
        Buscar();        
        cout<<"\nIngrese Cedula Del Alumno Para Modificar\n";
        cin>>ced;        
        consulta>>alu.nombre;     
     while(!consulta.eof())
     {
        consulta>>alu.nombre>>alu.apellido>>alu.cedu>>alu.sexo>>alu.edad>>alu.nota1>>alu.nota2>>alu.nota3>>notap;          
          if(ced==alu.cedu)
          {          
              val=1;
              cout<<"\nIngrese El Nuevo Nombre ";
              cin>>alu.nombre;
              cout<<"\nApellido ";
              cin>>alu.apellido;
              cout<<"\nCedula ";
              cin>>alu.cedu;
              cout<<"\nSexo ";
              cin>>alu.sexo;
              cout<<"\nEdad ";
              cin>>alu.edad;
              cout<<"\nNota1 ";
              cin>>alu.nota1;
              cout<<"\nNota2 ";
              cin>>alu.nota2;
              cout<<"\nNota3 ";
              cin>>alu.nota3;
              cout<<"\n-----------------------------";                    
          }
          Alumnos<<alu.nombre<<" "<<alu.apellido<<" "<<alu.cedu<<" "<<alu.sexo<<" "<<alu.edad<<" "<<alu.nota1<<" "<<alu.nota2<<" "<<alu.nota3<<" "<<notap<<endl;
          consulta>>alu.nombre; 
     }
         if(val==0)
        {
        cout<<"\nEl Alumno A Buscar No Esta Registrado, Registrelo";
        }
     consulta.close();
     Alumnos.close();       
       remove("Alumnos.txt");
       rename("temps.txt","Alumnos.txt");  
 }
 getch();
}
void Alumnos_Aprovados()
{
int val=0;
ifstream consulta;
consulta.open("Alumnos.txt",ios::in); 
 if(consulta.fail())
 {
   cout<<"Fallo la Consulta";
   getch();
 }
 else
 {        
           system("cls");                              
        consulta>>alu.nombre;     
     while(!consulta.eof())
     {
        consulta>>alu.nombre>>alu.apellido>>alu.cedu>>alu.sexo>>alu.edad>>alu.nota1>>alu.nota2>>alu.nota3>>notap;          
          if(notap>=10)
          {
           cout<<"\n\n\t\t\t\t-ALUMNOS APROVADOS-\n\n\n";
              val=1;
              cout<<"\nNombre "<<alu.nombre;
              cout<<"\nApellido "<<alu.apellido;
              cout<<"\nCedula "<<alu.cedu;
              cout<<"\nSexo "<<alu.sexo;
              cout<<"\nEdad "<<alu.edad;
              cout<<"\nNota1 "<<alu.nota1;
              cout<<"\nNota2 "<<alu.nota2;
              cout<<"\nNota3 "<<alu.nota3;
              cout<<"\nAprovado Con La Nota De "<<notap;
              cout<<"\n-----------------------------";                    
          }
          consulta>>alu.nombre; 
     }
     if(val==0)
        {
        cout<<"NO HAY ALUMNOS APROVADOS";
        }        
    consulta.close();
 }
 getch();
}
void Alumnos_Reprovados()
{
int val=0;
ifstream consulta;
consulta.open("Alumnos.txt",ios::in); 
 if(consulta.fail())
 {
   cout<<"Fallo la Consulta";
   getch();
 }
 else
 {        
           system("cls");                               
        consulta>>alu.nombre;     
     while(!consulta.eof())
     {
        consulta>>alu.nombre>>alu.apellido>>alu.cedu>>alu.sexo>>alu.edad>>alu.nota1>>alu.nota2>>alu.nota3>>notap;          
          if(notap<10)
          {          
              val=1;
              cout<<"\n\n\t\t\t\t-ALUMNOS REPROVADOS-\n\n\n";  
              cout<<"\nNombre "<<alu.nombre;
              cout<<"\nApellido "<<alu.apellido;
              cout<<"\nCedula "<<alu.cedu;
              cout<<"\nSexo "<<alu.sexo;
              cout<<"\nEdad "<<alu.edad;
              cout<<"\nNota1 "<<alu.nota1;
              cout<<"\nNota2 "<<alu.nota2;
              cout<<"\nNota3 "<<alu.nota3;
              cout<<"\nReprovado Con La Nota De "<<notap;
              cout<<"\n-----------------------------";                    
          }
          consulta>>alu.nombre; 
     }  
    consulta.close();
    if(val==0)
        {
        cout<<"NO HAY ALUMNOS REPROVADOS";
        }
 }
 getch();
}
void Nota_12_y_16()
{
int val=0;
ifstream consulta;
consulta.open("Alumnos.txt",ios::in); 
 if(consulta.fail())
 {
   cout<<"Fallo la Consulta";
   getch();
 }
 else
 {        
           system("cls");                        
        consulta>>alu.nombre;     
     while(!consulta.eof())
     {
        consulta>>alu.nombre>>alu.apellido>>alu.cedu>>alu.sexo>>alu.edad>>alu.nota1>>alu.nota2>>alu.nota3>>notap;          
          if(notap>=12 && notap<=16 && alu.sexo=='M')
          {
          cout<<"\n\n\t\t\t-ALUMNOS MASCULINO CON NOTA ENTRE 12 Y 16-\n\n\n";
              val=1;
              cout<<"\nNombre "<<alu.nombre;
              cout<<"\nApellido "<<alu.apellido;
              cout<<"\nCedula "<<alu.cedu;
              cout<<"\nSexo "<<alu.sexo;
              cout<<"\nEdad "<<alu.edad;
              cout<<"\nNota1 "<<alu.nota1;
              cout<<"\nNota2 "<<alu.nota2;
              cout<<"\nNota3 "<<alu.nota3;
              cout<<"\n Su Nota Promedio Es: "<<notap;
              cout<<"\n-----------------------------";                    
          }
          consulta>>alu.nombre; 
     }   
    consulta.close();
    if(val==0)
        {
        cout<<"NO HAY ALUMNOS CON ESTAS CARACTERISTICAS";
        }
 }
 getch();
}
int main(int argc, char *argv[])
{
  char opc;    
   system("cls");
   do
   {
      cout<<"A-.Ingresar  Alumnos"<<endl;       
      cout<<"B-.Consultar Alumnos"<<endl;
      cout<<"C-.Buscar    Alumnos"<<endl;
      cout<<"D-.Modificar Alumnos"<<endl;
      cout<<"E-.Mostrar   Alumnos Aprovados"<<endl;
      cout<<"F-.Mostrar   Alumnos Reprovados"<<endl;
      cout<<"G-.Mostrar   Alumnos Nota de 12 a 16 Con Edad Mayor al Promedio y Masculino "<<endl;
      cout<<"H-.Salir"<<endl;                  
         do
         {                           
           do
           {
             opc=toupper (getch());  //Para Tranformar en mayuscula la letra que ira en OPC
           }while(!isalpha(opc))  ; //Si tocas un numero se repite hasta que toque una letra Comprueba sin un carácter es alfabético.             
         }while(opc<'A' || opc>'H');  
  switch (opc)
  {
       case 'A':
       {
          system("cls");
          Ingresar();
          break;       
       }       
       case 'B':
       {
          system("cls");
          Consultar();
          break;       
       }
       case 'C':
       {
          Buscar();
          break;       
       }
       case 'D':
       {
          Modificar();
          break;
       }          
       case 'E':
       {
          Alumnos_Aprovados();
          break;       
       }
       case 'F':
       {
          Alumnos_Reprovados();
          break;       
       }
       case 'G':
       {
          Nota_12_y_16();
          break;       
       }                  
  }    
  system("cls");
   }while(opc!='H');             
    system("PAUSE");
    return EXIT_SUCCESS;
}