Ejercutar main desde otro main.

Iniciado por arcanu, 10 Septiembre 2010, 03:10 AM

0 Miembros y 3 Visitantes están viendo este tema.

arcanu

Holas, me gustaria que me puedan gracias por adentado:
Weno me dejaron hacer un programa una especi de presentacion, donde mostraba lo siguien
Citar#include <iostream>
#include <conio2.h>
#include <windows.h>
#include <intro.cpp>
using namespace std;

int main()
{
    char op;
    do{
    char soundfile[] = "f:/presentacio.wav" ;
  //  PlaySound((LPCSTR)soundfile, NULL, SND_FILENAME | SND_ASYNC );
    textcolor(CYAN);
cout<<"       ?Sexy"<<endl;
cout<<"____?Sexy?Sexy"<<endl;
cout<<"___y?Sexy?Sexy?"<<endl;
cout<<"___?Sexy?Sexy?S"<<endl;
cout<<"___?Sexy?Sexy?S               PRODUCCIONES "<<endl;
cout<<"__?Sexy?Sexy?Se"<<endl;
cout<<"_?Sexy?Sexy?Se                ***** Un Ingeniero no es un  "<<endl;
cout<<"_?Sexy?Sexy?Se_"<<endl;
cout<<"_?Sexy?Sexy?Sexy?                    ser calculador y frio, "<<endl;
cout<<"?Sexy?Sexy?Sexy?Sexy "<<endl;
cout<<"?Sexy?Sexy?Sexy?Sexy?Se                 simplemente su cerebro es   "<<endl;
cout<<"?Sexy?Sexy?Sexy?Sexy?Sex"<<endl;
cout<<"_?Sexy?__?Sexy?Sexy?Sex                     mas fuerte que su corazon. *****"<<endl;
cout<<"___?Sex____?Sexy?Sexy?"<<endl;
cout<<"___?Sex_____?Sexy?Sexy"<<endl;
cout<<"___?Sex_____?Sexy?Sexy"<<endl;
cout<<"____?Sex____?Sexy?Sexy"<<endl;
cout<<"_____?Se____?Sexy?Sex"<<endl;
cout<<"______?Se__?Sexy?Sexy"<<endl;
cout<<"_______?Sexy?Sexy?Sex"<<endl;
cout<<"________?Sexy?Sexy?sex                  Tu controlas "<<endl;
cout<<"_______?Sexy?Sexy?Sexy?Se"<<endl;
cout<<"_______?Sexy?Sexy?Sexy?Sexy?                    Tu      "<<endl;
cout<<"_______?Sexy?Sexy?Sexy?Sexy?Sexy"<<endl;
cout<<"_______?Sexy?Sexy?Sexy?Sexy?Sexy?S             Destino "<<endl;
cout<<"________?Sexy?Sexy____?Sexy?Sexy?se"<<endl;
cout<<"_________?Sexy?Se_______?Sexy?Sexy?"<<endl;
cout<<"_________?Sexy?Se_____?Sexy?Sexy?"<<endl;
cout<<"_________?Sexy?S____?Sexy?Sexy"<<endl;
cout<<"_________?Sexy?S_?Sexy?Sexy"<<endl;
cout<<"________?Sexy?Sexy?Sexy"<<endl;
cout<<"________?Sexy?Sexy?S              DUDAS O PREGUNTAS "<<endl;
cout<<"________?Sexy?Sexy"<<endl;
cout<<"_______?Sexy?Se         ANGEL1D@HOTMAIL.COM  "<<endl;
cout<<"_______?Sexy?"<<endl;
cout<<"______?Sexy?"<<endl;
cout<<"______?Sexy?"<<endl;
cout<<"______?Sexy"<<endl;
cout<<"______?Sexy"<<endl;
cout<<"_______?Sex"<<endl;
cout<<"_______?Sex"<<endl;
cout<<"_______?Sex"<<endl;
cout<<"______?Sexy"<<endl;
cout<<"Repetir sonido s/n"<<endl;
cin>>op;
system("cls");
    }while(op=='s');
    return 0;
    system("pause");

}


Ahora  lo que m e pidieron hacer es, que este menu, me salga cada ves q cree un programita, bueno lo pondria despues de declarar variables, con un copia y pega,pega, pero lo que tengo q hacer es guarlo de alguna forma que lo llame desde un main de otro programa, he tenido la idia de guardarlo en una especie de libreria, y de hay llamarlo como un metodo, pero no logro conseguir, si alguien me podria ayudar estaria muy agradecido .
No inporta el compilador, me puedo adaptar, actualmente uso code blocks, gracias.

bizco

no tienes ni que copiar y pegar, usa otro nombre que no sea main y te creas un cpp donde implementas la funcion y un h donde tienes el prototipo, despues haces un include y añades el cpp que corresponde al proyecto.

arcanu

Muchas, gracias por responder, pero podrias ser algo mas especifico, como darme un ejemplo de como hacerlo y ese nuevo main alque le cambio de nombre donde deve estar guardado. mil gasias.

bizco

nuevo.cpp

void loquesea()
{
hacer algo
}

nuevo.h

void loquesea();

main.cpp

#include "nuevo.h"


rob1104

#4
No es necesrio crear 3 archivos, en un solo archivo puedes tener el main, el prototipo de la funcion menu y la funcion dicha.
Código (cpp) [Seleccionar]
#include <iostream>

using namespace std;

void menu();  //Prototipo de la funcion

int main()
{
   char r = 's';
   while(r == 's')
   {
       menu();  //Mandamos llamar a la funcion
       cout << "Imprimir menu s/n"; cin >> r;
   }
   return 0;
}
/*Funcion menu()*/
void menu()
{
  cout << "Opcion 1" << endl;
  cout << "Opcion 2" << endl;
  cout << "Opcion 3" << endl;
}
Sin análisis de requisitos o sin diseño, programar es el arte de crear errores en un documento de texto vacío.

bizco

Si, pero el quier usarlo en otros programas, creo que la mejor forma es hacerse un h y un cpp aparte y ya puede usarlo comodamente.

rob1104

#6
Cierto, no lei bien esa parte. Creo que asi se simplificaria un poco.

menu.h
Código (cpp) [Seleccionar]
#ifndef MENU_H_INCLUDED
#define MENU_H_INCLUDED

#include <iostream>

using namespace std;

void menu();  //Prototipo de la funcion

/*Funcion menu()*/
void menu()
{
  cout << "Opcion 1" << endl;
  cout << "Opcion 2" << endl;
  cout << "Opcion 3" << endl;
}

#endif // MENU_H_INCLUDED


menu.cpp
Código (cpp) [Seleccionar]
#include "menu.h"

int main()
{
   char r = 's';
   while(r == 's')
   {
       menu();  //Mandamos llamar a la funcion
       cout << "Imprimir menu s/n"; cin >> r;
   }
   return 0;
}


Saludos
Sin análisis de requisitos o sin diseño, programar es el arte de crear errores en un documento de texto vacío.

bizco

en este caso lo simplificaria, pero no veo buena practica poner codigo en archivos de cabecera.

rob1104

Cita de: ctlon en 10 Septiembre 2010, 05:24 AM
en este caso lo simplificaria, pero no veo buena practica poner codigo en archivos de cabecera.
Yo tampoco, pero solo es una funcion (además es para que lo comprenda si es su primera vez). Ya cuando tenga 100 funciones, entonces si, que divida prototipos y funciones en archivos diferentes.

Solo es una opinión, seguro ya que lo comprenda y entienda decidirá la forma adecuada y que mas se le acomode de hacerlo.

:)
Sin análisis de requisitos o sin diseño, programar es el arte de crear errores en un documento de texto vacío.

bizco

si, pero por lo que hablamos en privado no sabe y si se mete en un programa mas grande y luego empiezan a salirle errores del tipo que ya hay codigo definido etc pues es mejor empezar haciendolo bien.