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

no me funciona el exit(1)

Estas en el tema de no me funciona el exit(1) en el foro de C/C++ en Foros del Web. #include<iostream.h> #include<stdlib.h> #include<fstream.h> struct info { char nombre[50]; char telefono[10]; }; void buscarNombre(info []); void buscarTelefono(info []); int main() { int ch,i; char opcion; info ...
  #1 (permalink)  
Antiguo 31/10/2007, 15:06
 
Fecha de Ingreso: octubre-2007
Mensajes: 13
Antigüedad: 17 años, 2 meses
Puntos: 0
no me funciona el exit(1)

#include<iostream.h>
#include<stdlib.h>
#include<fstream.h>
struct info
{
char nombre[50];
char telefono[10];
};

void buscarNombre(info []);
void buscarTelefono(info []);
int main()
{
int ch,i;
char opcion;
info personal[10];
ifstream archivo;

archivo.open("guia.txt");

if(archivo.fail())
{
cout<<"El archivo no se pudo abrir"<<endl;
exit(1);
}

while((ch=archivo.peek())!=EOF)
for(i=0;i<10;i++)
archivo>>personal[i].nombre>>personal[i].telefono;




cout<<"Elija una opcion: \n"
<<"a) Buscar por nombre \n"
<<"b) Buscar por numero de telefono \n"
<<"c) Salir \n";
cin>>opcion;
switch(opcion)
{
case 'a':
buscarNombre(personal);
break;
case 'b':
buscarTelefono(personal);
break;
default:
cout<<"Usted salio del programa"<<endl;
}

return 0;

}


void buscarNombre(info personal[])
{
int i;
info aux;

cout<<"Ingrese el nombre del telefono que desea averiguar: \n";
cin>>aux.nombre;
for(i=0;i<10;i++)
{
if((strcmp(aux.nombre,personal[i].nombre)==0))

cout<<"El numero de telefono es: "<<personal[i].telefono<<endl;
exit(1);
}
cout<<"Usuario inexistente"<<endl;
}

void buscarTelefono(info personal[])
{
int i;
info aux;

cout<<"Ingrese el numero de telefono para averiguar el usuario: \n";
cin>>aux.telefono;
for(i=0;i<10;i++)
{
if((strcmp(aux.telefono,personal[i].telefono)==0))

cout<<"El duenio de esa linea es: "<<personal[i].nombre<<endl;
exit(1);

}
cout<<"El numero ingresado no pertenese a un cliente en servicio";
}


El tema es el siguiente cuando no pongo el exit(1) en cada funcion el programa me anda perfecto pero un ejemplo de resultado es el siguiente:
El numero de telefono es: 4223325
Usuario inexistente

por la razon obvia que si el usuario exista o no se mostrara el mensaje
pero si pongo el exit(0)como esta en la fuente no me anda

lo compile con el dev-c++

y el archivo guia.txt contiene lo siguiente:

mode 4223325
marcos 4313325
mafu 4224492
euge 4211292
joaco 4213416
seba 4218844
joshe 4217485
erci 4313437
facu 4313484
juan 4212959
  #2 (permalink)  
Antiguo 02/11/2007, 06:40
 
Fecha de Ingreso: noviembre-2007
Mensajes: 2
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: no me funciona el exit(1)

si lo que pretendes hacer es que cuando encuentre el número se salga del for, porq que no haces un While?.
que error te sale?

bool ok = true;

while(ok && nofindebusqueda)
{
si se encuentra >> ok = false
}
if(ok) no se ha encontrado
  #3 (permalink)  
Antiguo 29/11/2007, 18:49
Avatar de Solenbum  
Fecha de Ingreso: noviembre-2007
Mensajes: 45
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: no me funciona el exit(1)

aunque esa sea la tipica solucion, pon un break raro jauajua y asi no te complicas
  #4 (permalink)  
Antiguo 30/11/2007, 18:49
 
Fecha de Ingreso: noviembre-2007
Mensajes: 37
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: no me funciona el exit(1)

Olax Man....

Oye La Verdad.... Es Uqe No Se Entiende Tu Pregunta..que Es Lo Que Deseas Hacer!!!!

Cuadno Pones Exit(1) Te Permite Abortar Del Programa.
No Entiendo Que Deseas Hacer Con Tu Codigo..si Lño Explicaras , Te Ayudaria Con Gusto!!

Alamox Man!!!
  #5 (permalink)  
Antiguo 01/12/2007, 07:39
 
Fecha de Ingreso: enero-2005
Mensajes: 93
Antigüedad: 20 años
Puntos: 1
Re: no me funciona el exit(1)

prueba a poner

return;

en lugar de exit(1)
__________________
أת٥ד ﻪو٧٤ ٣أﮐ
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 18:14.