Foros del Web » Programación para mayores de 30 ;) » C/C++ »

me podrian ayudar con dev c?

Estas en el tema de me podrian ayudar con dev c? en el foro de C/C++ en Foros del Web. hola hace poco me dieron un trabajo que hacer sobre un programa para una corredora de propiedades que ordene los valores de las casas de ...
  #1 (permalink)  
Antiguo 13/04/2012, 20:03
 
Fecha de Ingreso: abril-2012
Mensajes: 1
Antigüedad: 12 años
Puntos: 0
Pregunta me podrian ayudar con dev c?

hola hace poco me dieron un trabajo que hacer sobre un programa para una corredora de propiedades que ordene los valores de las casas de mayor a menor, que vea cuales están en la misma comuna, y cuales tienen la misma cantidad de habitaciones.
Por mas que reviso el código no logro adecuarlo para que compile...por favor agradecería su ayuda =)

aqui esta el codigo:

#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_habitacion (struc casa x)
{
int x.habitacion;
if(!strcmp(x.habitacion))
{
habitacion++;}
else{
printf("nosdsd");}
}*/


int casa_hab( struct casa casita)
{
int i,a,x;

for(i=0;i<15;i++)
{
if(!strcmp (casita.habitacion==casita.habitacion) )
{
a=casita.habitacion++;
return a;
}
}
}
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 ("\n\nIngrese numero de habitaciones :\t");
scanf("%d" ,&casita[i].habitacion);

printf("\nIngrese numero de banos :\t");
scanf("%d" ,&casita[i].bano);

printf("\nIngrese los mt2 :\t");
scanf("%f" ,&casita[i].mt2);

printf("\nIngrese nombre del propietario :\t");
scanf("%s" ,&casita[i].prop);

printf("\nIngrese numero de telefono :\t");
scanf("%d" ,&casita[i].fono);

printf("\nIngrese la direccion :\t");
scanf("%s" ,&casita[i].direccion);

printf("\nIngrese comuna :\t");
scanf("%s" ,&casita[i].comuna);
}
fclose(archivo);

//resultado=casa.habitacion;
//printf("asdasdadas %d" ,resultado); }
}
system("pause");


}
  #2 (permalink)  
Antiguo 13/04/2012, 21:11
Avatar de 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. }

Etiquetas: dev, int, programa, string, struct
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:28.