C/Visual C - AYUDA CON C++ ...PLEASE

 
Vista:

AYUDA CON C++ ...PLEASE

Publicado por EDSON (1 intervención) el 12/12/2008 23:25:03
MIRA TENGO QUE REALIZAR UN PROGRAMA EN C++ PERO ESTOY ATASCADO EN EL PUNTO DE PRESTAMO Y DEVOLUCION, POR EJEMPLO :
PRESTAMO:UNA OPCION QUE PUEDA PRESTAR ARTICULOS BAJO LAS SIGUIENTES CONDICIONES
-NO SE PUEDE P`RESTAR UN ARTICULO QUE NO EXISTE.
-NO SE PERMITE PRESTAR MAS DE 3 ARTICULOS SIMULTANEAMENTE AL MISMO USUARIO
-NO SE PUEDE PRESTAR LIBROS A NADIE QUE NO ESTE REGISTRADO
-MODIFICAR LA CANTIDAD DE PRESTAMOS QUE TENIE EL USUARIO
-DESHABILITAR EL ARTICULO PARA SU PRESTAMO
-ALMACENAR EL PRESTAMO

ADICIONALMENTE EL PRESTAMO IMPLICA BUSCAR EL ARTICULO Y DEJARLO COMO NO DISPONIBLE.

LA VERDAD DESCONOSCO COMO REALIZAR EL PRESTAMO , SI ES A TRAVEZ DE UNA FUNCION INDEPENDIENTE , O QUIZAS DENTRO DE LAS OTRAS FUNCIONES AGREGARLES EL CODIGO , TAMBIEN COMO MODIFICAR LOS PRESTAMOS O DEJARLOS NULOS POR EJEMPLO.
LO QUE HE REALIZADO JUNTO CON UN COMPAÑERO ES LO QUE ESTA ABAJO , PERO LA VERDAD ES SOLO PARA INGRESAR LOS DATOS , DE LA PARTE DE PRESTAMOS NO HAY NADA .
SI PUEDEN AYUDARME SE LOS AGRADECERIA MUCHO , CUALQUIER APORTE DEJENLO EN MI CORRREO PLEASE .......GRACIAS !!!!!!!!

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

//estructura para LIBRO
typedef struct{
char title[20];
char aut[15];
int npag;
char isbn[20];
int stock;
}book;

//estructura para DVD
typedef struct{
char title[20];
char dir[15];
char actor[20];
int leng;
int stock;
char cat[20];
}dvd;

//estructura para CD AUDIO
typedef struct{
char title[50];
char comp[50];
char musicos[50];
int leng;
int stock;
}cd;

//estructura para SOCIOS
typedef struct{
char nombre[20];
char apellido[20];
char rut[11];
int day;
int year;
char month[10];
char pasaje[50];
int numero;
char phone[20];
}socio;


//Prototipos para las Funciones
socio poblarsocios();
void guardarsocios(socio per);
void versocios();
void buscarsocios();
book poblarlibros();
void guardarlibros(book libro);
void verlibros();

//Programa Principal
int main(){
int op;
do
{
printf(" Ingrese una opcion 1)Almacenar cliente 2)Ver Clientes 3)buscar por rut ");
printf("4)almacenar libro 5)ver libros 6)salir ");
scanf("%d",&op);
if(op==1)
guardarsocios(poblarsocios());
if(op==2)
versocios();
if(op==3)
buscarsocios();
if(op==4)
guardarlibros(poblarlibros());
if(op==5)
verlibros();
}while(op !=6);

return EXIT_SUCCESS;
}

/*funciones y procedimientos del programa
-----------------------------------------------------------------------------


funciones para socio*/

//funcion para ingresar datos de clientes
socio poblarsocios(){
int i=0;
char rut[11];
int n;
FILE *soc;
socio per, cliente;
soc = fopen("/home/frangino/Escritorio/Mediateca/clientes.txt","r+");

printf("-------- -------------------------------------------------------------------------------------- ");
printf("----------------------------------------------------------------------------------------------- ");
printf(" I N G R E S A R C L I E N T E ");
printf("----------------------------------------------------------------------------------------------- ");
printf("-- Ingrese el Nombre & apellido del Cliente (ej: Sebastian Elgueda): ");
scanf("%s %s", per.nombre, per.apellido);
printf(" -- Ingrese fecha de Nacimiento del Cliente (ej: 25 enero 1900): ");
scanf("%d %s %d",&per.day, per.month, &per.year);
printf(" -- Ingrese el RUT del Cliente (ej: 16416697-k): ");
scanf("%s",per.rut);
printf(" -- Ingrese la DIRECCION del Cliente");
printf("%s %d",per.pasaje, per.numero);
printf(" -- Ingrese el numero de telefonico(ej: 02-552XXXX): ");
scanf("%s", per.phone);

return per;
}
//guardar datos de los socios en un archivo.
void guardarsocios(socio per){

FILE *soc;
soc = fopen("/home/frangino/Escritorio/Mediateca/clientes.txt","a+");
fwrite(&per,sizeof(per),1,soc);
fclose(soc);

}
//mostrar todos los socios ingresados
void versocios(){

int i=1;
FILE *soc;
socio cliente;
if((soc= fopen("/Documents and Settings/edson farias/Escritorio/Mediateca/clientes.txt","r+")) != NULL)
{

while(fread(&cliente,sizeof(socio),1,soc))
{
printf("------------------------------------------------------------------------------------------- ");
printf("------------------------------------------------------------------------------------------- ");
printf(" S O C I O n º %d ", i);
printf("------------------------------------------------------------------------------------------- ");
printf("Nombre Completo : %s %s ",cliente.nombre, cliente.apellido);
printf("Fecha de Nacimiento : %d %s %d ",cliente.day, cliente.month, cliente.year);
printf("RUT : %s ",cliente.rut);
printf("Direccion : %s %d ",cliente.pasaje, cliente.numero);
printf("Telefono : %s ", cliente.phone);
i++;
}
printf(" ----------------------------------------------------- ");
}
fclose(soc);
}
//buscar socios por rut
void buscarsocios(){

FILE *soc;
socio cliente;
int n;
char rut[11];
soc=fopen("/home/frangino/Escritorio/Mediateca/clientes.txt","r+");
if(!(soc))
printf(" ERROR, no fue posible abrir el archivo""alumnos.txt"" ");
else{
printf("Indique el RUT del alumno que desea Buscar: ");
scanf("%s", rut);
while ((n=fread(&cliente, sizeof(socio), 1, soc))!=0 && strcmp(cliente.rut,rut)!=0);
if (n==0){
printf("No existe alumno con rut: %s ",rut);
}else{
printf(" S O C I O E N C O N T R A D O ");
printf("------------------------------------------------------------- ");
printf("Nombre Completo : %s %s ",cliente.nombre, cliente.apellido);
printf("Fecha de Nacimiento : %d %s %d ",cliente.day, cliente.month, cliente.year);
printf("RUT : %s ",cliente.rut);
printf("Direccion : %s %d ",cliente.pasaje, cliente.numero);
printf("Telefono : %s ",cliente.phone);
printf("-------------------------------------------------------------- ");
}

}

fclose(soc);
}

//Fuciones para libros
book poblarlibros(){

book libro;
printf("-------- -------------------------------------------------------------------------------------- ");
printf("----------------------------------------------------------------------------------------------- ");
printf(" I N G R E S A R L I B R O ");
printf("----------------------------------------------------------------------------------------------- ");
printf(" -- Ingresar Titulo del Libro: ");
scanf("%s",libro.title);
printf(" -- Ingresar Nombre del Autor: ");
scanf("%s",libro.aut);
printf(" -- Ingresar el Numero de paginas: ");
scanf("%d", &libro.npag);
printf(" -- Ingresar el ISBN del libro: ");
scanf("%s", libro.isbn);
printf(" -- Ingrese stock del libro: ");
scanf("%d", &libro.stock);

return libro;
}
//funcion para almacenar libros
void guardarlibros(book libro){

FILE *lib;
lib = fopen("/home/frangino/Escritorio/Mediateca/lista de libros.txt","a+");
fwrite(&libro,sizeof(libro),1,lib);
fclose(lib);
}
//funcion para mostrar libros
void verlibros(){


FILE *lib;
book libr;

if((lib= fopen("/home/frangino/Escritorio/Mediateca/lista de libros.txt","r+")) != NULL)
{
printf(" L I S T A D E L I B R O S ");
while(fread(&libr,sizeof(book),1,lib))
{
printf("Libro : %s ",libr.title);
printf("Autor : %s ", libr.aut);
printf("Numero de Paginas : %d ", libr.npag);
printf("ISBN : %s ", libr.isbn);
printf("Stock Disponible : %d", libr.stock);
}
printf(" ----------------------------------------------------- ");
}
fclose(lib);
}

/*funcion DVD*/
dvd poblardvd(){

dvd dividi;
printf("-------- -------------------------------------------------------------------------------------- ");
printf("----------------------------------------------------------------------------------------------- ");
printf(" I N G R E S A R D V D ");
printf("----------------------------------------------------------------------------------------------- ");
printf("-- Categoria DVD: ");
scanf("%s",dividi.cat
printf(" -- Titulo del DVD: ");
scanf("%s",dividi.title);
printf(" -- Director: ");
scanf("%s",dividi.dir);
printf(" -- Protagonista: ");
scanf("%s",dividi.actor);
printf(" -- Duracion DVD: ");
scanf("%d", &dividi.leng);
printf(" -- Stock: ");
scanf("%d", &dividi.stock);

return dividi;
}
//funcion para almacenar DVD
void guardardvd(dvd dividi){

FILE *devede;
devede = fopen("/home/frangino/Escritorio/Mediateca/lista de DVD.txt","a+");
fwrite(&dividi,sizeof(dividi),1,devede);
fclose(devede);
}
//funcion pra mostrar
void verdvd(){

FILE *devede;
book dividi;

if((devede= fopen("/home/frangino/Escritorio/Mediateca/lista de DVD.txt","r+")) != NULL)
{
printf(" L I S T A D E L I B R O S ");
while(fread(&dividi,sizeof(dvd),1,devede))
{
printf("DVD : %s ",dividi.title);
printf("Categoria : %s ",dividi.cat);
printf("Director : %s ",dividi.dir);
printf("Protagonista : %s ",dividi.actor);
printf("Duracion : %d ",dividi.leng);
printf("Stock Disponible : %d ",dividi.stock);
}
printf(" ----------------------------------------------------- ");
}
fclose(devede);
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:AYUDA CON C++ ...PLEASE

Publicado por miguel capo (1 intervención) el 23/01/2009 01:56:20
1ª haz el algoritmo a mano... después en C++
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar