Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/08/2014, 15:30
javierelena94
 
Fecha de Ingreso: agosto-2014
Mensajes: 4
Antigüedad: 9 años, 9 meses
Puntos: 0
Pregunta Dudas de un trabajo

Muy buenas a todos los miembros de la comunidad. Estoy haciendo un proyecto de C y me preguntaba si me podríais ayudar con algunas dudas que me han surgido. Aquí va la primera.

Teniendo este "Header File" llamado "app.h":

Código C:
Ver original
  1. #ifndef APP_H_
  2. #define APP_H_
  3.  
  4. #include <stdio.h>
  5. #include <string.h>
  6.  
  7. #define MAX_CAD 256
  8.  
  9. typedef char Cadena[MAX_CAD];
  10. typedef enum {ANDROID, IOS, WINDOWS} TipoSO;
  11.  
  12. TipoSO cadenaAtipoSO(const Cadena soCad);
  13.  
  14. #endif /* APP_H_ */


Quiero probar la siguiente función en su correspondiente "Source File", "app.c":

Código C:
Ver original
  1. #include "app.h"
  2.  
  3. TipoSO cadenaAtipoSO(const Cadena soCad){
  4.    TipoSO res;
  5.    if(strcmp(soCad, "ANDROID") == 0){
  6.       res = ANDROID;
  7.    }
  8.    else if(strcmp(soCad, "IOS") == 0){
  9.       res = IOS;
  10.    }
  11.    else if(strcmp(soCad, "WINDOWS") == 0){
  12.       res = WINDOWS;
  13.    }else{
  14.       printf("\nSistema operativo erróneo***");
  15.       exit(-1);
  16.    }
  17.    return res;
  18. }


Y para probarlo uso otro "Source File" distinto al que llamé "test.c":

Código C:
Ver original
  1. #include "app.h"
  2.  
  3. void testcadenaAtipoSO();
  4.  
  5. int main(void){
  6.    testcadenaAtipoSO();
  7.    return 0;
  8. }
  9.  
  10. void testcadenaAtipoSO(){
  11.    Cadena str = "IOS";
  12.    TipoSO n = cadenaAtipoSO(str);
  13.    printf(n);
  14.    printf("COMPLETADO");
  15. }

El caso es que al hacerlo correr me sale una ventana de error que pone "Launch failed. Binary not found."

Lo que quiero hacer con esta función es transforma una cadena en un literal de tipo TipoSO (por ejemplo, la cadena “ANDROID” es transformada en el valor ANDROID de TipoSO). El tipo TipoSO ya lo creé en la cabecera "app.h".

¿Cómo podría arreglarlo?

Gracias de antemano.