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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ... 38
81  Programación / Programación C/C++ / Re: No puedo compilar un programa en C Ayuda! en: 11 Enero 2013, 07:08 am
Citar
las variables deben inicializarse justo al comienzo de cada ámbito
No, las variables se pueden declarar en cualquier lado. Incluso se puede hacer algo como:
Código
  1. scanf("%d",&tam);
  2. int arr[tam]; /* fijate que se puede declarar un arreglo en tiempo de ejecucion despues de pedir el tamaño */

Para mi tu problema se debe a una configuracion del IDE que usas(como no lo uso no tengo idea)


Saludos
82  Programación / Programación C/C++ / Re: AYUDA CON C# en: 11 Enero 2013, 02:25 am
Hola! C# va en programacion general
83  Programación / Programación C/C++ / Re: Como hacer que tome registros este programa desde un txt y aplique la funcion en: 10 Enero 2013, 19:59 pm
Lo que hiciste parace no tener problemas, solo es cuestion que averigues el tema de manejo de archivos. Tambien tal vez te convendria averiguar sobre memoria dinamica ya que si no sabes la cantidad de registros del archivo es mejor manejarlo dinamicamente


Saludos
84  Programación / Programación C/C++ / Re: Duda llamar funciones en: 10 Enero 2013, 02:32 am
Citar
se que comento errores de bulto y trabajo para corregirlos, y perdonad por ser asi de malo xd.
trabquilo todo es cuestion de tiempo y practica.

Citar
La verdad es que me pierdo porque no se si esas variables, a las que el usuario debe de dar un valor, deben de ser declaradas dentro del cada caso del switch o en cada función,
creo q eso depende de cada uno, si declaras las variables en el main esta bien y si lo haces en las funciones tambien. Solo que si haces todo en la funcion entonces la funcion no recibiria ningun parametro y no retornaria nada(lo cual no me gusta mucho xD)
Nota: segun lo que dijo avesudra no se pueden declarar variables en el case, pero por lo que tengo entendido,segun el C99, se puede hacer en cualquier parte. Igual solo es cuestion de probar y listo

Citar
Agradeceria un ejemplo practico para verlo mas claro y poder extrapolarlo a mis funciones
Solo ordene un poco lo que tenias:
Código
  1. #include <stdio.h>
  2.  
  3. void menu(void);
  4. int factorial(int n);
  5. int primo(int n); /* nose como hiciste esta funcion, pero podrias hacer que si el numero ingresado es primo entonces retorne 1, de lo contrario retorne 0 */
  6.  
  7. int main() {
  8.  
  9.  int numero,opcion, resultado;
  10.  menu();
  11.  
  12.  scanf("%d",&opcion);
  13.  
  14.  switch (opcion)
  15.   {
  16.   case 1:
  17.  
  18.       printf("Introduzca el número");
  19.       scanf("%d", &numero);
  20.       resultado = factorial(numero);
  21.       printf("El factorial de %d es %d", numero, resultado);
  22.       break;
  23.   case 2:
  24.       printf("Introduzca el número");
  25.       scanf("%d", &numero);
  26.       resultado=primo(numero);
  27.  
  28.      if(resultado==1)
  29.         printf("EL numero es primo\n");
  30.      else
  31.         printf("EL numero no es primo \n");
  32.      break;
  33.   } /* fin del switch */
  34.  
  35. return 0;
  36. } /* fin del main */
  37.  
  38. /* .................. Aca van todas las funciones */  


Saludos

PD: el error nose que es
85  Programación / Programación C/C++ / Re: Duda llamar funciones en: 9 Enero 2013, 21:58 pm
Hola! primero los errores:

- En el swtich, usas la variable n para el scanf pero esa variable nunca la declaras

- El return 0 en menu esta demas, primero porque menu no retorna nada, es void, y segundo porque no hace falta que obligues a que la funcion termine desde ese punto(o cualquier otro)


Para una mejor estructuracion y generalizacion de funciones, te doy algunos consejos: si la funcion se llama menu, lo que deberia hacer esta funcion es solo mostrar las opciones(los printf) y nada mas. Luego seria conveniente poner el switch dentro del main y finalmente en cada case haces las llamadas a las distintas funciones; ejemplo:
Código
  1. int main() {
  2.  menu();
  3.  /* ...... */
  4.  switch(opcion) {
  5.     case 1:
  6.          funcion1(); /* llamo a funcion */
  7.     /* ........*/
  8.    case 2:
  9.         funcion2();
  10.   /* ......... */
  11.  }
  12.  
  13. return 0;
  14. }

Saludos

Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
86  Programación / Programación C/C++ / Re: [C] Problema con cadenas en: 9 Enero 2013, 21:41 pm
Hola! te marco los errores que veo:

- Para guardar nombres del archivo en una matriz de caracteres tenes que hacer:
Código
  1. fscanf(archivo, "%s", nombres[j]);/* te falto el subindice */

- Los arreglos empiezan en la posicion cero, si vos inicializas i en 1 estas perdiendo una posicion

- Si vas a hacer goles[i+1], no es mejor tener i++ antes del fscanf?? asi no haces i+1

- en la funcion iguales pusiste '0' te olvidaste la barra '\'

Finalmente en la funcion buscar() tenes que usar la funcion iguales(suponiendo que esta bien), mas o menos seria:

bucle que recorra todos los nombres
llamar a la funcion iguales, pasarle jugador y nombres[ i ]
si iguales retorna 1 entonces buscar debe retornar i de lo contrario numElem



Apesar de que de decis que no te sale, no hiciste mucho. Trata de seguir haciendo con las modificaciones q te marque
87  Programación / Programación C/C++ / Re: AYUDA LENGUAJE C en: 8 Enero 2013, 06:02 am
Hola! la verdad no entendi bien que es lo que queres; algunas aclaraciones:

- las funciones getch y getche no son estandar por lo tanto no se recomienda usarlo si recien empezas(para eso tenes getchar()), ademas estas funciones son para el ingreso de caracteres, no para enteros.

- para imprimir dos valores necesitas dos variables

-
Citar
LO QUE YO PONGO EN EL COMPILADOR ES:
lo pones en un archivo fuente, no en el compilador


-
Citar
LA FUNCION GETCHE FUNCIONA, PERO NO ES IGUAL A NINGUNO DE LOS DOS NUMEROS QUE INTRUDUJE. ALGUIEN SABE A QUE SE DEBE???
como te decia antes getche es para caracteres. Si vos ingresas algo a travez de getche() lo que se almacena en la variable num, es el ASCII de una letra. PAra que se entienda ejecuta:
Código
  1. #include <stdio.h>
  2. #include <conio.h>
  3. int main ()
  4. {
  5. int num;
  6. printf ("ESCRIBI UN NUMERO\n");
  7. num = getche (); /* <--- ingresa el 5 */
  8. printf ("EL NUMERO ESCRITO ES: %i\n", num); /* vas a ver que te imprime el numero 53 */
  9. system ("PAUSE");
  10. return 0;
  11. }
Tabla ASCII: http://www.asciitable.com/

Cualquier duda segui preguntando. Saludos

PD: no me parece muy bueno de donde estas aprendiendo, yo lo cambiaria
88  Programación / Programación C/C++ / Re: lo mas basico, como manipular cadenas en: 7 Enero 2013, 20:50 pm
http://foro.elhacker.net/programacion_cc/librospapers_cc-t296234.0.html

Todos son buenos. Saludos
89  Programación / Programación C/C++ / Re: ayuda con manejo de cadenas y apuntadores en: 4 Enero 2013, 18:38 pm
Para que no haya confuciones avesudra se olvido de un parentesis :)

Código
  1.    if(strcmp(linea,"fin")== 0)  /* <-- ahi faltaba un parentesis */
  2.    {
  3.     printf("\nLlegoo");
  4.    }
90  Programación / Programación C/C++ / Re: {Solucionado} [C] Problema con bucle en: 4 Enero 2013, 02:12 am
Creo q no hace falta tantos scanf para la lectura, solo reseteando la variable cont a cero cuando no hay 3 consecutivos alcanzaria; algo asi:

Código
  1. while(letra != '.') {
  2.  
  3. if(esMayus(letra) == 1)
  4. {
  5.  cont++;
  6.  if(cont==3)
  7.    consecutivo++;
  8. }
  9. else cont=0;
  10. scanf("%c", &letra);
  11.  
  12. }
  13.   (consecutivo!=0)? printf ("Consecutivos: %d veces\n",consecutivo):puts ("No encontrado");

Saludos

PD: lo creo q no considera es si se ingresan mas de 3 mayusculas consecutivas
Páginas: 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ... 38
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines