Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/04/2012, 21:11
Avatar de cristian_qc
cristian_qc
 
Fecha de Ingreso: abril-2011
Mensajes: 43
Antigüedad: 13 años
Puntos: 8
Respuesta: me podrian ayudar con dev c?

Uno de tus errores es este:
Código C++:
Ver original
  1. if( !strcmp( casita.habitacion == casita.habitacion ) )
Strcmp es una función para comparar cadenas. En este caso querés comparar dos números enteros. Entonces sería así:
Código C++:
Ver original
  1. if( casita.habitacion == casita.habitacion )
Pero esa comparación no tiene sentido. Estás comparando un elemento consigo mismo.

Otro error, pero no del programa sino del funcionamiento, es que en ningún momento guardás los registros.
Por último, la función main debería retornar un valor.
Código C++:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. struct casa{
  6.     int habitacion;
  7.     int bano;
  8.     float mt2;
  9.     char prop[ 30 ];
  10.     int fono;
  11.     int precio;
  12.     char direccion[ 30 ];
  13.     char comuna[ 30 ];
  14. };
  15.  
  16. int casa_hab( struct casa casita){
  17.     int i,a,x;
  18.     for( i = 0; i < 15; i++ ){
  19.         //if(!strcmp (casita.habitacion==casita.habitacion) ) // esto es incorrecto
  20.         if( casita.habitacion==casita.habitacion ){
  21.             a = casita.habitacion++;
  22.             return a;
  23.         }
  24.     }
  25. }
  26.  
  27. int main(){
  28.     FILE* archivo;
  29.     archivo = fopen( "casa.txt","a+" );
  30.     if( archivo != NULL ){
  31.         struct casa casita[ 15 ];
  32.         int i,resultado = 0;
  33.         for( i = 0; i < 2; i++ ){
  34.             printf( "Ingrese los datos de la casa : %d" , i+1 );
  35.             printf( "Ingrese numero de habitaciones: " );
  36.             scanf( "%d", &casita[ i ].habitacion );
  37.  
  38.             printf( "Ingrese numero de banos: " );
  39.             scanf( "%d" ,&casita[ i ].bano );
  40.  
  41.             printf( "Ingrese los mt2: " );
  42.             scanf( "%f", &casita[ i ].mt2 );
  43.  
  44.             printf( "Ingrese nombre del propietario: " );
  45.             scanf( "%s", &casita[ i ].prop );
  46.  
  47.             printf( "Ingrese numero de telefono: " );
  48.             scanf( "%d", &casita[ i ].fono );
  49.  
  50.             printf( "Ingrese la direccion: " );
  51.             scanf( "%s", &casita[i].direccion );
  52.  
  53.             printf( "Ingrese comuna: " );
  54.             scanf( "%s", &casita[i].comuna );
  55.         }
  56.         fclose( archivo );
  57.     }
  58.     return 0;
  59. }