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 - ThronerAXE

#1
Buenas, estoy intentando crear un juego en aplicacion usando diferentes componentes de la interfaz de Borland Builder 6 en el cual tengo que manipular muchas imagenes. Lo que tengo que hacer es colocarlas en un tablero para que el usuario las pueda visualizar todas y en tiempo de ejecucion el usuario puede descartarlas si se cumplen algunas condiciones. Lo que nesecito saber es como manipular todas las imagenes con un arreglo para mas comodidad. Esta es la clase que genera el compilador:
Código (cpp) [Seleccionar]
class TForm1 : public TForm
{
__published: // IDE-managed Components
       TImage *Image1;     // <--- ESTE ES EL COMPONENTE QUE TENGO QUE UTILIZAR
private: // User declarations
public: // User declarations
       __fastcall TForm1(TComponent* Owner);
};

Intente colocando:
Código (cpp) [Seleccionar]
TImage *Image[i];
En donde i era una variable entera y luego manipular un arreglo con un ciclo for pero agarra un error que dice que no se puede agregar ese array. Ademas si coloco otro componente de imagen, la clase que se genera es:
Código (cpp) [Seleccionar]
class TForm1 : public TForm
{
__published: // IDE-managed Components
       TImage *Image1;     // <--- ESTE ES EL COMPONENTE QUE TENGO QUE
       TImage *Image2;     //NUEVO COMPONENTE
UTILIZAR
private: // User declarations
public: // User declarations
       __fastcall TForm1(TComponent* Owner);
};

Tambien intente usar Image1 por Image[ARRAY] (basicamente lo mismo de arriba) en la funcion constructora para hacer una prueba si funcionaba, pero tampoco me dejo, nose si lo que estoy intentando hacer es imposible o si deba usar algun otro componente que me permita manejar estas imagenes con un arreglo o vector.
#2
Código (cpp) [Seleccionar]
void __fastcall TForm1::Button1Click(TObject *Sender)
{
        //Delete(int index, int count);
        Edit1->Text= Edit1->Text.Delete(1,1);
}


Lo que estoy intentando hacer es que si yo ingreso alguna cadena en el Edit1 y cada vez que oprima el boton me borre el ultimo caracter ingresado, pero ese codigo me borra el primer codigo(osea lo hace al reves).
#3
Buenas, estoy aprendiendo a crear archivos, dehecho ya los se crear usando fopen y todas esas funciones. Pero estoy totalmente crudo en saber como buscar caracteres, cadenas o enteros en un archivo, queria saber si alguien me podria dar algunos ejemplos sencillos de hacer esas busquedas. De momento se que debe ir un ciclo while que sea !=EOF pero aun no termino de digerir algunos codigos.
#4
Disculpenme si estoy en la sección erronea y lo digo porque nunca he visto algun tema sobre aplicaciones. Lo que intento buscar es un manual que describa algunos eventos, propiedades y codigos para aprender a crear y a manipular programas sencillos por aplicacion como un simple formulario o una calculadora.
#5
Buenas, hize este pequeño codigo para practicar y entender lo de los constructores y más aun, sobre asignar memoria dinamica para vectores, sin embargo hay algunas cosas q no logro entender...
primero q todo el metodo obj.mostrar() no funciona bien, pues si yo le asigno al vector 3 posiciones, puedo guardar las 3 posiciones(o almenos eso creo), pero cuando las quiero mostrar, solo sale la de la ultima posicion, a que se debe eso??
lo segundo es sobre el puntero *vector, la verdad nose que significa, y tampoco se porque se le declara como char
alguien me puede explicar porfavor ???

Código (cpp) [Seleccionar]
#include <iostream.h>
class Numero
{
   private:
         int x;
         int y;
         char *vector;
   public:
         Numero(int n);
         void carga();
         void mostrar();
};
Numero::Numero(int n)
{
  vector=new char[n];
}
void Numero::carga()
{
  cout<<endl<<"Ingrese X y Y: ";
  cin>>x>>y;
}
void Numero::mostrar()
{
   cout<<endl<<"X: "<<x<<endl<<"Y: "<<y<<endl;
}
void main()
{
  int col,i;
  cout<<"Ingrese las posiciones del vector: ";
  cin>>col;
  Numero obj(col);
  for( i=0;i<col;i++)
  {
    obj.carga();
  };
  for(i=0;i<col;i++)
  {
    obj.mostrar();
  };
  system("pause");
}
#6
Código (cpp) [Seleccionar]
#include <iostream.h>
#include <string.h>
class Hola
{
  private:
            char nom[20];
            int num;
  public:
            Hola();
};
Hola::Hola()
{
  strcpy(nom," ");
  num=0;
}


Código (cpp) [Seleccionar]
#include <iostream.h>
#include <string.h>
class Hola
{
  private:
            char nom[20];
            int num;
  public:
            Hola(int numero, char *nombre);
};
Hola::Hola(int numero, char *nombre)
{
  strcpy(nom,nombre);
  num=numero;
}


Buenas . queria saber si me podian aconsejar sobre como actuan estos 2 constructores, primero si estan escritos correctamente xd, luego en el segundo codigo q es con parametros aveces he visto que las variables las invierten de esta forma, esta correcto??:
Código (cpp) [Seleccionar]
strcpy(nombre,nom);
numero=num;
#7
este programita sencillito, por ejemplo en si yo le ingresara una sifra mayor a 7 digitos(ej: 1234567) el programa da como salida 1.23457e+06 y si lo cambio a tipo double sucede lo mismo. ¿ que puedo hacer en esos casos ?

Código (cpp) [Seleccionar]
#include <iostream.h>
int main()
{      double x;
       cout<<"Ingrese el valor de X: ";
       cin>>x;
       cout<<endl<<"usted ingreso "<<x<<endl;
       system("pause");
        return 0;
}
#8
Buenas.
Estoy empezando a programar en c++ y estoy aprendiendo parte de las clases, constructores y destructores... en fin. Tengo un codigo que aplica estas 3 cositas. El ejercicio me pide 2 constructores, uno con la informacion de las distancias y otro sin parametros (sobrecarga). Yo hize uno de esos constructores pero no estoy muy seguro cual de los 2 fue el que logre hacer(supongo que es el que no tiene parametros), ahora lo q nose muy bien es como hacer el otro constructor. Ademas a eso, acepto cualquier sugerencia con respecto al codigo que hize y por ultimo, en el codigo del destructor le deje un mensaje para que mostrara ¿ existe algun codigo que haga que pare el programa para poder visualizar el mensaje, ya que use el system("pause") y el cin.get() y ninguno me funciono.
NOTA: el programa recibe 3 distancias y calcula el perimetro.
Código (cpp) [Seleccionar]
#include <iostream.h>
#pragma hdrstop
#pragma argsused

class triangulo
{     private:
               float d1,d2,d3;
      public:
               triangulo();
               float perimetro(float d1,float d2,float d3);
               ~triangulo(){cout<<"Se ejecuta el DESTRUCTOR";}

};

triangulo::triangulo() //CONSTRUCTOR
{ cout<<"inicia el constructor"<<endl;
d1=0;
d2=0;
d3=0;
}
float triangulo::perimetro(float d1, float d2, float d3)
{ float perim;
  perim=d1+d2+d3;
  return perim;
}

int main()
{
  triangulo mitriangulo;
  int dist1, dist2, dist3;
  cout<<"Ingrese las 3 distancias(xx xx xx): ";
  cin>>dist1>>dist2>>dist3;
  cout<<"el perimetro es "<<mitriangulo.perimetro(dist1,dist2,dist3)<<endl;
  system("pause");
  return 0;
}
#9
Programación C/C++ / Validar algunas cosas en C++
6 Diciembre 2013, 16:33 PM
Usando Builder en C++ quisiera saber algunas formas de validar, por ejemplo, si quiera guardar un entero, y quisiera validar que se ingresara exlusivamente el entero y no un caracter o una cadena de carcteres, y de igual forma si quisiera guardar una cadena de caracteres y quisiera validar para que no ingresen numeros. como  sería el codigo ?
#10
Buenas tengo este problema, estoy creando un pedazo de funcion(le tengo que agregar mas funciones) y estoy usando la estructura switch, mi problema es que cuando el programa corre, no entra en la funcion, aqui esta el codigo:

//Ultimo Programa de funciones
#include <stdio.h>
#include <conio.h>
//Prototipos
int menu(void);
int semana(char);
//Programa Principal
void main()
{ int opcion;
  char dia;
  float valor;

  while((opcion=menu())!=2)
  { switch(opcion)
    { case 1: clrscr();
              printf("\nIngrese la inicial del dia: ");
              scanf("%c",&dia);
              printf("\nEl dia de la semana que le corresponde es el %d",semana(dia));
              break;
    }
  }
}
//Funciones
int menu(void)
{ int opc;
  clrscr();
  printf("\t\t\tMENU");
  printf("\n1...Para los dias de la semana");
  printf("\n2...SALIR");
  do
  { printf("\n\nIngrese su opcion y presione enter: ");
    scanf("%d",&opc);
    if(opc<1 || opc>2)
    { printf("\nHa ingresado un valor incorrecto!!!");
      getch();
    }
  }while(opc<1 || opc>2);
  return opc;
}

int semana(char fdia)
{ int fndia;
  switch(fdia)
  { case 'd': fndia=1;
              break;
    case 'l': fndia=2;
              break;
    case 'm': fndia=3;
              break;
    case 'M': fndia=4;
              break;
    case 'j': fndia=5;
              break;
    case 'v': fndia=6;
              break;
    case 's': fndia=7;
              break;
  }
return fndia;
}
#11
Programación C/C++ / Funciones !
15 Abril 2013, 02:05 AM
Buenas!
he comenzado con el tema de las funciones en lenguaje c, este es mi primer programa que hago, pero hay un error que no me deja que corra el programa. Debo crear un menu en el que el usuario pueda elejirlas siguientes opciones:
El calculo de una funcion racional.
El calculo del area y el perimetro de un triangulo acutangulo.
Finalizar.
Los errores me los da en la linea 55(Code has no effect) y en la linea 59(do statement must have while). Le he hechado bastante cabeza pero nada que doy con el error. Tambien tengo una duda, haciendo la funcion del triangulo, debo dar 2 salidas, y los pocos ejercicios que he hecho han sido con una sola salida, entonces en lo que pense fue en copiar la funcion y que cada una me retornara, por un lado el perimetro y por otro lado la altura.. entonces nose como sería la forma mas estetica de escribirlo para que me de las 2 salidas. este es el codigo.
//Programa 3 de Funciones
#include <stdio.h>
#include <conio.h>
#include <math.h>
//Prototipos
int menu(void);
float fun_met1(float);
float fun2_alt(float, float, float);
float fun2_per(float, float, float);

//Programa Principal
void main()
{ int opcion;
  float valorX,val_fun,angulo,ladoC,ladoA;

  do
  {
   switch(opcion)
   {
     case 1: clrscr();
             printf("\nIngrese el valor de h(x): ");
             scanf("%f",&valorX);
             val_fun=fun_met1(valorX);
             printf("\nEl valor de la funcion h(x) es de: ",val_fun);
             getch();
             break;
     case 2: clrscr();
             printf("\nIngrese el valor del angulo alfa en grados: ");
             scanf("%f",&angulo);
             printf("\nIngrese el valor del lado C: ");
             scanf("%f",&ladoC);
             printf("\nIngrese el valor del lado A: ");
             scanf("%f",&ladoA);
             printf("\nEL valor de la altura es de %f",fun2_alt(angulo,ladoC,ladoA));
             printf("\nEL valor del perimetro es de %f",fun2_per(angulo,ladoC,ladoA));
             getch();
             break;
   }
  }while((opcion=menu())!=3);
}
//Funciones
int menu(void)
{ int opc;

  printf("\t\t\tMENU");
  printf("\n\n1 para calculo de una funcion");
  printf("2 para calcular el area y perimetro de un triangulo");
  printf("3 para finalizar");
  do
  { printf("\nElija su opcion: ");
    scanf("%d",&opc);
    if(opc<1 || opc >3)
    { printf("Opcion incorrecta. Ingresela de nuevo: ");
      getch();
    }while(opc<1 || opc>3);
  return opc;
}

float fun_met1(float fun_x)
{
float h;
h=(pow(fun_x,3)+4)/sqrt(3+fun_x);
return h;
}

float fun2_alt(float falfa, float fc, float fa)
{
  fb=sqrt(pow(fc,2))-(pow(fa,2));
  fd=(fb*sin(90*M_PI/180))/sin(falfa*M_PI/180);
  fbeta=180-90-falfa;
  fe=(fb*sin(fbeta*M_PI/180))/sin(falfa*M_PI/180);
  ff=fe+fa;
  falt=(ff*fb)/2;
  return falt;
}

float fun2_per(float falfa, float fc, float fa)
{
  fb=sqrt(pow(fc,2))-(pow(fa,2));
  fd=(fb*sin(90*M_PI/180))/sin(falfa*M_PI/180);
  fbeta=180-90-falfa;
  fe=(fb*sin(fbeta*M_PI/180))/sin(falfa*M_PI/180);
  ff=fe+fa;
  fper=fd+fc+ff;
  return fper;
}
}


PD: muchos me han sugerido ya que no utilize la libreria conio.h por lo que no es standar, pero la profesora de la universidad lo evalua entonces debo utilizarla xD
#12
Buenas.
Tengo la duda, o mejor dicho, nose como hacer esto. tengo que hacer un ejercicio en lenguaje C (utilizo el Builder) en donde debo dar una salida en forma de lista, pero los datos que deben salir en esa lista deben cumplir unas condiciones previamente. Tengo que usar arreglos unidimensionales. Queria saber si alguien me podria ilustrar con un ejemplo explicandome brevemente lo que se debe hacer, o si me pueden facilitar una guia donde expliquen este tema (dar una salida en forma de lista) gracias !
#13
Buenas !

tengo un problemita. Veran me estoy iniciando en el mundo de la programacion, y de momento estoy aprendiendo cosas basicas del lenguaje C. Tengo un ejercicio que debo con arreglos unidimencionales,  y al final debo hacer una busqueda de un mayor. El problema viene con que el programa me compila normal, pero cuando lo voy a correr, me lee los datos bien, pero cuando va a dar la salida del mayor me salen letras raras o aveces no me sale nada. Este es el codigo:

#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <string.h>
#define MAX 50

int main()
{
int k,i=0,mayor=-1;
float gasol_lt[MAX],rcdo[MAX],ConKmLt;
char fecha[MAX][30],resp,aux[30];



   do
   {     system("cls");
         printf("\n\nFecha en que recargo el tanque de gasolina(dd/mm/aaaa): ");
         fflush(stdin);
         scanf("%s",&fecha[i]);
         printf("\n\nCuantos litros de gasolina echo en el tanque: ");
         fflush(stdin);
         scanf("%f",&gasol_lt[i]);
         printf("\n\nCuantos Km. recorrio: ");
         fflush(stdin);
         scanf("%f",&rcdo[i]);
          ConKmLt=rcdo[i]/gasol_lt[i];
         printf("\n\nUsted gasto %.2f km/lt",ConKmLt);
         getch();
         printf("\n\nDesea ingresar los datos nuevamente:...S/N ");
         scanf("%c",&resp);
         resp=toupper (getch());
          k++;
    }while(resp=='S' && i<MAX);
   
   
   for(k=0;k<i;k++)
   {    if(gasol_lt[k]>mayor)
        { mayor=gasol_lt[k];
          strcpy(aux,fecha[k]);        
        }
   }
   printf("\n\n\nLa Fecha en que recargo mas gasolina fue %s",aux);
   getch();
}



Utilizo el compilador Dev C++, pero el programa esta en C. He leido algunos post para ir tomando algunos tips para hacerlo mejor. Pero me gustaria que me dijeron si asi como esta ese codigo esta bien, o se puede hacer mejor, porque por ejemplo yo no veo la diferencia de usar el fflush(stdin) en los codigos, porque si los omitiera el programa corre normal, aunque los coloco porque lei que era recomendable que se usaran, pero no entendi muy bien porque. Bueno de momento es todo, gracias!