C/Visual C - Trabajo final de C consejoss

 
Vista:

Trabajo final de C consejoss

Publicado por xar (1 intervención) el 04/06/2006 21:57:33
Hola soy nuevo. :D

Hola, tengo un trabajo final de C para el dia 12,


El exercicio es:

Tenemos que gestionar el volumen de libros de una librería.

Campos:

CODI_LLIBRE char[10]

TITOL char[10]

AUTOR char [30]

Editorial char[15]

Preu int

El menú preguntara:

1 Alta de libros

2 Baja de libros

3 Consulta

Consulta por codi

Consulta por editorial

Consulta por posicio de registre (creo que se utiliza el fseek)

Consulta por autor

4 listado de llibos

5 salir

Yo del año pasado tengo este que se parece pero sin ficheros.

[quote]

#include<stdio.h>

#include<conio.h>

#include<string.h>

#include<stdlib.h>

struct libro

{

char CODIGO[10],TITULO[30],AUTOR[20],EDITORIAL[30],SITUACION[30];

int PRECIO;

};

struct libro g[100];

int nr=0;


void introducir()

{

int rep=0,j=0;

char sn;

sn='s';

while(sn!='n')

{

do{

clrscr();

gotoxy(28,20);

printf("Introduce el codigo del libro");

gotoxy(58,20);

scanf("%[^\n]",g[nr].CODIGO);

fflush(stdin);

rep=0;

for(j=0;j<nr;j++)

if (strcmp(g[j].CODIGO,g[nr].CODIGO)==0) rep=1;

if(rep==1)

{

gotoxy(28,23);

printf("El codigo introducido ya existe.Pulsa una tecla.");

getch();

}

}while (rep!=0);

fflush (stdin);

gotoxy(28,21);

printf("Introduce el titulo");

gotoxy(48,21);

scanf("%[^\n]",g[nr].TITULO);

fflush(stdin);

gotoxy(28,22);

printf("Introduce el autor");

gotoxy(47,22);

scanf("%[^\n]",g[nr].AUTOR);

fflush(stdin);

gotoxy(28,23);

printf("Introduce la editorial");

gotoxy(51,23);

scanf("%[^\n]",g[nr].EDITORIAL);

fflush(stdin);

gotoxy(28,24);

printf("Introduce el precio ");

gotoxy(48,24);

scanf("%d",&g[nr].PRECIO);

fflush(stdin);

gotoxy(28,25);

printf("Introduce la situacion");

gotoxy(51,25);

scanf("%[^\n]",g[nr].SITUACION);

fflush(stdin);

nr++;

gotoxy(28,2;

printf("Introducir otro:s/n");

gotoxy(48,2;

scanf("%c",&sn);

fflush(stdin);

}

getch();

}


void borrar()

{

int i=0,j=0;

char a[10];

clrscr();

gotoxy(28,20);

printf("Introduce el codigo del libro");

gotoxy(58,20);

scanf("%s",&a);

fflush(stdin);

while((strcmp(a,g[i].CODIGO)!=0)&& i<nr)

i++;

if(i==nr)

{

gotoxy(28,22);

printf("El libro no se ha encontrado");

getch();

}

else

{

for(j=i;j<nr-1;j++)

g[j]=g[j+1];

nr--;

gotoxy(28,22);

printf("El libro se ha borrado");

getch();

}

}


void consultar()

{

int i=0;

char cod[10];

clrscr();

gotoxy(28,20);

printf("Introduce el codigo del libro");

gotoxy(58,20);

scanf ("%s",cod);

fflush(stdin);

while (strcmp(cod,g[i].CODIGO)!=0 && i<nr)

i++;

gotoxy(28,24);

if(i==nr)

{

printf("El codigo no se ha encontrado");

}

else

{

gotoxy(28,25);

printf ("el codigo es %s",g[i].CODIGO);

gotoxy(28,26);

printf ("el titulo es %s",g[i].TITULO);

gotoxy(28,27);

printf ("el autor es %s",g[i].AUTOR);

gotoxy(28,2;

printf ("la editorial es %s",g[i].EDITORIAL);

gotoxy(28,29);

printf ("el precio es %d",g[i].PRECIO);

gotoxy(28,30);

printf ("la situacion es %s",g[i].SITUACION);

}

getch();

}


void modificar()

{

char cod[10];

int i=0;

clrscr();

gotoxy(28,20);

printf("Introduce el codigo del libro");

gotoxy(58,20);

scanf("%s",cod);

while (strcmp(cod,g[i].CODIGO)!=0 && i<nr)

i++;

if (i==nr)

{

gotoxy(28,22);

printf("El codigo no se ha encontrado");

}

else

{

fflush(stdin);

gotoxy(28,25);

printf("Introduce el titulo del libro");

gotoxy(58,25);

scanf ("%[^\n]",g[i].TITULO);

fflush(stdin);

gotoxy(28,26);

printf("introduce el nombre del autor");

gotoxy(58,26);

scanf ("%[^\n]",g[i].AUTOR);

fflush(stdin);

gotoxy(28,27);

printf("Introduce la editorial");

gotoxy(51,27);

scanf ("%[^\n]",g[i].EDITORIAL);

fflush(stdin);

gotoxy(28,2;

printf ("Introduce el precio");

gotoxy(48,2;

scanf ("%d",&g[i].PRECIO);

fflush (stdin);

gotoxy(28,29);

printf ("Introduce su situacion");

gotoxy(51,29);

scanf ("%[^\n]",g[i].SITUACION);

fflush (stdin);

}

getch();

}



void editorial()

{

int i=0,j=0,f=0;

char cod[30];

clrscr();

gotoxy(28,20);

printf("Introduce la editorial");

gotoxy(51,20);

scanf("%s",&cod);

for (i=0;i<nr;i++)

{

if(strcmp(cod,g[i].EDITORIAL)==0)

{

gotoxy(28,22+(f++));

printf("La editorial tiene el libro %s",g[i].TITULO);

}

else

j++;

}

if(j==nr)

{

gotoxy(28,22);

printf("La editorial no se ha encontrado");

}

getch();

}


void autor()

{

int i=0,j=0,f=0;

char cod[20];

clrscr();

gotoxy(28,20);

printf("Introduce el autor");

gotoxy(47,20);

scanf("%s",&cod);

for (i=0;i<nr;i++)

{

if(strcmp(cod,g[i].AUTOR)==0)

{

gotoxy(28,22+(f++));

printf("El autor tiene el libro %s",g[i].TITULO);

}

else

j++;

}

if(j==nr)

{

gotoxy(28,22);

printf("El autor no se ha encontrado");

}

getch();

}


void main ()

{

int menu;

do{

clrscr();

gotoxy(38,16);

printf("Menu");

gotoxy(28,20);

printf("1 para introducir un libro");

gotoxy(28,22);

printf("2 para borrar un libro");

gotoxy(28,24);

printf("3 para consultar un libro");

gotoxy(28,26);

printf("4 para modificar un libro");

gotoxy(28,2;

printf("5 para consultar una editorial");

gotoxy(28,30);

printf("6 para consultar un autor");

gotoxy(28,32);

printf("7 para salir");

gotoxy(28,34);

printf("Opcion:");

scanf("%d",&menu);

fflush(stdin);


if(menu==1)

introducir();

if(menu==2)

borrar();

if(menu==3)

consultar();

if(menu==4)

modificar();

if(menu==5)

editorial();

if(menu==6)

autor();

}while(menu!=7);

getch();

}[/quote]


Es buena base? Como tendria que modificarlo ¿
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