Hacer Figuras Con Ciclos

Iniciado por ximenaferneymega, 11 Octubre 2016, 21:18 PM

0 Miembros y 1 Visitante están viendo este tema.

ximenaferneymega

::Por Favor A quien Pueda Ayudarme ::
Soy nueva en esto de la Programacion.Tengo un trabajo y Necesito saber como crear un circulo y un triangulo en C++ donde pudiera crear con cualquier caracter, con una dimenciones segun el usuario y que fuera relleno o vacio, usando solo while, do, for, y if si es necesario.
para quien me pueda ayudar !!!! Mil Gracias ::::: (Y)
Espero su ayuda por favor.
Es importante. Gracias

:rolleyes:  :rolleyes:  :rolleyes:

engel lex

explica que es lo que no sabes espeficicamente o cual es tu duda, si puedes mostrar lo que llevas de codigo tambien sería bueno
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

dato000

Hay doble post.

mmmm para ser nueva en programación, te estan pidiendo algo considerable.

Básicamente necesitas usar una liberia que te permita visualizar la imagen de acuerdo a los requerimientos, que estas pidiendo:

Hay una libreria hecha por un guru en C++, el sensei Paueky, se llama Miniwin, no es nada complicada y esta explicada con varios videos, perfecta para el ejercicio que necesitas, pero también hay que intentarlo.

http://www.minidosis.org/#/temas/Juegos.MiniWin
https://www.youtube.com/watch?v=2yagNLyWa-M



ximenaferneymega

Si la verdad eso pense, pero vengo de otro lado y con esto me he encontrado.

Pero no puedo utilizar mas que la libreria <IOSTREAM> .  No puedo usar otra porque todavia no la hemos visto.

BlackBlex

Creo que he pillado un poco lo que quieres hacer, dime si estoy en lo correcto:

Creo que no se trata de gráficos ni nada de eso; sólo de poner puntos en un plano o lienzo.

Tienes una matriz de char el cual utilizarás como lienzo o mapa para ubicar a las figuras.

Y tienes que crear un algoritmo el cual "escriba" o "marque" en tu lienzo.

No se si es eso lo que necesitas.

Enviado desde mi MotoG3 mediante Tapatalk

dato000

Cita de: ximenaferneymega en 11 Octubre 2016, 23:45 PM
Si la verdad eso pense, pero vengo de otro lado y con esto me he encontrado.

Pero no puedo utilizar mas que la libreria <IOSTREAM> .  No puedo usar otra porque todavia no la hemos visto.


Ah vale ya entendi, es hacer algo como:

digite caracter: C
digite tipo de figura: triangulo
digite dimension lado: 3

C
C C
CCC

digite caracter: C
digite tipo de figura: circulo
digite dimension lado: 2

CC
C  C
C  C
CC

es así como lo entiendo, si es así??



ximenaferneymega

Sip, Asi es eso es justamente lo que necesito, si me puede ayudar con el del circulo, vacio o lleno segun la decision del usuario.

MAFUS

Un círculo, sin ver senos, cosenos ni posicionar arbitráriamente el cursor en pantalla puede ser muy difícil.

chalimbu

hola si el circulo es como comenta data00 este codigo te puede servir estudialo ,si no entiendes algo me avisas :D

Código (cpp) [Seleccionar]

//si el circulo es como comenta data00
#include<iostream>//libreria estandar para entrada y salida
using std::cout;//include para poder usar cout o mensajes en pantalla
using std::endl;//nueva linea
using std::cin;//nos permite leer los datos del diametro y el tipo

void circuloLleno(int d,char c);//cabecera de la funcion que al llamarla crea el circulo lleno
// de diametro n y con el caracter que pasamos en c y no devuelve nada
void circuloVacio(int d,char c);
void lineaLlena(int,char);
void lineaVacia(int,char);
void primeraYUltima(int,char);

int main()
{
  int diametro,tipo;
  char caracter;
  cout<<"caracter";
  cin>>caracter;
  cout<<endl<<"diametro del circulo (mayor que 2)";
  cin>>diametro;
  cout<<"desea el 1. el circulo lleno 2. el circulo vacio";
  cin>>tipo;
  cout<<endl;

  if(tipo==1)
  circuloLleno(diametro,caracter);
  else
  circuloVacio(diametro,caracter);

  return 0;
}

void circuloLleno(int d,char c)
{
  primeraYUltima(d,c);//pone la primera linea sin el primer y ultimo caracter
  cout<<endl;
  int i=1;
  while(i<(d-1))//desde el 1 que es la segunda poscision hasta una menos por la linea final
  //coloca una linea llena(es decir mientras la i sea menor que el tamaño) y para circulo vacio pondra una linea vacia
  {
    lineaLlena(d,c);
    cout<<endl;
    i++;
  }
  primeraYUltima(d,c);
}

void circuloVacio(int d,char c)
{
  primeraYUltima(d,c);//pone la primera linea sin el primer y ultimo caracter
  cout<<endl;
  int i=1;
  while(i<(d-1))
  {
    lineaVacia(d,c);
    cout<<endl;
    i++;
  }
  primeraYUltima(d,c);
}

void lineaLlena(int t,char c)
{
  int i=0;
  while(i<t)
  {
    cout<<c;
    i++;
  }
}

void lineaVacia(int t,char c)
{
  cout<<c;
  int i=1;
  while(i<(t-1))
  {
    cout<<' ';
    i++;
  }
    cout<<c;
}

void primeraYUltima(int t ,char c)//esta hace la primera y la ultima linea tanto para circulos
//lenos como vacios
{
  char l=c;//con este char podemos inviertir lo que hicimos arriba en linea vacia
  //cambiando donde ante ponia espacio la l que es el caracter
  c=' ';
  cout<<c;
  int i=1;
  while(i<(t-1))
  {
    cout<<l;
    i++;
  }
    cout<<c;
}


ximenaferneymega

Sip asi era muxas gracias me has ayudado muxo.

;-) ;-) ;-) ;-) :laugh: :laugh: :laugh: :laugh: