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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  del programa A al C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: del programa A al C  (Leído 3,715 veces)
guillem_bm

Desconectado Desconectado

Mensajes: 3


Ver Perfil
del programa A al C
« en: 3 Abril 2012, 20:16 pm »

tengo el siguiente codigo
Código:
#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
 
void fn_programa_a();
void fn_programa_b();
void fn_programa_c();
 
int main()
{
    int number;
        fn_programa_a();
        fn_programa_b();
        fn_programa_c();
 
        return 0;
}
 
void fn_programa_a()
{
              int ch;
   
   
   do {
      ch = _getch();
   }while (ch != EOF && ch != 'a');
    printf("opcion A\n");
   
   
    }

void fn_programa_b()
{
          int ch;
   
   
   do {
      ch = _getch();
   }while (ch != EOF && ch != 'b');
    printf("opcion B\n");
 
   
   

}

void fn_programa_c()
{
          int ch;
   
   
   do {
      ch = _getch();
   }while (ch != EOF && ch != 'a');
    printf("opcion C\n");
   
   
   
system("pause");
}


Como podreis adivinar este codigo junta 3 apartados (A, B, C)
Y mi pregunta es... como puedo acer para que pase del apartado A al C sin necesidad que se tenga que tocar el apartado B???


En línea

Beakman

Desconectado Desconectado

Mensajes: 190



Ver Perfil WWW
Re: del programa A al C
« Respuesta #1 en: 3 Abril 2012, 21:57 pm »

Tal vez ... ?
Código
  1. fn_programa_a();
  2. // fn_programa_b();
  3. fn_programa_c();


En línea

durasno


Desconectado Desconectado

Mensajes: 373


Ver Perfil
Re: del programa A al C
« Respuesta #2 en: 4 Abril 2012, 06:01 am »

xDDDD
En línea

Ahorrate una pregunta, lee el man
guillem_bm

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: del programa A al C
« Respuesta #3 en: 4 Abril 2012, 20:20 pm »

se que podria poner lo que dices...
Código:
fn_programa_a();
fn_programa_c();

pero la idea es que me haga un salto de apartado, es decir, que despues del
Código:
fn_programa_a();
pueda elegir el:
Código:
fn_programa_c();

sin necesidad de que pase por el
Código:
fn_programa_b();
pero que al mismo tiempo que pueda elegir el
Código:
fn_programa_b();
despues del
Código:
fn_programa_a();
En línea

Beakman

Desconectado Desconectado

Mensajes: 190



Ver Perfil WWW
Re: del programa A al C
« Respuesta #4 en: 4 Abril 2012, 21:24 pm »

Bien. En ese caso tenés que hacer un menú. Se ingresa un número ( cin / scanf ) y de acuerdo a eso lo derivás a una función con switch o if else:

Código
  1. if( opcion == 1 ) {
  2.     // llamada a la primer función
  3. } else if ( opcion == 2 ) {
  4.     // llamada a la segunda función
  5. } else if ( opcion == 3 ) {
  6.     // llamada a la tercer función
  7. } else {
  8.    // ninguna opción elegida
  9. }
  10.  
En línea

skapunky
Electronik Engineer &
Colaborador
***
Desconectado Desconectado

Mensajes: 3.667


www.killtrojan.net


Ver Perfil WWW
Re: del programa A al C
« Respuesta #5 en: 4 Abril 2012, 21:37 pm »

Puedes usar una estructura condicional con una variable que controle si quieres saltartelo o quieres entrar.

Código
  1. void fn_programa_a();
  2. if (variable == 1){
  3. void fn_programa_b();
  4. }
  5. void fn_programa_c();

Si variable equivale 1 lo ejecutará, si equivale un valor diferente se lo saltará. Otra opción es utilizar "goto" aunque bueno...mas facil es no llamar a la función.

Lo mas lógico es controlar la ejecución de la función mediante una variable.
« Última modificación: 5 Abril 2012, 17:06 pm por skapunky » En línea

Killtrojan Syslog v1.44: ENTRAR
david_BS

Desconectado Desconectado

Mensajes: 99



Ver Perfil WWW
Re: del programa A al C
« Respuesta #6 en: 4 Abril 2012, 22:11 pm »

cuando se trata de saber si es positivo o no, te conviene evaluar el estado booleano de la variable:

Código:
if ( variable ){// si es distinto de cero
}


sin necesidad del operador de asignación = , o el de comparación ==.
osea algunos se confunden con este operador y asignan a donde deben comparar.

si variable es por ejemplo un entero y puede tomar muchos valores como resultado, entonces vas a necesitar evaluar esa variable con un switch , que es una
evaluación mucho más rápida que usar muchos if + else if

En línea

guillem_bm

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: del programa A al C
« Respuesta #7 en: 6 Abril 2012, 17:47 pm »

muchisimas gracias...

he puesto el siguiente codigo:
Código:
#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
 
void fn_programa_a();
void fn_programa_b();
void fn_programa_c();
 
int main()
{
    int number, opcion;
    if( opcion == 1 ) {
        fn_programa_a();
        if ( opcion == 2 ) {
        fn_programa_b();
        if ( opcion == 3){
        fn_programa_c();
        if (opcion == 4){
 
 
        return 0;
}
}
}
}
}
    // llamada a la primer función}
void fn_programa_a()
{
              int ch;
   
   
   do {
      ch = _getch();
   }while (ch != EOF && ch != 'a');
    printf("opcion A\n");
   
    getch();
   
    }

void fn_programa_b()
{
          int ch;
   
   
   do {
      ch = _getch();
   }while (ch != EOF && ch != 'b');
    printf("opcion B\n");
 
   
   
getch();
}

void fn_programa_c()
{
          int ch;
   
   
   do {
      ch = _getch();
   }while (ch != EOF && ch != 'a');
    printf("opcion C\n");
   
    getch();
   

}
pero aora mi problema es que cuando lo coopilarlo, se me cierra en el instante...
por que me pasa eso???
En línea

durasno


Desconectado Desconectado

Mensajes: 373


Ver Perfil
Re: del programa A al C
« Respuesta #8 en: 6 Abril 2012, 19:08 pm »

Como diria aristoteles, t responde a tu pregunta con otra pregunta(asi era :S)
¿en que momento le almacenas un valor a la variable opcion?
En línea

Ahorrate una pregunta, lee el man
Xandrete

Desconectado Desconectado

Mensajes: 210



Ver Perfil
Re: del programa A al C
« Respuesta #9 en: 7 Abril 2012, 18:06 pm »

muchisimas gracias...

he puesto el siguiente codigo:
Código:
#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
 
void fn_programa_a();
void fn_programa_b();
void fn_programa_c();
 
int main()
{
    int number, opcion;
    if( opcion == 1 ) {
        fn_programa_a();
        if ( opcion == 2 ) {
        fn_programa_b();
        if ( opcion == 3){
        fn_programa_c();
        if (opcion == 4){
 
 
        return 0;
}
}
}
}
}
    // llamada a la primer función}
void fn_programa_a()
{
              int ch;
    
    
   do {
      ch = _getch();
   }while (ch != EOF && ch != 'a');
    printf("opcion A\n");
    
    getch();
    
    }

void fn_programa_b()
{
          int ch;
    
    
   do {
      ch = _getch();
   }while (ch != EOF && ch != 'b');
    printf("opcion B\n");
  
    
    
getch();
}

void fn_programa_c()
{
          int ch;
    
    
   do {
      ch = _getch();
   }while (ch != EOF && ch != 'a');
    printf("opcion C\n");
    
    getch();
    

}
pero aora mi problema es que cuando lo coopilarlo, se me cierra en el instante...
por que me pasa eso???

Ehmm... Fíjate en una cosa. ¿En qué momento lees un valor para opción? Exacto, no lo haces  ;). Por otro lado, estas anidando los if's. Sin embargo, estos son excluyentes, deberían ir así:

Código
  1. if (opcion == 1) {// haz lo que sea}
  2. else if (opcion == 2) {// haz lo que sea}
  3. //...

CrisQC, ¿por qué odias las dulces lunas? :-(


EDITO:
Como diria aristoteles, t responde a tu pregunta con otra pregunta(asi era :S)
¿en que momento le almacenas un valor a la variable opcion?

Perdona, durasno, no había visto que ya habías respondido tú   :silbar:
« Última modificación: 7 Abril 2012, 18:10 pm por Xandrete » En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Algun Programa para descifrar un programa
Programación Visual Basic
hacksoft 6 5,022 Último mensaje 4 Julio 2005, 10:45 am
por Kizar
Programa que hace click en un lugar fuera del programa [c#]
.NET (C#, VB.NET, ASP)
Un usuario 1 2,789 Último mensaje 24 Octubre 2006, 22:58 pm
por SeniorX
hacer programa Programa para almacenar fotos « 1 2 »
Programación Visual Basic
ThonyMaster 11 8,611 Último mensaje 2 Diciembre 2008, 20:58 pm
por ssccaann43 ©
Hay alguna forma de saber con que programa se creo ese programa?
Dudas Generales
Senior++ 2 3,170 Último mensaje 31 Julio 2011, 15:16 pm
por Senior++
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines