Uno de tus errores es este:
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 originalif( 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#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct casa{
int habitacion;
int bano;
float mt2;
char prop[ 30 ];
int fono;
int precio;
char direccion[ 30 ];
char comuna[ 30 ];
};
int casa_hab( struct casa casita){
int i,a,x;
for( i = 0; i < 15; i++ ){
//if(!strcmp (casita.habitacion==casita.habitacion) ) // esto es incorrecto
if( casita.habitacion==casita.habitacion ){
a = casita.habitacion++;
return a;
}
}
}
int main(){
FILE* archivo;
archivo
= fopen( "casa.txt","a+" ); if( archivo != NULL ){
struct casa casita[ 15 ];
int i,resultado = 0;
for( i = 0; i < 2; i++ ){
printf( "Ingrese los datos de la casa : %d" , i
+1 ); printf( "Ingrese numero de habitaciones: " ); scanf( "%d", &casita
[ i
].
habitacion );
printf( "Ingrese numero de banos: " ); scanf( "%d" ,&casita
[ i
].
bano );
printf( "Ingrese los mt2: " ); scanf( "%f", &casita
[ i
].
mt2 );
printf( "Ingrese nombre del propietario: " ); scanf( "%s", &casita
[ i
].
prop );
printf( "Ingrese numero de telefono: " ); scanf( "%d", &casita
[ i
].
fono );
printf( "Ingrese la direccion: " ); scanf( "%s", &casita
[i
].
direccion );
scanf( "%s", &casita
[i
].
comuna ); }
}
return 0;
}