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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [C] ¿Pregunta "If y Char"?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [C] ¿Pregunta "If y Char"?  (Leído 11,988 veces)
electrodev

Desconectado Desconectado

Mensajes: 58


No,¡Las Maquinas no son Perfectas!


Ver Perfil
[C] ¿Pregunta "If y Char"?
« en: 22 Marzo 2012, 18:10 pm »

Hola gente, bueno estoy aprendiendo a programar en c, y me a surgido una pregunta.Bueno espero que me puedan ayudar.

El code:
Código:
#include <stdio.h>
#include <stdlib.h>

int main(void){ 
char opt[10];

  printf ("\n");
  printf ("Mi programa>");
  scanf ("%s",&opt);

if ((%s,opt) == "gen");
        {
         goto gen }
         { else
          printf("Comando invalido");
}

  goto exit;
  return(0);
 
  exit:
    system("cls");
    printf("\n");
    printf("Adios");
    system("pause >nul");

  gen:
   system("cls");
    printf("\n");
    printf("As elegido la opcion Gen");
    system("pause >nul")
   
}

La cosa es que no me funciona el If.
Por Favor, Ayudaaa!!!


En línea

nirvguy

Desconectado Desconectado

Mensajes: 23



Ver Perfil
Re: [C] ¿Pregunta "If y Char"?
« Respuesta #1 en: 22 Marzo 2012, 18:33 pm »

Eduardo97 los ifs no se terminan con ";" porque no es una instrucción es un bloque de código (solo va con "{" y "}").
y cuando haces:
Código
  1. if ((%s,opt) == "gen")
  2.  
"(%s,opt)" no se a qué te referias, pero no se puede ese tipo de cosas. El %s es un parametro de scanf donde le indicas que lea del teclado una cadena y no cualquier otra cosa.
En todo caso si quieres preguntar si la cadena opt == la cadena "gen" no puedes, porque las cadenas de texto no se pueden igualar así como así. Utiliza strcmp que justamente realiza eso, compara cadenas de texto. Asi (incluyendo string.h):
Código
  1. if ((strcmp(opt,"gen") == 0) {
  2.    goto gen;
  3. }
  4. ....
  5.  
Tambien, en esta parte
Código
  1. ...
  2. goto exit;
  3. return(0);
  4. ...
  5.  
nunca se va ejecutar return(0), porque salta directamente a exit. Igual, para ver como son está bien, pero no es muy buena practica usar gotos ni tampoco system. Pero no hay problema si estás empezando. Te dejo el codigo completo arreglado:
Código
  1. #include <string.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5. int main(void){  
  6. char opt[10];
  7.  
  8.  printf ("\n");
  9.  printf ("Mi programa>");
  10.  scanf ("%s",opt);
  11.  fflush(stdin);
  12.  
  13.  if ((strcmp(opt,"gen"))==0)
  14.  {
  15.      goto gen;
  16.  }
  17.  else
  18.  {
  19.       printf("Comando invalido");
  20.  }
  21.  
  22.  exit:
  23.    system("cls");
  24.    printf("\n");
  25.    printf("Adios");
  26.    system("pause > null");
  27.    return 0;
  28.  
  29.  gen:
  30.   system("cls");
  31.    printf("\n");
  32.    printf("As elegido la opcion Gen");
  33.    goto exit;
  34.  
  35. }
  36.  
Te lo corregí un poco.
Espero haberte ayudado.


« Última modificación: 22 Marzo 2012, 19:04 pm por nirvguy » En línea

Todas mis letras han sido pedazos de poesía y los pedazos de poesía se toman de poemas que comúnmente no tienen sentido
en primer termino.
               Kurt Cobain
satu


Desconectado Desconectado

Mensajes: 301

Siempre aprendiendo


Ver Perfil WWW
Re: [C] ¿Pregunta "If y Char"?
« Respuesta #2 en: 22 Marzo 2012, 18:47 pm »

Hola

Para leer cadenas no se pone & en el scanf:
Código
  1. scanf ("%s", opt);
  2.  

Te vendrá bien leerte esto

nirvguy te has confundido. Recuerda que strcmp devuelve 0 cuando las 2 cadenas comparadas son iguales, por lo que debería ser:
Código
  1. if (strcmp(opt,"gen") == 0) {
  2. ....
  3. }
  4.  

Saludos
En línea

Breakbeat como forma de vida
nirvguy

Desconectado Desconectado

Mensajes: 23



Ver Perfil
Re: [C] ¿Pregunta "If y Char"?
« Respuesta #3 en: 22 Marzo 2012, 19:02 pm »

Jeje, lo siento, se me pasó por alto, ahora lo edito.
En línea

Todas mis letras han sido pedazos de poesía y los pedazos de poesía se toman de poemas que comúnmente no tienen sentido
en primer termino.
               Kurt Cobain
electrodev

Desconectado Desconectado

Mensajes: 58


No,¡Las Maquinas no son Perfectas!


Ver Perfil
Re: [C] ¿Pregunta "If y Char"?
« Respuesta #4 en: 22 Marzo 2012, 21:48 pm »

Gracias chicos, me a sido de gran ayuda
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
"""BUSCO EJEMPLO VB PARA ENVIAR MAILS""""
Programación Visual Basic
gera 1 6,306 Último mensaje 1 Septiembre 2005, 00:14 am
por programatrix
De donde puedo descargar utilidades: "Formas", "Estilos", "Motivos", D
Diseño Gráfico
Ad0nis 2 8,331 Último mensaje 2 Septiembre 2006, 15:48 pm
por Ad0nis
[Ayuda] modificar "start page" en "internet explorer" con "batch"
Scripting
taton 7 16,559 Último mensaje 20 Septiembre 2006, 01:45 am
por taton
Problema al llamar la tabla "char"
PHP
XXXXXX 6 3,053 Último mensaje 14 Junio 2010, 01:00 am
por XXXXXX
recursos visual basic, """"""proceso inmortal"""""
Análisis y Diseño de Malware
Dark4ngel 7 13,275 Último mensaje 3 Noviembre 2011, 10:42 am
por Dark4ngel
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines