elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Temas
Páginas: 1 [2]
11  Programación / Programación C/C++ / estoy haciendo una programa con archivo en tengo problema con la parte de consul en: 5 Diciembre 2011, 17:44 pm

El programa debe permitir hacer consulta de:
Libros:
-   Por Nombre
-   Por Tema
-   Por Autor
-   Por Editora
-   Por ISBN
Autor:
-   Por Libro
-   Por Ciudad
-   País
-   Por Editora
-   Por Tema
Editora
-   Por Libro
-   Por Ciudad
-   Por Autor
-   Por País


Código:
#include<stdio.h>
#include<stdlib.h>

 void Escribirlibros();
 void Escribireditoras();
 void Escribirautor();
 void Escribirtemas();
 Consultar();
 int Menu();
 
 struct TAutores
 {
   int  Codigo;
   char Nombre[25];
   char Apellido[25];
   char Direccion[25];
   char Telefono[14];
   char Fax[14];     
   char Correoelectronico[100];
   
 };
 
 struct TEdictoras
 {
   int  Codigo;
   char Nombre[25];
   char Apellido[25];
   char Direccion[25];
   char Telefono[14];
   char Fax[14];     
   char Pagina[50];
   char Correoelectronico[100];
   char Representate[50];
   
 };
 
 
 
 struct Libros
 
 {
   int  Codigo;
   char Nombre [60];
   int  Tema;
   int  CodigoTema;
   int  CodigoAutor;
   int  CodigoEdictora; 
   
 };
 
 
 struct Temas
 {
   int  Codigo;
   char Descripcion [25];         

 };
 
 struct Domicilio
 
 {
   char Calle[40];   
   char Numero[10];
   char Sector[40];
   char Ciudad[40];
   char pais[40];
           
 };     
 int main(){
  int r = 1;
  int Opcion = 0;
  while(Opcion != 3){
    system("cls");
    Opcion = Menu();
    switch(Opcion){     
      case 1:
        while(r){
                    Escribirlibros();
                    Escribireditoras();
                    Escribirautor();
                    Escribirtemas();
          printf("Desea continuar (1. Si, 0. No): ");
          scanf("%d", &r);         
        }
        break;
       case 2:
         Consultar();
         break;
       case 3: return 0;
       
       default: printf("un pecosa por estar poniendo opciones que no son validas...");
       system("pause");       
    }
  }
}
int Menu(void){
  int op;
  printf("1. Entrada\n\r2.Consulta\n\r3.Salir\n\n\nDigite una opcion: ");
  scanf("%d", &op);
  return op;   
}
 
 void Escribirautor()
 {
    system ("cls");
    int ps=1;
    FILE *AR = fopen("autores.dat","a+b");   
    TAutores Autores;
    if (AR==NULL)
       {
          printf ("No se pudo abrir el archivo");
          }
           else
          do {
               fseek(AR, (ps-1) * sizeof(TAutores), SEEK_SET);
               printf("Digite codigo\n\n");
               scanf ("%d",Autores.Codigo);
               printf ("Digite Nombre\n\n"); 
               gets  (Autores.Nombre);
               fflush (stdin);
               printf ("Digite el apellido\n\n");
               gets  (Autores.Apellido);
               fflush (stdin);
               printf ("Digite la direccion\n\n");
               gets  (Autores.Direccion);
               fflush (stdin);
               printf ("Digite el telefono\n\n");
               gets  (Autores.Telefono);
               fflush (stdin);
               printf ("Digite el fax\n\n");
               gets  (Autores.Fax);
               printf ("Digite el correo electronico\n\n");
               gets  (Autores.Correoelectronico);
               fflush (stdin);
               fread(&Autores, sizeof(TAutores), 1, AR);
               ps++;
               }while(!feof(AR));
                fclose(AR);
                printf("\n\n\n");
                system("pause"); 
}

           
 void Escribireditora()
 {
    system ("cls");
    int ps=1;
    FILE *AR = fopen("edictoras.dat","a+b");   
    TEdictoras Edictoras;
    if (AR==NULL)
       {
          printf ("No se pudo abrir el archivo");
          }
           else
          do {
               fseek(AR, (ps-1) * sizeof(TEdictoras), SEEK_SET);
               printf("Digite codigo\n\n");
               scanf ("%d",Editoras.Codigo);
               printf ("Digite Nombre\n\n"); 
               gets  (Editoras.Nombre);
               fflush (stdin);
               printf ("Digite el apellido\n\n");
               gets  (Editoras.Apellido);
               fflush (stdin);
               printf ("Digite la direccion\n\n");
               gets  (Editoras.Direccion);
               fflush (stdin);
               printf ("Digite el telefono\n\n");
               gets  (Editoras.Telefono);
               fflush (stdin);
               printf ("Digite el fax\n\n");
               gets  (Editoras.Fax);
               printf ("Digite el correo electronico\n\n");
               gets  (Editoras.Correoelectronico);
               fflush (stdin);
               fread(&Editoras, sizeof(TEdictoras), 1, AR);
               ps++;
               }while(!feof(AR));
                fclose(AR);
                 printf("\n\n\n");
                 system("pause");   
                 
}
             
  void Escribirlibros()
 {
    system ("cls");
    int ps=1;
    FILE *AR = fopen("edictoras.dat","a+b");   
    TLiboros Libros;
    if (AR==NULL)
       {
          printf ("No se pudo abrir el archivo");
          }
           else
          do {
               fseek(AR, (ps-1) * sizeof(TLibros), SEEK_SET);
               printf("Digite codigo\n\n");
               scanf ("%d",Edictoras.Codigo);
               printf ("Digite Nombre\n\n"); 
               gets  (Edictoras.Nombre);
               fflush (stdin);
               printf ("Digite el codigo del tema\n\n");
               scanf  ("%d",Libros.Codigotema);
               printf ("Digite el codigo de autor\n\n");
               scanf  ("%d",Libros.CodigoAutor);
               printf ("Digite el codigo de la editora \n\n");
               scanf  ("%d",Libros.Editora);
               
               fread(&Libros, sizeof(TLibros), 1, AR);
               ps++;
               }while(!feof(AR));
                fclose(AR);
                 printf("\n\n\n");
                 system("pause");   
                 
}
                       
   void Escribirtemas()
 {
    system ("cls");
    int ps=1;
    FILE *AR = fopen("temas.dat","a+b");   
    TTemas Temas;
    if (AR==NULL)
       {
          printf ("No se pudo abrir el archivo");
          }
           else
          do {
               fseek(AR, (ps-1) * sizeof(TTemas), SEEK_SET);
               printf("Digite codigo\n\n");
               scanf ("%d",Temas.Codigo);
               printf ("Digite Descripcion\n\n"); 
               gets  (Temas.Descripcion);
               fflush (stdin);   
               fread(&Temas, sizeof(TTemas), 1, AR);
               ps++;
               }while(!feof(AR));
                fclose(AR);
                 printf("\n\n\n");
                 system("pause");   
                 
}
12  Programación / Programación C/C++ / ayuda con una funcion en c en: 19 Octubre 2011, 18:03 pm
lo tengo q hacer es una funcion (pero es posible una forma d hacerlo sin la función strcmp) que compare 2 cadena enteras y devuelva -1 si cad1 <cad2 0, si son iguale ,
y 1 si  es mayor  hasta a hora esto es lo que tengo
Código:
#include<stdio.h>
#include<stdlib.h>

const int lim=20;

 int comparacadena( char cad1[lim],char cad2[lim]);


 int comparacadena( char cad1[lim],char cad2[lim]){
     
      char cad1[lim],cad2[lim];
     
  printf("digite cadena 1 ");
     
  gets(cad1);
  printf("digite cadena 2");
  gets (cad2);
  fflush(stdin); 
     
      if (cad1[lim]< cad2[lim]){
         printf ("cadena 1 es menor");
         return -1;
         }
               
          if (cad1[lim]=cad2[lim]){
               printf("cadenas son iguales");
            return 0;}
             if  (cad1>cad2){
                  printf ("cadena1 es mayor que cadena 2");   
                   return 1; 
             }
             }
     
    int main(){
               
        comparacadena( char cad1[lim], char cad2[lim]));
     
        system ("pause");
        return 0;
                     
               
               
               
 
                }
Páginas: 1 [2]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines