elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [Error] ld returned 1 exit status
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Error] ld returned 1 exit status  (Leído 2,761 veces)
goofyalas

Desconectado Desconectado

Mensajes: 1


Ver Perfil
[Error] ld returned 1 exit status
« en: 14 Noviembre 2016, 14:28 pm »

me aparece este mensaje y nose porke se debe :c alguien que me ayude :c

Código
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include "dibujos.h"
  4. #include <stdlib.h>
  5. #include <ctype.h>
  6.  
  7. #define plb1 "alfajor" //palabras incognitas
  8. #define plb2 "cazador"
  9. #define plb3 "pulento"
  10. #define plb4 "maquina"
  11. #define plb5 "gozador"
  12. #define plb6 "chilito"
  13. #define plb7 "donador"
  14. #define plb8 "arrojar"
  15. #define plb9 "windiws"
  16. #define plb0 "ganador"
  17.  
  18. void Seleccion_de_palabra (char *, int *);
  19. void Ingreso_de_letra(int *,char *, char *);
  20. void Verificador_de_letra(char *, char *, char *, char *, char *, char *, char *, int *, char *, char *);
  21. void Verificador_de_error(int *, char *, int *, char *, char *, char *, char *, char *, int *);
  22. void Verificador_de_termino(int *, char *, char *, int *);
  23. void Volver_a_jugar(char *);
  24. void Reinicio_de_var_importantes(char *, char *, int *, int *, char *, char *, char *, char *, char *, int *);
  25.  
  26.  
  27.  
  28. int main (){                         //funcion main ejecuta las demas funciones. Entrada nada retorno nada
  29. char plb[10];         //Variable la cual toma el valor de las palabras incognitas
  30. char progress [16]="_ _ _ _ _ _ _";   //variable la cual mostrara lo que lleva el jugador
  31. int vida=0;             //variable que llevara el numero de vidas
  32. char again [3]="s";       //variable que hara reiniciar el juego
  33. int cont_1=0;           //variable de contension para ver si la letra ingresada coincide con alguna letra de la palabra  
  34. char cont_2 [10]="xxxxxxx";     //variable de contension que sirve para llevar una cuenta de las letras que ya se descubrieron
  35. int cont_3=0;           //variable de contension que ayuda a salir de la iteracion de probar letras
  36. char letra [2]="a";       //variable que almacena la letra ingresada
  37. int num=0;              //variable que elige la palabra que se usara
  38. char a[2];            //variables que almacenan letras erroneas
  39. char e[2];
  40. char i[2];
  41. char o[2];
  42. char u[2];
  43. int cont=0;             //variable de contension que sirve para asgnar letras erroneas
  44. while (again [0]=='s'){
  45. Seleccion_de_palabra(&plb[10], &num);
  46.    while (cont_3==0){
  47.    Ingreso_de_letra(&vida, &progress[16], &letra[2]);
  48.    Verificador_de_letra(&letra[2], &a[2], &e[2], &i[2], &o[2], &u[2], &progress[16], &cont_1, &cont_2[10], &plb[10]);
  49.    Verificador_de_error(&cont_1, &letra[2], &vida, &a[2], &e[2], &i[2] , &o[2], &u[2], &cont);
  50.    Verificador_de_termino(&vida, &plb[10], &cont_2[10], &cont_3);
  51.    }
  52.    Volver_a_jugar(&again[3]);
  53.    Reinicio_de_var_importantes(&cont_2[10], &progress[16], &vida, &cont_3, &a[2], &e[2], &i[2] , &o[2], &u[2], &cont);
  54. }
  55. return 0;
  56. }
  57. void Seleccion_de_palabra (char *plb[10], int *num){        //en esta funcion se selecciona una palabra para ser ocupada.Entrada struct variables retorno nada
  58. if (*num==10){
  59. *num=*num-10;
  60. }
  61. switch (*num){
  62. case 0:
  63. strcpy (*plb,plb1);
  64. *num++;
  65. break;
  66. case 1:
  67. strcpy (*plb,plb2);
  68. *num++;
  69. break;
  70. case 2:
  71.    strcpy (*plb,plb3);
  72. *num++;
  73. break;
  74. case 3:
  75. strcpy (*plb,plb4);
  76. *num++;
  77. break;
  78. case 4:
  79.    strcpy (*plb,plb5);
  80. *num++;
  81. break;
  82. case 5:
  83. strcpy (*plb,plb6);
  84. *num++;
  85. break;
  86. case 6:
  87. strcpy (*plb,plb7);
  88. *num++;
  89. break;
  90. case 7:
  91.    strcpy (*plb,plb8);
  92. *num++;
  93. break;
  94. case 8:
  95. strcpy (*plb,plb9);
  96. *num++;
  97. break;
  98. case 9:
  99. strcpy (*plb,plb0);
  100. *num++;
  101. break;
  102. }
  103. }
  104. void Ingreso_de_letra(int *vida,char *progress[16], char *letra[2]){             //en esta funcion se ingresa una letra intentando atinar a la palabra incognita .Entrada struct variables retorno nada
  105. system("cls");
  106. TituloJuego();
  107. switch (*vida){
  108. case 0:
  109. SinAhorcado();
  110. break;
  111. case 1:
  112. Cabeza();
  113. break;
  114. case 2:
  115. Tronco();
  116. break;
  117. case 3:
  118. BrazoIzquierdo();
  119. break;
  120. case 4:
  121. BrazoDerecho();
  122. break;
  123. case 5:
  124. PiernaIzquierda();
  125. break;
  126. case 6:
  127. PiernaDerecha();
  128. break;
  129. }
  130.    printf("\n\n\t%s", *progress);
  131.    printf("\n\n");
  132.    do{
  133.        if (!isalpha(*letra[0])){
  134.         printf("dato ingresado no corresponde\n");
  135. }
  136. printf("ingrese  una letra:\n");
  137.        scanf("%s", & *letra [0]);
  138.        *letra[0]=tolower(*letra[0]);
  139. }while(!isalpha(*letra[0]));
  140. system("cls");
  141. }
  142. void Verificador_de_letra(char *letra[2], char *a[2], char *e[2], char *i[2], char *o[2], char *u[2], char *progress[16], int *cont_1, char *cont_2[10], char *plb[10]){         //en esta funcion se verifica la letra comparandola con las letras de la palabra incognita.Entrada struct variables retorno nada
  143. while (*letra[0]!=*a[0] && *letra[0]!=*e[0] && *letra[0]!=*i[0] && *letra[0]!=*o[0] && *letra[0]!=*u[0]){
  144.    if (*plb [0]==*letra[0]){
  145.    *progress [0]=*letra[0];
  146.    *cont_1=1;
  147.    *cont_2 [0]='g';
  148.    }
  149.    if (*plb [1]==*letra[0]){
  150.    *progress [2]=*letra[0];
  151.    *cont_1=1;
  152.    *cont_2 [1]='a';
  153.    }
  154.    if (*plb [2]==*letra[0]){
  155.    *progress [4]=*letra[0];
  156.    *cont_1=1;
  157.    *cont_2 [2]='n';
  158.    }
  159.    if (*plb [3]==*letra[0]){
  160.    *progress [6]=*letra[0];
  161.    *cont_1=1;
  162.    *cont_2 [3]='a';
  163.    }
  164.    if (*plb [4]==*letra[0]){
  165.    *progress [8]=*letra[0];
  166.    *cont_1=1;
  167.    *cont_2 [4]='s';
  168.    }
  169.    if (*plb [5]==*letra[0]){
  170.    *progress [10]=*letra[0];
  171.    *cont_1=1;
  172.    *cont_2 [5]='t';
  173.    }
  174.    if (*plb [6]==*letra[0]){
  175.    *progress [12]=*letra[0];
  176.    *cont_1=1;
  177.    *cont_2 [6]='e';
  178.    }
  179.    break;
  180. }
  181. }
  182. void Verificador_de_error(int *cont_1, char *letra[2], int *vida, char *a[2], char *e[2], char *i[2], char *o[2], char *u[2], int *cont){         //en esta funcion se verfica el error al ingresar la letra .Entrada struct variables retorno nada
  183. if (*cont_1==0){
  184. while (*letra[0]!=*a[0] && *letra[0]!=*e[0] && *letra[0]!=*i[0] && *letra[0]!=*o[0] && *letra[0]!=*u[0]){
  185. *vida++;
  186. break;
  187. }
  188. switch (*cont){
  189. case 0:
  190. *a[0]=*letra[0];
  191. *cont++;
  192. break;
  193. case 1:
  194.    *e[0]=*letra[0];
  195.    *cont++;
  196. break;
  197. case 2:
  198. *i[0]=*letra[0];
  199. *cont++;
  200. break;
  201. case 3:
  202. *o[0]=*letra[0];
  203. *cont++;
  204. break;
  205. case 4:
  206. *u[0]=*letra[0];
  207. *cont++;
  208. break;
  209. default:
  210. break;
  211. }
  212. }
  213. *cont_1=0;
  214. }
  215. void Verificador_de_termino(int *vida, char *plb[10], char *cont_2[10], int *cont_3){       //en esta funcion se decide si el jugador gano o perdio.Entrada struct variables retorno nada
  216. if (*vida==6){
  217. *cont_3=1;
  218. system("cls");
  219.        TituloJuego();
  220.        MensajePerdiste();
  221.        printf("\n\n");
  222.        printf("La palabra era %s\n", *plb);
  223.        system("pause");
  224. }
  225. if (*cont_2 [0]=='g' && *cont_2 [1]=='a' && *cont_2 [2]=='n' && *cont_2 [3]=='a' && *cont_2 [4]=='s' && *cont_2 [5]=='t' && *cont_2 [6]=='e'){
  226. *cont_3=1;
  227. system("cls");
  228.        TituloJuego();
  229.        MensajeGanaste();
  230.        printf("\n\n");
  231.        printf("La palabra era %s\n", *plb);
  232.        system("pause");
  233. }
  234. }
  235. void Volver_a_jugar(char *again[3]){               //en esta funcion se le da la opcion al usuario para volver a jugar.Entrada struct variables retorno nada
  236. printf ("¿Quieres volver a jugar? \n Si es asi escribe si , sino escribe no \n");
  237. scanf ("%s", *again);
  238. *again[0]=tolower(*again[0]);
  239. }
  240. void Reinicio_de_var_importantes(char *cont_2[10], char *progress[16], int *vida, int *cont_3, char *a[2], char *e[2], char *i[2], char *o[2], char *u[2], int *cont){  //en esta funcion se reinicia los valores de algunas variables claves para el prgrama .Entrada struct variables retorno nada
  241. *cont_3=0;
  242. *vida=0;
  243. *cont_2 [0]='x';
  244. *cont_2 [1]='x';
  245. *cont_2 [2]='x';
  246. *cont_2 [3]='x';
  247. *cont_2 [4]='x';
  248. *cont_2 [5]='x';
  249. *cont_2 [6]='x';
  250. *progress [0]='_';
  251. *progress [2]='_';
  252. *progress [4]='_';
  253. *progress [6]='_';
  254. *progress [8]='_';
  255. *progress [10]='_';
  256. *progress [12]='_';
  257. *a[0]=' ';
  258. *e[0]=' ';
  259. *i[0]=' ';
  260. *o[0]=' ';
  261. *u[0]=' ';
  262. *cont=0;
  263. }

MOD: Etiqueta GeSHi.


« Última modificación: 14 Noviembre 2016, 14:54 pm por MCKSys Argentina » En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.471


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: [Error] ld returned 1 exit status
« Respuesta #1 en: 14 Noviembre 2016, 14:59 pm »

Hola!

Puede que sea porque en la linea 32 inicializas
Código
  1. char again [3]="s"
y la condición del bucle de la linea 44 es
Código
  1. while (again [0]=='s'){

Fíjate que los subíndices son distintos por lo que el blucle termina sin ejecutar nada.

Saludos!


En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: [Error] ld returned 1 exit status
« Respuesta #2 en: 14 Noviembre 2016, 20:53 pm »

Cuando envías a una función un array,pones el nombre del array, sin corchetes.
Código
  1. Seleccion_de_palabra(&plb[10], &num);
Ahí le estás enviendo de primer parámetro la dirección del undécimo elemento de "plb".
Si quieres enviar la dirección de plv, sería:
Código
  1. Seleccion_de_palabra(&plb, &num);

Y lo mismo con todas las ocurrencias de este problema.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[ERROR] Id Returned 1 exit status
Programación C/C++
Wolfman19951 3 6,058 Último mensaje 3 Agosto 2015, 09:26 am
por do-while
[Error] ld returned 1 exit status
Programación C/C++
wallcroft 1 3,398 Último mensaje 9 Mayo 2016, 20:09 pm
por MAFUS
[Error] ld returned 1 exit status
Programación C/C++
Franco2410 7 5,772 Último mensaje 9 Octubre 2016, 18:41 pm
por engel lex
[Error]Id 1 returned exit status
Programación C/C++
SimphonyPlayer 2 2,329 Último mensaje 25 Noviembre 2016, 03:36 am
por SimphonyPlayer
por que me aparece el error collect2.exe: error: ld returned 1 exit status
Programación C/C++
SergioeEM 0 4,343 Último mensaje 24 Abril 2018, 19:34 pm
por SergioeEM
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines