Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - nolasco281

#46
Java / Comparar datos
10 Junio 2014, 18:50 PM
Hola como estan.

Hola tengo un dato en un jlabel y lo quiero comparar con otro dato. pero el problema que tengo es que no hace la comparacion nunca entra al if.

es decir en el jlabel hay 101, despues cree un boton para que haga la comparacion si lo que hay en el jlabel es igual a la variable Numeros pero nunca entra al if no se por que talvez alquien pueda explicarme por que pasa esto

Código (java) [Seleccionar]
String Numeros = "101";
       
       if(lblNumero.getText() == Numeros)
       {
           System.out.println("Hola"); //Prueba para ver si entra al if
       }


Gracias saludos.


Ya lo solucione

Código (java) [Seleccionar]

if(lblNumero.getText().equals(Numeros))


Si se les ocurre otra idea comenten por favor.
#47
Hola como estan.

quiero saber si hay alguna forma de reducir este codigo ya que esto me parace un poco exagerado estuve pensado como hacerlo con while o con un for pero el problema es que cuando se preciona soble el boton esto quivale a un click y click va aumentando de uno en uno.

osea cuando la variable click es igual a uno se habilita un label que esta oculto y asi susesivamente.

pero me parecen demasiados if y si click llega a 100 o 1000 se tendran que crear tantos if como clicks haya echo el usuario

Código (cpp) [Seleccionar]

colaOb.insert(click);
       
       if(click == 1)
       {
           //Hace visible un label
       }
       else if (click == 2)
       {
           //Hace visible un label
           
       }
       else if (click == 3)
       {
           //Hace visible un label
       }
       else if (click == 4)
       {
          //Hace visible un label
       }
       else if (click == 5)
       {
          //Hace visible un label
       }
       else if (click == 6)
       {
           //Hace visible un label
       }
       
       //Asi sique trece veces mas

       cout << colaOb; //Verifica que en cosola el insertar en cola vaya bien


Mil gracias saludos
#48
Java / Problema con cola (solucionado)
25 Mayo 2014, 04:38 AM
Hola como estan

no se como implementar este codigo es un ejemplo de colas

El problema que tengo es que no se como llamar estas funciones en la parte principal
espero puedan ayudarme.


esto es lo que tengo en la principal
Código (java) [Seleccionar]
public static void main(String[] args) {
Principal p = new Principal();
               
p.setVisible(true);
p.setBounds(0, 0, 300, 200);
             
}




Clase cola

Código (java) [Seleccionar]
import java.util.ArrayList;


public class Cola {

private ArrayList nodos;

public Cola(){
nodos=new ArrayList<Integer>();
}

public void insertar(int x){
nodos.add(x);
}

public void eliminar(){
nodos.remove(0);
}

public void resetear(){
nodos.clear();
}


public ArrayList<Integer> getNodos() {
return nodos;
}


public void setNodos(ArrayList<Integer> nodos) {
this.nodos = nodos;
}
}




Clase que dibuja el panel

Código (java) [Seleccionar]
import java.awt.*;
import javax.swing.JPanel;


public class PanelDibujo extends JPanel {

public int x=20;
public int y=100;
public Cola cola;
public boolean swborrar=false;

public PanelDibujo(Cola c){
 cola=c;
}

public void paintComponent(Graphics g){
 super.paintComponents(g);
 Graphics2D g2d=(Graphics2D)g;
 g2d.setColor(Color.WHITE);
 g2d.fillRect(0,0,500,300);
 g2d.setColor(Color.BLACK);
 g2d.setStroke(new BasicStroke(2));
 for(int i=0;i<cola.getNodos().size();i++){
  if(i!=0){
   g2d.drawLine(2*x*(i+1)-10, y+15, 2*x*(i+1), y+15);
  }
  g2d.drawRoundRect(2*x*(i+1), y, 30, 30, 10, 10);
  g2d.drawString(""+cola.getNodos().get(i), 2*x*(i+1)+12, y+20);
 }
 
 if(swborrar){
  g2d.setColor(Color.WHITE);
  g2d.fillRect(0,0,400,200);
  cola.resetear();
  swborrar=false;
 }
}


public boolean isSwborrar() {
 return swborrar;
}


public void setSwborrar(boolean swborrar) {
 this.swborrar = swborrar;
}

}




Clase clase principal

Código (java) [Seleccionar]
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


import javax.swing.*;
import static javax.swing.JFrame.EXIT_ON_CLOSE;


public class Principal extends JApplet{

PanelDibujo pd;
JPanel pdatos;
Cola cola;
JTextField t;

public void init(){
 
 cola=new Cola();
 pd=new PanelDibujo(cola);
 pdatos=new JPanel();
 
 t=new JTextField(10);
 JButton b=new JButton("Agregar");
 b.addActionListener(new ActionListener(){


  @Override
  public void actionPerformed(ActionEvent e) {
   try{
    if(cola.getNodos().size()<8){
     cola.insertar(Integer.parseInt(t.getText()));
     pd.repaint();
     repaint();
    }else{
     JOptionPane.showMessageDialog(null, "Maximo se mostraran 8 elementos.");
    }
   }catch(NumberFormatException nfe){
    JOptionPane.showMessageDialog(null, "Error digite un Valor Valido");
   }
  }
 
 });
 
 JButton borrar=new JButton("Borrar");
 borrar.addActionListener(new ActionListener(){


  @Override
  public void actionPerformed(ActionEvent e) {
   if(cola.getNodos().size()>0){
    cola.eliminar();
    pd.repaint();
    repaint();
   }
  }
 });
 
 JButton limpiar=new JButton("Limpiar");
 limpiar.addActionListener(new ActionListener(){


  @Override
  public void actionPerformed(ActionEvent e) {
   pd.setSwborrar(true);
   pd.repaint();
   repaint();
  }
 
 });
 
 pdatos.add(new JLabel("Valor: "));
 pdatos.add(t);
 pdatos.add(b);
 pdatos.add(borrar);
 pdatos.add(limpiar);
 
 add(pd);
 add(pdatos,BorderLayout.SOUTH);
}
}
#49
Hola

Como dice el titulo, tengo la siquente duda quiero cambiar el color de un solo item en el combobox, pero a la hora que lo intento me cambia el color de  todos los items.

aca la muestra



En este ejemplo quiero decir si seleciona el indice cero que lo cambie de color pero solo ese.

pero cuando se selecciona el indice cero me cambia el color de todos los elementos.

Gracias saludos.
#50
Hola

tengo este codigo que es un boton que calcula la mediana

Ahora bien el problema es que cuando se calcula en la mediana y su resultado pasa a un txtbox
y despues calculo la moda me surge ese error antes dicho. no puedo ejecutar los dos al mismo tiempo. el resultado de los calculos se impremen en diferentes textbox.

Estoy trabajando en visual basic.

Código (vbnet) [Seleccionar]
Private Sub btnCalMediana_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCalMediana.Click
        Dim temporal As Double
        Try
            Dim valores() As String = listaElementos.Items.Cast(Of String).OrderBy(Function(s) CDec(s)).ToArray
            If listaElementos.Items.Count Mod 2 = 1 Then 'impar
                txtMediana.Text = (valores(CInt(Math.Floor(listaElementos.Items.Count / 2))))
            Else 'par
                txtMediana.Text = (((CDec(valores(listaElementos.Items.Count \ 2 - 1)) + CDec(valores(listaElementos.Items.Count \ 2))) / 2).ToString)
            End If
        Catch ex As Exception
            MsgBox("No puede hacer eso")
        End Try

        'Ordena los elementos de menor a mayor en la lista
        For elementos = 0 To listaElementos.Items.Count - 1
            For ordenar = 0 To listaElementos.Items.Count - 2
                If (listaElementos.Items.Item(ordenar) > listaElementos.Items.Item(elementos)) Then
                    temporal = listaElementos.Items.Item(ordenar)
                    listaElementos.Items.Item(ordenar) = listaElementos.Items.Item(elementos)
                    listaElementos.Items.Item(elementos) = temporal
                End If
            Next
        Next
    End Sub



y este es otro boton que calcula la moda

Código (vbnet) [Seleccionar]
Private Sub btnCalModa_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCalModa.Click

        Dim valores() As String = listaElementos.Items.Cast(Of String).OrderBy(Function(s) CDec(s)).ToArray
        Dim concurrencias() As Integer = Array.ConvertAll(valores, Function(s1) valores.Count(Function(s2) s2 = s1))

        Dim hecho As New List(Of String)
        Dim salida As String = ""
        For x As Integer = 0 To concurrencias.GetUpperBound(0)
            If concurrencias(x) = concurrencias.Max AndAlso Not hecho.Contains(valores(x)) Then
                hecho.Add(valores(x))
                salida &= valores(x) & ", "
            End If
        Next
        txtModa.Text = (String.Format("{0}{1}{2}", If(hecho.Count = 1, "", If(hecho.Count = 2, "Bimodal, ", "Multimodal, ")), Environment.NewLine, salida.TrimEnd(","c, " "c)))
    End Sub


por si no me explico cuando calculo la media bien si calculo la moda me salta error
pero si calculo la moda primero y despues la mediana no me da error

aca la muestra



si calculo primero la moda y despues la mediana no causa error



Gracias de nuevo.

Pd: por lo que entiendo dice que tengo que convertir un double o string si no me equivoco pero no se como hacerlo.
#51
Hola como estan

disculpen las molestias

El problema que tengo es con la siquiente instruccion

Código (vb) [Seleccionar]
Dim valores() As String = listaElementos.Items.Cast(Of String).OrderBy(Function(s) CDec(s)).ToArray

el error dice

Código (vb) [Seleccionar]
Unable to cast object of type 'System.Double' to type 'System.String'.

gracias saludos

#52
Programación C/C++ / Tiempo de ejecucion
4 Mayo 2014, 23:48 PM
Hola como estan.

Tengo una duda con respecto al tiempo de ejecucion de acuardo a instrucciones.

Tal vez alquien me pueda explicar por que esto es asi.

Por ejemplo:



Vi esto pero no exiplica por que es asi o por que en el segundo bucle cambia hablando algebraicamente.

Recuardo haber visto sumatorias pero, para encontrar areas en integrales.



entiendo que:
Código (cpp) [Seleccionar]
for (int i = 0; i < n; i++) //El tiempo de este bucle seria de O(n)
#53
Hola

Lo que trato de hacer es la mediana es algo de estadistica:

Dice si tengo


54321
ordenarlos ya lo hice

12345 Como la cantidad de valores es impar debe sacar el valor 3 en este caso ya que es el de enmedio.

pero si la cantidad de varores es par

654321 -> oredenarlos

123456
toma los dos valores intermedios en este caso 3 y 4 estos se suman 3+4/2 = 3.5 esa seria la mediana en este caso.

ahora tengo lo siquiente

Código (cpp) [Seleccionar]
If (listaElementos / 2) = (listaElementos / 2)
{            
           cout << ("Par");
           mediana = (listaElementos - 0.5) + (listaElementos + 0.5) / 2;

           cout << mediana;
}

Else
{
           cout << ("Impar");
           mediana = listaElementos / 2;
           cout << mediana;
}


Gracias
#54
Hola como estan.

Mi siquente pregunta es:

quiero hacer una lista de datos para despues poder calcular varias operaciones.

Pero no se como ir pasando los datos de el textbox que ven que tiene 23 al textbox multilinea, no se si tengo que crear un arreglo para que se vayan guardando esos datos, ya que los ejemplos de calculadoras solo suman dos numeros eso me parece extra~no pero bueno.



Tal vez alquien me orienta en que puedo hacer o como puedo buscar para hacer algo asi.

Saludos y gracias.
#55
Hola de nuevo yo molestando.

estaba tratando de hacer que detecte que datos hay a la izquierda y a la derecha de un arreglo.

Ejemplo:

Arreglo:

indices

0     1     2      3      4       5
10  20    30    40     50     60    // <- datos

Si selecciona el indice 3

me diga que le que esta previo es 30 y el siquiente es 50

tengo esto

Código (cpp) [Seleccionar]
cout << ("Ingrese un indice y vera los datos que hay previo y sequiente");
   
cin >> prevSiqu;
       
       if(prevSiqu < 0 || prevSiqu >= Tam)
       {
           cout << ("p: mala posicion.\n");
       }
       cout << (prevSiqu+1);
       
       if(prevSiqu <= 0 || prevSiqu > Tam)
       {
           cout << ("p: mala pocicion. \n");
       }
       cout << (prevSiqu-1);


Hace el previo pero no el siquiente y no se por que, ni que estoy haciendo mal.

Gracias saludos
#56
Hola como estan.

tengo un peque~no problema que no se como buscar por indice

Ejemplo que escriba el indice y me devuelva el valor que hay en ese indice


Tengo como buscar el indice, donde se encuentra un numero.

Ejemplo ingreso el numero y me dice en que indice esta.

Código (cpp) [Seleccionar]
cout << ("Ingrese el valor que desea buscar");
       cin >> buscar;
       
       for (int i = 0; i < Tam; i++) //Tam = tama~no del arreglo
       {
            if(Datos[i] == buscar)
            {
                cout << ("El valor se encuenta en el indice: " + i);
                //break; // Rompe el ciclo y solo lo busca 1 vez en caso que se desee buscar si hay mas de 1 se quita el breake
            }
            else if(Datos[i] != buscar)
            {
                cout << ("El dato no existe");
                //break;
            }  
       }


se que no debe de cambiar mucho pero la mayoria de ejemplos que encuentro en la red busca el numero y me devuelve el indice

Gracias saludos.
#57
Java / Problema con arreglo
27 Abril 2014, 11:14 AM
Hola estaba tratando de ingresar datos a un arreglo per no los ingresa

Alquien me podria decir que estoy haciendo mal.

Error
Código (java) [Seleccionar]
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException

Código (java) [Seleccionar]
import java.util.Scanner;

class Arreglos
{
    Scanner tecla = new Scanner(System.in);
   
    int Tam;
    int Datos[] = new int[Tam];
   
    void tamaArr()
    {
        System.out.println("Ingrese el tama~no de la lista: ");
        Tam = tecla.nextInt();
       
        for (int i = 0; i <= Tam-1; i++)
        {
            System.out.println("Ingrese los datos en el arreglo: ");
            Datos[Tam] = tecla.nextInt();
        }
    }
}


Código (java) [Seleccionar]
public class lista {
   
    public static void main(String[] args)
    {
        Arreglos ArreglosOb = new Arreglos();
       
        ArreglosOb.tamaArr();
    }
}


segun leei es como si estubiera fuera de indice

#58
Hola a todos como estan.

El problema que tengo es que no se como pasar un arreglo por medio de un constructor no si, se podra. la verdad.

como pueden ver creo en el .h pero asi se pasa por medio del constructor?

como digo no tengo idea de como hacerlo. tengo lo siguiente.

Archivo de encabezado

Código (cpp) [Seleccionar]
//Clase creaccion del arreglo
# ifndef ARREGLO_H
# define ARREGLO_H
# include <iostream>

using namespace std;

class Arreglo
{
private:
int tamano;
int arreglo[tamano];

public:
Arreglo(int = 0, int =0);

//Metodos Get y set
void setTamano(int);
void setArreglo(int);
int getTamano() const;
int getArreglo() const;

//Otros metodos
void MostrarArreglo();

};
#endif


Archivo de Implementacion

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

Arreglo::Arreglo(int tamano, int arreglo)
{
setTamano(tamano);
setArreglo(arreglo);
}

//Metodos Get y set
void Arreglo::setTamano(int tamano)
{
this->tamano = tamano;
}

void Arreglo::setArreglo(int arreglo)
{
this->arreglo = arreglo;
}

int Arreglo::getTamano() const
{
return this->tamano;
}

int Arreglo::getArreglo() const
{
arreglo =  this->arreglo;
}

//Otros metodos
/*
void Arreglo::MostrarArreglo()
{
cout << "Ingrese el tama~no del arreglo: ";
cin >> tamano;

for(int i = 0; i <= tamano-1; i++)
{
cout << "\nIntroduzca los datos en el arreglo: ";
cin >> arreglo1[tamano];
}

cout << "\nEl arreglo ya esta lleno.";
}*/


Gracias a todos por la ayuda.

PD: se me olvidaba me salta el siquiente error y claro por que se que estoy haciendo algo mal en la forma de pasar el arreglo.

Código (cpp) [Seleccionar]
[Error] invalid use of non-static data member 'Arreglo::tamano'
#59
Hola como estan.

Tengo la siquiente duda este es mi algoritmo

El problema que tengo es que la salida no me sale correctamente alguien sabe a que se deba esto.
No se por que a mi me sale 0.

Código (cpp) [Seleccionar]
#include <iostream>
using namespace std;

main()
{
int a[] = {35, 82, 30, 28, 19};
int temp;

       //numero de iteraciones = n-v
//Numero de veces que se repetira para ordenar = v
//Numero de datos = n = 5
for(int v = 0; v <= 5-1; v++)
{
cout << endl;
for(int i = 0; i <= 5-v; i++)
{
if(a[i] < a[i-1])   //Evaluacion si el numero a su Izq es menor
{
temp = a[i];
a[i] = a[i-1];
a[i-1] = temp;
}
}

for (int i = 0; i<5 ; i++) //Salida
  cout<< a[i] <<" ";
}
return 0;
}


Pero mi salida con 5-v


salida con otra Pc con 5-v


mi salida con 4-v es como la salida de otra pc o como la segunda imagen

saludos muchas gracias.
#60
Hola como están.

Mi siguiente duda estoy tratado de hacer algo en un textbox que tenga un texto predeterminado pero que este se vea claro, de la siguiente forma.



Como ven en user name y cuando se de click se quite ese texto y pueda ingresar datos.
Estaba leyendo MSDN pero son demasiadas funciones las que tiene me llevara un tiempo leerlas todas.

Espero puedan ayudarme gracias y saludos

PD: estoy trabajando en VB
#61
Hola.

alquien comento aca este problema y me propuse a resolverlo

ahora bien mi pregunta es:

Mi algoritmo sera eficiente;
estos son los parametros que le mando a la funcion pero me resuelve el problema en 15  pasos,
ahora lo probe el mismo problema en una pagina de internet que resuelve este tipo de problemas y lo resuelve en 14 pasos asi que no se que pensar.

que no esta siendo eficiente del todo no?

Código (cpp) [Seleccionar]
int main(int argc, char** argv)
{
string inicio = "835416270";

printf ("Prueba n1\n");
string  meta = "123804765";
intel(meta, inicio);

printf("Ejemplo 2\n");
meta = "216408753";
intel(meta, inicio);
return 0;
}


aca el ejemplo



aca mi salida que indica que se realizo en 15 pasos.



una pregunta mas en que tengo que basarme para indicar si mi algoritmo es bueno, en el tiempo de ejecucion que llevo en resolver el problema, o en el algoritmo que estoy implementando?

saludos muchas gracias.
#62
Hola a todos como estan tengo las siquiente instrucciones

El problema que recibo, es que menciona es que la funcion abs no esta declarada.
Código (cpp) [Seleccionar]
for(i1 =0; i1 < 3; i1++)
{
for(i2 =0; i2 < 3; i2++)
{
ws = 1;
for(i3 =0; i3 < 3 && ws > 0; i3++)
{
for(i4 =0; i4 < 3 && ws >0; i4++)
{
if(cg[i3][i4] == cn[i1][i2])
{
ws = 0;
pi += (abs(i3-i1) + abs(i4-i2));
}
}
}
}
}


aca una imagen de lo mencinado antes.


segun yo, le estoy pasando un parametro entero.

muchas gracias a todos saludos.




Hola solucione el problema tenia que declarar la libreria

Código (cpp) [Seleccionar]
#include <cstdlib>

sirve para otras funciones como:
std::abs(int), std::labs, std::llabs, std::imaxabs
   
int abs( int n );
long      abs( long n );
long long abs( long long n );  (Desde C++11)
long labs( long n );
long long llabs( long long n ); (Desde C++11)

Definir <cinttypes>
   
std::intmax_t abs( std::intmax_t n ); (Desde C++11)
std::intmax_t imaxabs( std::intmax_t n ); (Desde C++11)

saludos a todos.
#63
Hola tengo un penque~no problema con un dialogo no encuentro el problema.

esta es la instruccion.
Código (cpp) [Seleccionar]
DialogBoxParam(hInstance, "DialogoPrueba", hwnd, DlgProc2, veces);

este es el error que me sale y no se por que.
Código (cpp) [Seleccionar]
[Error] invalid conversion from 'BOOL (*)(HWND, UINT, WPARAM, LPARAM) {aka int (*)(HWND__*, unsigned int, long long unsigned int, long long int)}' to 'DLGPROC {aka long long int (*)(HWND__*, unsigned int, long long unsigned int, long long int)}' [-fpermissive]

espero puedan orientarme saludos y muchas gracias
#64
Hola como estan.

Mi siquente consulta es, estaba tratando de hacer un menu pero me muestra el siquiente error.

Código (cpp) [Seleccionar]
[Error] cast from 'HMENU' to 'UINT {aka unsigned int}' loses precision [-fpermissive]

Y esta es la funcion.
Código (cpp) [Seleccionar]
void InsertarMenu(HWND hwnd)
{
HMENU hMenu1, hMenu2; //HMENU un manipulador especial para menus
hMenu1 = CreateMenu(); //Manipulador de la barra de menus
hMenu2 = CreateMenu(); //Manipulador para el primer menu pop-up

AppendMenu(hMenu2, MF_STRING, CM_PRUEBA, "&Prueba"); //1 item tipo texto
AppendMenu(hMenu2, MF_SEPARATOR, 0, NULL); //2 item(separador)
AppendMenu(hMenu2, MF_STRING, CM_SALIR, "&Salir"); //3 item

//Insercion del menu pop-up
AppendMenu(hMenu1, MF_STRING | MF_POPUP, (UINT)hMenu2, "&Principal");  //item tipo texto y menu pop-up
SetMenu(hwnd, hMenu1); //Asigna el menu a la ventana hWnd
}


Gracias.




Hola me respondo a mi mismo.

la solucion es en la siquente linea:

Código (cpp) [Seleccionar]
AppendMenu(hMenu1, MF_STRING | MF_POPUP, (UINT_PTR)hMenu2, "&Principal");

UINT_PTR es un tipo entero suficientemente grande para contener todos los valores del puntero, por lo tanto, las advertencias se va.

Encambio la razon de este error es la siquiente.

En esta Instruccion no tiene el mismo tama~no. está tratando de apuntar a algo, pero de distinto tama~no.
Código (cpp) [Seleccionar]
AppendMenu(hMenu1, MF_STRING | MF_POPUP, (UINT)hMenu2, "&Principal");

Saludos y gracias a los que pasaron.

#65
Programación C/C++ / Metodos greedy
9 Abril 2014, 02:32 AM
Hola a todos como estan.

Estaba tratando de hacer un problema que se llama el teorema de los 4 colores como reto personal toda via no tengo muy claro por donde empezar

he estado leyendo y mecionan los metodos greedy

aca su definicion.

Los métodos greedy son los representantes más conocidos de este tipo de heurística, su nombre viene del inglés, en castellano, sería voraz, glotón, porque son métodos que toman lo que pueden sin analizar las consecuencias, también se les llama algoritmos miopes, porque no ven más allá, son cortos de vista en el sentido de que no piensan en el futuro, no se detienen a pensar, toman la solución y no vuelven atrás.

Ahora bien alguien me puede dar un ejemplo simple de este tipo de metodos ya que casi no encuentro mucha informacion. al respecto de estos metodos.

Gracias y saludos a todos
#66
Hola

la duda que me trae por aca es que estaba tratando de pasar un seudocodigo a un programa funcional en C++.

pero no logro entender algunos términos del seudocodigo así que por eso pido ayuda

este es el ejemplo.



las preguntas concisas son:

1. nue_color y t son las variables?

2  El for dice cada vertice v no coloreado de G pero de donde sale v y G <-(asumo que son la cantidad de vertices en su conjunto).

3 Se puede observar que al terminar hay un do pero donde esta el while que lo cierra.

lo que me imagino es que t = v

y en el for si tuviera 13 vértices los cuales no están coloreados se representarían de la siguiente forma?

Código (cpp) [Seleccionar]
for(v = 0; v < 13; i++) // cantidad de vértices no coloreados
{
   //Y en el if estoy muy poco confundido.
}


espero puedan encaminarme.

saludos y gracias.
#67
Hola están.

tengo un peque~no problema estaba estudiando el concepto de procesos y como estos funcionan.

llegue a una parte del libro que habla de los fork();

y muestra un ejemplo que es para la creación de un nuevo proceso.

El problema es que al momento de ejecutar la aplicación me muestra el siguiente error.

/invalid conversion from 'void*' to 'int*' [-fpermissive]|

Este es el codigo.

Código (cpp) [Seleccionar]

#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>

int main (void)
{
   int *valor = malloc(sizeof(int));
   *valor = 0;
   fork();
   *valor = 13;
   printf("%ld: %d\n", (long)getpid(), *valor);

   free(valor);

   return 0;
}


Gracias. también se me olvidaba tal ves me lo pueden explicar un poco mas claro, tengo el concepto un poco confuso todavía. saludos.
#68
Hola primeramente.

He emigrado de windous a gnu/linux.

Y mi pregunta es la siguiente alguien sabe por que no me compila.



Ya instale como compiladores gcc y g++.

Gracias saludos
#69
Hola como esta.

Primero que nada queria saber como puedo crear formularios en C++.

buscando por ahi me encontre con esto.

http://winprog.org/tutorial/es/

y esto

http://winapi.conclase.net/curso/index.php?cap=032#inicio

pero antes de empezar queria saber que me recomiendan ustedes ya que quiero en pesar en modo grafico espero que me puedan recomendar algo.

y se poder sequir con este aprendizage de C++.

Gracias a todos.

PD: que solo sea para C++.
#70
Hola esta es la siquiente duda que tengo.

quiero hacer esto.



No se como pasar lo que tengo en el txt a un archivo binario. lo de listar si se como hacerlo a si que lo que mas me interesa es hacer la convercion.

y tengo esto

Código (cpp) [Seleccionar]
#include <cstdlib>
#include <fstream>
#include <iostream>
#include <iomanip>
#include "Cliente.h"

using namespace std;

int ArchivoBin();

int main(int argc, char *argv[])
{
  //Archivo de texto
  ifstream lectura("Empleados.txt",ios::in);

   if(!lectura)
   {
        cout << "Error.  No se pudo"
             << " abrir el archivo."
             << endl;
        system("pause");
        return -1;
   } // Verificación del archivo.
   
   // 2. Leer información.
   int idCliente=0;
   char nombre[20], apellido[20];
   double ingreso;
   
   cout << '\n'
        << setw(10) << "Codigo"
        << setw(15) << "Nombre"
        << setw(15) << "Apellido"
        << setw(15) << "Ingreso L."
        << setw(20) << "Archivo Texto"
        << fixed << setprecision(2)
        << endl;
   for(int i=0; i<55; i++)
       cout << '=';
   
   cout << endl;
   
   lectura >> idCliente
           >> nombre
           >> apellido
           >> ingreso;
           
   while(!lectura.eof())
   {
      cout << setw(10) << idCliente
        << right << setw(15) << nombre
        << setw(15) << apellido
        << setw(15) << ingreso << endl;
       
        lectura >> idCliente
                >> nombre
                >> apellido
                >> ingreso;
   }
   
   lectura.close();
   
   ArchivoBin();
           
   system("PAUSE");
   return EXIT_SUCCESS;
}

int ArchivoBin()
{
   ofstream salida ("Empleados.bin", ios::binary);
   
   //Archivo de texto
  ifstream lecturaBin("Empleados.bin", ios::binary);

   if(!lecturaBin)
   {
        cout << "Error.  No se pudo"
             << " abrir el archivo."
             << endl;
        system("pause");
        return -1;
   } // Verificación del archivo.
   
   // 2. Leer información.
   Cliente registro;
   int idCliente=0;
   char nombre[20], apellido[20];
   double ingreso;
   
   cout << '\n'
        << setw(10) << "Codigo"
        << setw(15) << "Nombre"
        << setw(15) << "Apellido"
        << setw(15) << "Ingreso L."
        << setw(20) << "Archivo Binario"
        << fixed << setprecision(2)
        << endl;
   for(int i=0; i<55; i++)
       cout << '=';
   
   cout << endl;
   
   lecturaBin.seekg((idCliente - 1) * sizeof(Cliente));
   lecturaBin.read(reinterpret_cast<char *>(&registro), sizeof(Cliente));
   
   while(!lecturaBin.eof())
   {
      cout << setw(10) << idCliente
        << right << setw(15) << nombre
        << setw(15) << apellido
        << setw(15) << ingreso << endl;
       
         lecturaBin.read(reinterpret_cast<char *>(&registro), sizeof(Cliente));
         
   }
   
   lecturaBin.close();
   return 0;
}


espero puedan ayudarme.

estos son los datos en el .txt por si quieren provarlo

1   Davolio   Nancy  900
2   Fuller   Andrew   678
3   Leverling   Janet  3000
4   Peacock   Margaret   78564
5   Buchanan   Steven  7865
6   Suyama   Michael 8000
7   King   Robert  700
8   Callahan   Laura  2000
9   Dodsworth   Anne  12345

y mi salida es esta.


#71
Hola a todos como esta.

Mi pregunta es la siquiente estoy trabajando con archivos que quiero alinear o darle formato a los datos.

estoy intentando con la libreria iomanip

ya use el setw(int), para dar le espacio entre datos, ya intente el right y el left pero nada no los alinea talves alquien sabe de alguna funcion que haga este tipo de instruccion.

dejo una imagen.



como ven no se aliena el texto. : (
#72
Hola.

Primero que nada vi a alquien programando paginas web en netbeans y mis preguntas son las siquentes:

1.  Se puede programar paginas web en C++?
2. Que programas se pueden usar (aclaro en netbeans ya se puede trabajar en java y en c++).
3. Que programas recomiendan ustedes para hacer esta practica si es que se puede.
4. De java script hay un equivalente en C++;

Se que hay sofware especiales para dise~no de web.

Pero quiero saber algo mas sobre desarrollo web en C++ si es que se puede, dudo mucho que no se puedo por eso pregunto. no se nada del tema.

Gracias a todos por tomarse el tiempo de pasar por el post.

#73
Hola.

Estoy trabajando con archivos.

Y les muestro la imagen de mi error.

cuando ingreso nombre, y apellido, en nombre me sale el apellido y en apellido los simbolos que ven, estoy recuperando los datos de un archivo binario y no noto ningun error en el codigo, asi que me imagino debe de ser en los metodos.

De caualquier forma si no hay error aca pondre como hice la creacion de los archivos.

PD: la imagen que ven NO ES DE INGRESO DE DATOS si no de busqueda de datos.



Gracias a todos saludos.
#74
Hola como estan, quisiera saber si alquien sabe como convertir una string a char
ya que lo nesesito para la funcion.

void outtextxy (int x, int y, char *textstring);

y ya probe con:

//char *nombre = strdup(nombrePer.c_str());
//sprintf(cadena, "%c", nombrePer);
//strcpy(cadena,nombrePer.c_str());

Y sique sin funcionarme.

gracias de antemano y saludos a todos.

#75
Navegando por ahí me he topado con esta librería sé que es un poco vieja. Son funciones que sirve para aprender hacer programas gráficamente.

El paquete que se necesita es WinBGIm.

PD: sé que no es OpenGL y otras librerías avanzadas pero para aprender y poner en práctica lo aprendido y gráficamente está muy bueno.

Pues nada más les dejo el link.

http://c.conclase.net/borland/?borlandfun=lista

Y para los que les gusta en inglés.

http://www.cs.colorado.edu/~main/bgi/doc/

Saludos a todos y cuídense.
#76
Hola primero que nada alguno de ustedes sabe de algun libro de C++ que solo hable de polimorfismo y tenga algunos ejemplos un poco mas detallados.

He visto el de obsoluted C++ pero los ejemplos son un poco simples y busco algo que me haga entender a profundidad este tema.

Gracias y saludos a todos.
#77
Hola como lo dice el titulo me gustaria saber que son plantillas multiset como trabajan y para que sirven talvez alquien me da una idea mas clara de la definicion.

muchas gracias.

PD: estaba leyendo un poco de biblioteca de plantillas estandar (SLT). y asi me llego la duda.
#78
Hola esta es mi siguiente duda tengo este formulario.
y lo que deseo es que salga el formulario completo y luego que pida los datos al usuario
ya que si uso cin primero me pide el número de cheque, luego la fecha así sucesivamente y no todo de un solo.

Estaba viendo como usan la función gets en C pero no logro entender la idea.

Imprimen el formulario completo y luego posicionan la entrada del teclado pero no entiendo muy bien como lo hacen,  alguien tiene una idea de cómo hacerlo en C++ de una forma más fácil sin tanta complejidad.

#79
1. Tengo dos preguntas se puede cambiar el tamaño de la consola para que se vea el tamaño que deseo en tiempo de ejecución o ya está predefino por Windows.

Sé que puedo dar click derecho propiedades y pueda cambiar eso, pero el usuario también lo vera. No tengo otra compu para probar así que agradecería si alguien sabe algo.

2. y la segunda como hago para que una que un carácter  quede inmóvil o no se mueva de ese lugar sin correr los espacios en consola.
#80
Hola.

Espero que me pueda ayudar con mi duda estoy tratando de hacer métodos de administración, pero al momento de mostrar datos en pantalla no sé qué estoy haciendo mal.

No es un error de sintaxis creo que es mas de lógica pero no entiendo que parte es la que trabaja mal.

El problema que detecto es en el archivo de implementación de Camion.cpp en la función Camion::flistaDeCamiones() en el for cuando intento acceder a la a listaDeCamiones->imprimir(); el primer registro si lo introduce bien pero cuando le agrego otro, el programa se cierra y parece, que borrara el primer registro.

Y eso no me deja seguir con los demás métodos.

he sacado la funcion imprimir fuera del for por solo me registra una ves los datos, y no una secuencia, si lo pongo antes de empezar el for me hace la secuencia pero me repite los ultimos datos las veces que haya registrado un camion.

Lamento preguntar tanto.

//Camion.cpp
Código (cpp) [Seleccionar]
#include "Camion.h"
#include <iostream>
#include <iomanip>
#include <string>

using namespace std;
 
Camion::Camion (int idCam, int cilindrajeCam, int puertasCam, int anioCam,
               double precioCam, string marcaCam, string modeloCam,
               string colorCam)
               {
                  idCamion = idCam;
                  cilindrajeCamion = cilindrajeCam;
                  nPuertasCamion = puertasCam;
                  anioCamion = anioCam;
                  precioCamion = precioCam;
                  marcaCamion = marcaCam;
                  modeloCamion = modeloCam;
                  colorCamion = colorCam;
                 
                  Maximo =100;
                  cantidadDeCamiones =0;
               }
//Funciones set
void Camion::setIdCamion(int idCam)
{
    idCamion = idCam;
}

void Camion::setCilindrajeCamion(int cilindrajeCam)
{
    cilindrajeCamion = cilindrajeCam;
}

void Camion::setNPuertasCamion(int puertasCam)
{
    nPuertasCamion = puertasCam;
}

void Camion::setanioCamion(int anioCam)
{
    anioCamion = anioCam;
}

void Camion::setPrecioCamion(double precioCam)
{
    precioCamion = precioCam;
}

void Camion::setMarcaCamion(string marcaCam)
{
    marcaCamion = marcaCam;
}

void Camion::setModeloCamion(string modeloCam)
{
    modeloCamion = modeloCam;
}

void Camion::setColorCamion(string colorCam)
{
    colorCamion = colorCam;
}

//Funciones get
int Camion::getIdCamion() const
{
   return idCamion;
}

int Camion::getCilindrajeCamion() const
{
   return cilindrajeCamion;
}

int Camion::getnPuertasCamion() const
{
   return nPuertasCamion;
}

int Camion::getanioCamion()const
{
   return anioCamion;
}

double Camion::getPrecioCamion() const
{
      return precioCamion;
}

string Camion::getMarcaCamion() const
{
      return marcaCamion;
}

string Camion::getModeloCamion() const
{
      return modeloCamion;
}

string Camion::getColorCamion() const
{
      return colorCamion;
}

//Ingresa un nuevo camion

void Camion::ingresarCamion()
{
  listaDeCamiones = new Camion*[Maximo];// arreglo de 100
 
  if (cantidadDeCamiones < Maximo)
  {
    system("cls");
    cout << "Ingrese los datos del camion\n";
    cout << "Ingrese el ID del camion: ";
    cin  >> idCamion;
   
    cout << "Ingrese la Marca del Camion: ";
    cin  >> marcaCamion;
   
    cout << "Ingrese el Modelo del camion: ";
    cin  >> modeloCamion;
   
    cout << "Ingrese el año del Camion: ";
    cin  >> anioCamion;
   
    cout << "Ingrese el cilindraje del camion: ";
    cin  >> cilindrajeCamion;
   
    cout << "Ingrese el numero de puertas: ";
    cin  >>  nPuertasCamion;
   
    cout << "Ingrese el color del camion: ";
    cin  >> colorCamion;
   
    cout << "Ingrese el presio del camion: ";
    cin  >> precioCamion;
   
    listaDeCamiones[cantidadDeCamiones] =
    new Camion(idCamion, cilindrajeCamion,
        nPuertasCamion, anioCamion,
        precioCamion, marcaCamion,
        modeloCamion,colorCamion);
   
    cantidadDeCamiones++;
   
    cout << endl <<"Los datos del camion fueron ingresados correctamente\n";
  }
  else
  {
      system("cls");
      cout << "Ya no hay espacio disponible para mas camiones\n";
  }
}

//Muestra los datos del camion
void Camion::flistaDeCamiones()
{
    if (cantidadDeCamiones==0)
    {
      system("cls");
      cout<<"No se a registrado ninguna Camion todavía"<<endl;
    }
      else
      {
          cout<<"..:::Lista de Camiones:::.."<<endl<<endl;
          cout << setw(10)<<"Id Camion"<<setw(15)<<"Modelo"<<setw(15)<<"marca"<<endl;
          cout<<"================================================="<<endl;
                 
          //Imprimmir todos los camiones almacenadas en el arreglo
          for (int i=0; i<cantidadDeCamiones; i++)
          {
            listaDeCamiones[i]->imprimir(); //PROBLEMA Y NO LO IDENTIFICO
          }
          cout<<endl<<"*******Fin de la lista **********"<<endl<<endl;
      }
}
//Busca ese camion
int Camion::buscarCamion(int codigo)
{
   for (int i=0; i < cantidadDeCamiones; i++)
   {
       if(listaDeCamiones[i]->getIdCamion() == codigo)
       {
         return i;
       }
   }
   return -1;
}

//Modifica ese Camion.
void Camion::modificarCamion()
{
    if (cantidadDeCamiones == 0)
    {
      system("cls");
      cout << "No se ha registrado ningun camion tadavia\n";
    }
    else
    {
        cout << "Modificar Camion\n\n";
        int codigoCamion;
        cout << "Ingrese el codigo del camion: ";
        cin >> codigoCamion;
       
        int ubicacion = buscarCamion(codigoCamion);
        if (ubicacion == -1)
        {
          cout << "Lo sentimos ese codigo del camion no existe\n";
        }
        else
        {
            cout << "El codigo se encontro\n\n";
            cout << setw(10)<<"Id"<<setw(15)<<"Modelo"<<setw(15)<<"marca"<<endl;
            cout<<"================================================="<<endl;
           
            listaDeCamiones[ubicacion]->imprimir();
            cout << "\n\n";
            cout  << "Ingrese los nuevos datos del Camion\n\n";
           
            cout <<  "Marca";
            cin  >> marcaCamion;
           
            cout << "Modelo del camion: ";
            cin  >> modeloCamion;
           
            cout << "Año del Camion: ";
            cin  >> anioCamion;
           
            cout << "Cilindraje del camion: ";
            cin  >> cilindrajeCamion;
           
            cout << "numero de puertas: ";
            cin  >>  nPuertasCamion;
           
            cout << "Color del camion: ";
            cin  >> colorCamion;
           
            cout << "Presio del camion: ";
            cin  >> precioCamion;
           
            listaDeCamiones[ubicacion]->setMarcaCamion(marcaCamion);
            listaDeCamiones[ubicacion]->setModeloCamion(modeloCamion);
            listaDeCamiones[ubicacion]->setanioCamion(anioCamion);
            listaDeCamiones[ubicacion]->setCilindrajeCamion(cilindrajeCamion);
            listaDeCamiones[ubicacion]->setNPuertasCamion(nPuertasCamion);
            listaDeCamiones[ubicacion]->setColorCamion(colorCamion);
            listaDeCamiones[ubicacion]->setPrecioCamion(precioCamion);
           
            cout << "El camion fue modificado Exitosamente.\n";
        }
    }
}

void Camion::eliminarCamion()
{
    if (cantidadDeCamiones == 0)
    {
      system("cls");
      cout << "No se ha registrado ningun camion tadavia\n";
    }
    else
    {
        cout << "Eliminar Camion\n\n";
        int codigoCamion;
        cout << "Ingrese el codigo a eliminar: ";
        cin >> codigoCamion;
       
        int ubicacion = buscarCamion(codigoCamion);
        if (ubicacion == -1)
        {
          cout << "Lo sentimos ese codigo del camion no existe\n";
        }
        else
        {
            cout << "El codigo se encontro\n\n";
            cout << setw(10)<<"Id"<<setw(15)<<"Modelo"<<setw(15)<<"marca"<<endl;
            cout<<"================================================="<<endl;
           
            listaDeCamiones[ubicacion]->imprimir();
            cout << "\n\n";
           
            cout << "Presione enter para eliminar ese camion\n\n";
            system("pause");
           
            //Pasa a eliminar usando una copia del arreglo
            Camion**temporalListaDeCamiones = new Camion*[Maximo];
            int temporalCantidadDeCamiones = 0;
           
            //Se copia el arreglo en otro arreglo exepto el que se quiere eliminar
            for(int i =0; i < cantidadDeCamiones; i++)
            {
              if(i!=ubicacion)
              {
                temporalListaDeCamiones[temporalCantidadDeCamiones] = new Camion(listaDeCamiones[i]->getIdCamion(),
                                                                                 listaDeCamiones[i]->getCilindrajeCamion(),
                                                                                 listaDeCamiones[i]->getnPuertasCamion(),
                                                                                 listaDeCamiones[i]->getanioCamion(),
                                                                                 listaDeCamiones[i]->getPrecioCamion(),
                                                                                 listaDeCamiones[i]->getMarcaCamion(),
                                                                                 listaDeCamiones[i]->getModeloCamion(),
                                                                                 listaDeCamiones[i]->getColorCamion());
                temporalCantidadDeCamiones++;
              }//Fin if
            }//Fin for
           
            //Limpio la memoria usada por el arreglo principal de camiones
            for(int i=0; i<cantidadDeCamiones; i++)
            {
              listaDeCamiones[i]->~Camion();
            }
           
            //copia el arreglo temporal al principio
            cantidadDeCamiones = 0;
            for(int i =0; i<temporalCantidadDeCamiones; i++)
            {
               listaDeCamiones[cantidadDeCamiones] = new Camion(temporalListaDeCamiones[i]->getIdCamion(),
                                                                temporalListaDeCamiones[i]->getCilindrajeCamion(),
                                                                temporalListaDeCamiones[i]->getnPuertasCamion(),
                                                                temporalListaDeCamiones[i]->getanioCamion(),
                                                                temporalListaDeCamiones[i]->getPrecioCamion(),
                                                                temporalListaDeCamiones[i]->getMarcaCamion(),
                                                                temporalListaDeCamiones[i]->getModeloCamion(),
                                                                temporalListaDeCamiones[i]->getColorCamion());
               cantidadDeCamiones++;
            }//Fin for
            cout << "El camion fue eliminado exitosamente\n\n";
        }//fin else
    }
   
}

//Imprime los datos del Camion
void Camion::imprimir()
{
    cout<<setw(10)<<idCamion<<setw(15)<<modeloCamion<<setw(15)<<marcaCamion<<endl;
}


//.h
Código (cpp) [Seleccionar]
#ifndef CAMION_H
#define CAMION_H
#include <iostream>
using namespace std;
// Variables globales
class Camion
{
     private:
     int idCamion;
     int cilindrajeCamion;
     int nPuertasCamion;
     int anioCamion;
     double precioCamion;
     string marcaCamion, modeloCamion, colorCamion;
     
     public:
     Camion(int =0, int=0, int=0, int=0, double = 0.0, string = "", string = "", string = "");
     
     void setIdCamion(int);
     void setCilindrajeCamion(int);
     void setNPuertasCamion(int);
     void setanioCamion(int);
     void setPrecioCamion(double);
     void setMarcaCamion(string);
     void setModeloCamion(string);
     void setColorCamion(string);
     
     int getIdCamion() const;
     int getCilindrajeCamion() const;
     int getnPuertasCamion() const;
     int getanioCamion() const;
     string getMarcaCamion() const;
     string getModeloCamion() const;
     string getColorCamion() const;
     double getPrecioCamion() const;
     
     //Otros Metodos
     void ingresarCamion();
     void flistaDeCamiones();
     void imprimir();
     int buscarCamion(int);
     void modificarCamion();
     void eliminarCamion();
     
     private:
     Camion**listaDeCamiones;
     int Maximo;
     int cantidadDeCamiones;
     
};
#endif


//principal
Código (cpp) [Seleccionar]
#include <cstdlib>
#include <iostream>
#include "Camion.h"

using namespace std;

void menuCamiones();

int main(int argc, char *argv[])
{    
    menuCamiones();
   system("PAUSE");
   return EXIT_SUCCESS;
}

void menuCamiones()
{
    Camion camionOb;
    int opcion;
    do
    {
        system("cls");
        cout << "Menu\n"
             << "1.Desea ingresar un nuevo camion a la empresa\n"
             << "2. mostrar lista de Camiones\n";
        cout << "Elija una opcion: ";
        cin >> opcion;
         
        switch(opcion)
        {
        case 1:
             system("cls");
             camionOb.ingresarCamion();
             system("pause");
             break;
   
         case 2:
              system("cls");
              camionOb.flistaDeCamiones();
              system("pause");
         break;        
         
         case 3:
         break;
         
         default:
                 cout << "Esa opcion no existe.\n\n";
                 break;
        }
       
                 
    }while(opcion != 3);
}


Gracias.
#81
Hola como estan.

Como pueden ver estoy declarando esas variables globales.
no se que estoy haciendo mal

perdon se me escapaba explicar esa variable las declaro como glovales en camion.h pero en el archivo de implemetacion a la hora se ser usadas me da ese error

si lo ejecuto en la principal no hay problema.



y en la funcion de camion.cpp tengo esto

Código (cpp) [Seleccionar]
void Camion::ingresarCamion()
{
  if (cantidadDeCamiones < Maximo)
  {
    //Código de las entradas por teclado que capturaran lista de camiones
    cout << "Ingrese los datos del camion\n";
    cout << "Ingrese el ID del camion: ";
    cin  >> idCamion;
   
    cout << "Ingrese la Marca del Camion: ";
    cin  >> marcaCamion;
   
listaDeCamiones[cantidadDeCamiones] = new Camion(idCamion, cilindrajeCamion,
                                                     nPuertasCamion, anioCamion,
                                                     precioCamion, marcaCamion,
                                                     modeloCamion,colorCamion);
    cantidadDeCamiones++;
   
    cout << "Los datos del camion fueron ingresados correctamente\n\n";
  }
  else
  {
      system("cls");
      cout << "Ya no hay espacio disponible para mas camiones\n\n";
  }


el invalid types <unknown type> me imagino que hace referencia a  listaDeCamiones[cantidadDeCamiones]

#82
Hola la duda que me trae el día de hoy es se pueden hacer hipervínculos pero en consola

Es decir que me aparezca Google como hipervínculo. Y al darle click me lleve a la página.

saludos investigando.
#83
Hola a todos mi pregunta de hoy es si se puede imprimir una cadena despues de un cin

lo explico mejor en la imagen quiero que me salga asi

En la salida en consola:

Ingrese algo: hola como estas bien y tu. <- pero todo en la misma linea. si que me haga un salto de linea

#84
Son dos preguntas como haga para que el system("pause"); quede dentro del marco
Y no sé dónde poner el for que me haga la parte de la derecha del marco.


case 1:
               case 1:
               system("cls");
               cout << "\xC9";
               lineaSuperiorYInferior();
               cout << "\xBB";
               primeraClase(); //Funcion
               cout << "\xC8";
               lineaSuperiorYInferior();
               cout << "\xBC";
               cout << "\n\n";
               system("pause");
               break;

// en la funcion tengo esto

      cout << "\xBA"<< " " << setw(58) << "Esta en el menu de primera Clase" <<   setw(20) << "\xBA";
       for (int i =0; i <= 1; i++)
       {
           marco();
       }
       
cout << "\xBA" << " La asignacion de su asiento es: " << primerClase << setw(45) << "\xBA";
       
       for (int i =0; i <= 17; i++)//Marco
      {
           marco();
      }

//Ahora bien, viene lo interesante cree dos funciones una para que me manejara las
//orillas y otra para parte superior y inferior y luego solo las maneje con un for //donde se necesitaba.

void marco()
{
       cout << "\xBA" << setw(79) << "\xBA";
}

void lineaSuperiorYInferior()
{
   for (int i =0; i <= 77; i++) //Linea siperior del marco
   {
       cout <<"\xCD";
   }
}

asi me quedo

Gracias y saludos

#85
//clase de encabezado

#ifndef OPERACIONES_H
#define OPERACIONES_H

class Operaciones
{
   private:
       double numero1, numero2;
       
   public:
       void setNumero1(double);
       void setNumero2(double);
       double getNumero1();
       double getNumero2();
       
       //Otras funciones
       double getSuma();
       double getResta();
       double getMultiplicacion();
       double getDivision();
};

#endif

///////////////////////////////////////////////////////////////////
//Clase de implementacion

#include "Operaciones.h"
#include <iostream>

using namespace std;

void Operaciones::setNumero1(double num1)
{
   numero1 = num1;
}

void Operaciones::setNumero2(double num2)
{
   numero2 = num2;
}

double Operaciones::getNumero1()
{
   return numero1;
}

double Operaciones::getNumero2()
{
   return numero2;
}

////////////////////////////////////////////////////////
//Otras funciones
////////////////////////////////////////////////////////

double Operaciones::getSuma()
{
   return numero1+numero2;
}

double Operaciones::getResta()
{
   return numero1-numero2;
}

double Operaciones::getMultiplicacion()
{
   return numero1*numero2;
}

double Operaciones::getDivision()
{
   if (numero2 = 0)
   {
       cout << "La divicion entre ceros no es valida\n";
   }
   else
   return numero1/numero2;
}

////////////////////////////////////////////////////////////
// clase principal


#include "Operaciones.h"
#include "Operaciones.cpp"
#include <iostream>
#include <stdlib.h>

void menu();
void Operacion(int);

int main()
{
   menu();
   system("pause");
   return 0;
}

void menu()
{
   Operaciones OperacionesOb;
   int opcion;
   double numero1, numero2;
   
   while(opcion !=5)
   {
       system("cls");
       cout << "1. suma\n"
            << "2. resta\n"
            << "3. Multiplicacion\n"
            << "4. division\n"
            << "5. salir\n"
            << "Elija una opcion: ";
            cin >> opcion;
           
       switch(opcion)
       {
           case 1:
               system("cls");
               Operacion(1);
               system("pause");
               break;
               
           case 2:
               system("cls");
               Operacion(2);
               system("pause");
               break;
           
           case 3:
               system("cls");
               Operacion(3);
               system("pause");
               break;
           
           case 4:
               system("cls");
               Operacion(4);
               system("pause");
               break;
           
           case 5:
               break;
               
           default:
               
               cout << "La Opcion es incorrecta.\n";
               system("pause");
               break;
           
       }
   }
}

void Operacion(int a)
{
   Operaciones OperacionesOb;
   double numero1, numero2;
   
   cout << "Ingrese el primer numero: ";
   cin >> numero1;
   
   cout << "Ingrese el segundo numero: ";
   cin >> numero2;
   
   OperacionesOb.setNumero1(numero1);
   OperacionesOb.setNumero2(numero2);
   
   if(a==1)
   {
       cout << "La suma es: " << OperacionesOb.getSuma() << "\n";
   }
   else if (a ==2)
   {
       cout << "La Resta es: " << OperacionesOb.getResta() << "\n";
   }
   else if (a ==3)
   {
       cout << "La Multiplicacion es: " << OperacionesOb.getMultiplicacion() << "\n";
   }
   else if(a ==4)
   {
       cout << "La Division es: " << OperacionesOb.getDivision() << "\n";
   }
}


Hola, en lo que necesito ayuda es que no quisiera estar repitiendo la función de operación, solo deseo que esta función reciba una vez los datos dependiendo de la operación que se desee y que me la retorne con la función getSuma o la resta según su operación.

Pero cuando pongo el getSuma en el switch la respuesta es un número muy alto.

No sé cómo hacer eso saludos y gracias.

PD: en pocas palabras por si no me entienden lo que quiero es no estar repitiendo la función Operación.