Sei sulla pagina 1di 4

#include <iostream>

#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <stdlib.h>
#include <cstdlib>
#include <windows.h>
#include <string.h>

using namespace std;


void gotoxy(int x, int y){
HANDLE hcon=GetStdHandle(STD_OUTPUT_HANDLE);
COORD dwPos;
dwPos.X = x;
dwPos.Y =y;
SetConsoleCursorPosition(hcon,dwPos);
}
struct liga{
int codigop;
char descrip[30];
int cantidad;
float precio;
}registro;
FILE *alias;
bool band, band1;
int opcion, codigo, canti, tamano;
float valor;
char descri[30];
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {


do{
system("cls");
gotoxy(10,10); cout<<"1.- Insertar registro"<<endl;
gotoxy(10,12);cout<<"2.-consultar registro"<<endl;
gotoxy(10,14);cout<<"3.- Listado productos"<<endl;
gotoxy(10,16);cout<<"4.-Salir"<<endl;
gotoxy(10,18);cout<<"Seleccione una opcion";
gotoxy(33,18);cin>>opcion;
switch(opcion){
case 1:{
alias=fopen("producto.sec","ab+");
if(alias==NULL){
cout<<"No se puedo crear el archivo";
system("pause");
fclose(alias);
}

else{
fseek(alias,0,SEEK_END);
tamano=ftell(alias);
if(tamano==0){
system("cls");
gotoxy(5,5);cout<<"primer registro"<<endl;
gotoxy(10,10); cout<<"codigo"; cin>>registro.codigop;
gotoxy(10,12);cout<<"descripción";cin>>registro.descrip;
gotoxy(10,14);cout<<"cantidad";cin>>registro.cantidad;
gotoxy(10,16);cout<<"precio";cin>>registro.precio;
fwrite(&registro,sizeof(registro),1,alias);
cout<<"registro almacenado"<<endl;
fclose(alias);
system("pause");
}
else{
band=false;
alias=fopen("producto.sec","rb+");
system("cls");
gotoxy(10,10); cout<<"codigo"; cin>>codigo;
while(!feof(alias)){
fread(&registro,sizeof(registro),1,alias);
if(registro.codigop==codigo){
band=true;
cout<<"estuve en el while";
system("pause");
}
}
if(!band){
registro.codigop=codigo;
gotoxy(10,12);cout<<"descripción";cin>>registro.descrip;
gotoxy(10,14);cout<<"cantidad";cin>>registro.cantidad;
gotoxy(10,16);cout<<"precio";cin>>registro.precio;
fwrite(&registro,sizeof(registro),1,alias);
cout<<"registro almacenado"<<endl;
fclose(alias);
system("pause");

}
else{
system("cls");
cout<<"Codigo ya esta asociado a un registro, verificar";
fclose(alias);
system("pause");

}
}
break;
}
case 2:{
if (ftell(alias)==0){
cout<<"archivo vacio"<<endl;
system("pause");
}
else{
alias=fopen("producto.sec","rb");
if(alias==NULL){
cout<<"no existe el archivo";
system("pause");
}
else{
system("cls");
gotoxy(10,10); cout<<"codigo"; cin>>codigo;
band1=false;
while(!feof(alias)){
fread(&registro,sizeof(registro),1,alias);
if(registro.codigop==codigo){
canti=registro.cantidad;
valor=registro.precio;
strcpy(descri,registro.descrip);
band1=true;
}
}
if(band1==true){
system("cls");
gotoxy(10,10); cout<<"codigo: "<<codigo;
gotoxy(10,10);cout<<"descripción: "<<descri<<endl;
gotoxy(10,12);cout<<"cantidad: "<<canti<<endl;
gotoxy(10,14);cout<<" precio: "<<valor<<endl;
system("pause");
}
else{
cout<<"no hay registro asociado"<<endl;
system("pause");
}

}
fclose(alias);

break;
}
case 3: {
if (ftell(alias)==0){
cout<<"archivo vacio"<<endl;
system("pause");
}
else{
alias=fopen("producto.sec","rb");
if(alias==NULL){
cout<<"no existe el archivo";
system("pause");
}
else{
system("cls");
while(!feof(alias)){
fread(&registro,sizeof(registro),1,alias);
cout<<"codigo: "<<registro.codigop<<endl;
cout<<"descripcion: "<<registro.descrip<<endl;
cout<<"cantidad: "<<registro.cantidad<<endl;
cout<<"precio: "<<registro.precio<<endl;
cout<<endl;
cout<<endl;
}
fclose(alias);
system("pause");
}
}
break;

}
case 4:{
break;
}
}

}while(opcion!=4);
return 0;
}

Potrebbero piacerti anche