Está en la página 1de 2

void EliminarMarca(){

SetConsoleTitle("ELIMINACION DE MARCAS");
fflush(stdin);
Marcas Marca;
FILE *ArchivoMarcas = fopen("Source/Marcas.dat", "rb");
FILE *Temporal = fopen("Source/Temporal.dat", "wb");
loop:
int AuxIdMarca, existe = 0;
string AUX;
system("CLS");
fflush(stdin);
MostrarMarcas();
cout << "\n\n\n\t\t ID DE LA MARCA QUE DESEA ELIMINAR -> ";
getline(cin,AUX);
if (VerificadorDeNumeros(AUX))
{
AuxIdMarca = atoi(AUX.c_str());
}
else
{

cout << "\n\n\t * EL INGRESO DE LETRAS ES INCORRECTO O NUMEROS


NEGATIVOS, VALIDO UNICAMENTE NUMEROS POSITIVOS *" << endl;
getch();
goto loop;
}
fread(&Marca, sizeof(Marcas), 1, ArchivoMarcas);
while (!feof(ArchivoMarcas))
{
if (AuxIdMarca == Marca.idMarca)
{
cout << "\n\t\t ID MARCA: " << Marca.idMarca;
cout << "\n\t\t NOMBRE DE LA MARCA: " << Marca.NombreMarca << endl
<< endl;
existe = 1;
cout << endl;
for (int a = 11; a <= 99; a++)
{
gotoxy(a, 18);
PUN;
}
cout << "\n\n\t\t\t\t\t\t* SE HA ELIMINADO CORRECTAMENTE*" << endl;
}
else
{
fwrite(&Marca, sizeof(Marcas), 1, Temporal);
fflush(stdin);
}
fread(&Marca, sizeof(Marcas), 1, ArchivoMarcas);
}
if (existe == 0)
{
cout << "\n\n\t\t\t\t\t\t* NO EXISTE UNA MARCA CON ESE ID *" << endl;
}

fclose(Temporal);
fclose(ArchivoMarcas);
remove("Source/Marcas.dat");
rename("Source/Temporal.dat", "Source/Marcas.dat");
}

También podría gustarte