Estimados tengo el siguiente problema:
Tengo un codigo que lo que hace es generar un archivo donde se cargan saldos de celular. El tema es el siguiente: En el mismo es si ingreso la localidad de Buenos Aires le tengo que agregar un 10% mas a la carga, el problema es que cuando lo hago no me lo agrega y no se porque es. les paso le codigo y marco en rojo donde tengo el problema.
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
typedef struct { int linea;
char localidad [21];
float saldo;
} info;
void calculo (void);
void main (void)
{
FILE *pf;
int linea;
char localidad[21];
float saldo,t1;
info datos;
if((pf=fopen("mensajeria.dat","rb+"))==NULL)
if((pf=fopen("mensajeria.dat","wb+"))==NULL)
{
printf("No existe el archivo");
getch();
exit(1);
}
printf("\nIngrese Numero de telefono: ");
scanf("%d",&linea);
while(linea!=0)
{
printf("\nIngrese Saldo: ");
scanf("%f",&saldo);
fflush(stdin);
printf("\nIngrese localidad: ");
gets(localidad);
if(localidad=="BuenosAires")
{
printf("1");
fseek(pf,0,SEEK_END);
datos.linea=linea;
datos.saldo=saldo+saldo*0.1;
strcpy(datos.localidad,localidad);
fwrite(&datos,sizeof(info),1,pf);
}
else
{
printf("0");
fseek(pf,0,SEEK_END);
datos.linea=linea;
datos.saldo=saldo;
strcpy(datos.localidad,localidad);
fwrite(&datos,sizeof(info),1,pf);
}
printf(localidad);
printf("\nIngrese Numero de telefono: ");
scanf("%d",&linea);
}
fclose(pf);
calculo();
getch();
}
void calculo (void)
{
FILE *pf;
info datos;
printf("\nDatos del Archivo");
if((pf=fopen("mensajeria.dat","rb+"))==NULL)
{
printf("No existe el archivo solicitado");
getch();
exit(1);
}
fread(&datos,sizeof(info),1,pf);
while(!feof(pf))
{
printf("\n Linea: %d Saldo: %f Localidad: %s",datos.linea, datos.saldo,datos.localidad);
fread(&datos,sizeof(info),1,pf);
}
fclose(pf);
}
Muchas Gracias!!