jueves, 5 de noviembre de 2015

Modo Grafico Dev C++

Para poder hacer gráficas sencillas en Dev c++ se usa una libreria llamada Winbgim (similar a graphics de Borland),ahora si gustas de mejores trabajos te recomiendo aprender OpenGL,a continuación vamos a instalarla en nuestra máquina :
1.- Descarga la libreria Winbgim:


2.- Una vez instalado la libreria,la probamos:
Abre Dev C++,te diriges a Archivo – Nuevo – Proyecto y en la pestaña Basic encontrarás              Console    Graphics Application, das click en Aceptar

3.- Si todo sale bien nos deberia aparecer un código similar a este:
#include <winbgim.h>

void waitForLeftMouseClick();

int main()
{
    initwindow(700,300); 
    settextstyle(0,0,2);
    setcolor(RED);
    outtextxy(100,100,"WELCOME TO CÓDIGO INFORMÁTICO");
    setcolor(GREEN);
    outtextxy(280,130,"INFO - UNT");

    // while(!kbhit()); // wait for user to press a key
    waitForLeftMouseClick(); 

    closegraph();        //close graphics window
    return 0;
}

void waitForLeftMouseClick()
{
    clearmouseclick(WM_LBUTTONDOWN);
    const int DELAY = 50; 
    int x, y;
    while (!ismouseclick(WM_LBUTTONDOWN))
        delay(DELAY);
    getmouseclick(WM_LBUTTONDOWN, x, y);
}

 4.- Corremos el programa y listo.

La libreria winbgim.h tiene bastantes funciones, por lo tanto explicar todo el contenido de esta libreria seria hasta que ya no ardan las velas. Por la tanto mencionaremos las funciones mas basicas de esta libreria:
Funciones principales de la librería winbgim.h
Función
Tarea
void circle (int x, int y, int radius);
Dibuja un circulo en x,y de radio radius
void cleardevice (void);
Borra la pantalla
void line (int x1, int y1, int x2, int y2);
Traza una línea desde x1,y1 hasta x2,y2
void lineto (int x, int y)
Traza una línea desde la posición actual de cursor hasta  x,y
void putpixel (int x, int y, int color);
Dibuja un pixel en x,y de color color
void rectangle (int left, int top, int right, int bottom);
Dibuja un rectangulo de esquenas top,left y right,bottom
void setcolor (int color);
Establece el color actual.
int mousex(void)
Retorna la coordenada x del Mouse relativa a la esquina superior izquierda
int mousey(void)
Retorna la coordenada y del Mouse relativa a la esquina superior izquierda

Funcion line
Citar:
line(X1,X2,X3,X4);
Donde:

W6
X1: Fila punto 1
X2: Columna punto 1
X3: Fila punto 2
X4: Columna punto 2

Esta funcion nos permite dibujar una linea, para eso necesita cuatro parametros, los cuales se utilizan para dibujar la linea.
Funcion circle:

circle(X1,X2,X3);

Donde:

X1: Fila (centro)
X2: Columna (centro)
X3: Radio del circulo


Como su nombre lo dice (Circle=Circulo), es una funcion que dibuja un circulo. Requiere tres parametros que representan la columna y el renglon respectivamente y el radio. 
Funcion rectangle()

rectangle(X1,X2,X3,X4)

Donde:

X1: Fila del punto 1
X2: Columna del punto 1
X3: Fila del punto 2
X4: Columna del punto 2

Esta funcion nos dibuja un rectangulo basandose en el punto superior izquierdo(1) y en el punto inferior derecho(2). 
Funcion ellipse()

ellipse(X1,X2,X3,X4,X5,X6);

Donde:

X1: Fila de la elipse(centro)
X2: Columna de la elipse(centro)
X3: Angulo inicial
X4: Angulo final
X5: Radio horizontal
X6: Radio vertical
Dibujara una especie de ovalo.
Funcion arc()

arc(X1,X2,X3,X4,X5);

Donde:

X1: Fila del arco(centro)
X2: Columna del arco(centro)
X3: Angulo inicial
X4: Angulo final
X5: Radio del arco

Requiere 5 argumentos para su funcionamiento. Dibujara un arco circular.
Funcion setlinestyle()

setlinestyle(X1,X2,X3);

Utilizada para deterrminar el tipo de linea que sera usada por el usuario. Requiere 3 argumentos. El primero es el que define el tipo de linea, soporta: CENTER_LINE, DOTTED_LINE,
DASHED_LINE, USERBIT_LINE o SOLID_LINE. El segundo es el patron y el tercero el ancho de la linea.
Funcion setcolor()

Se utiliza para definir el color de los trazos posteriores a su declaracion. Este solo utiliza un argumento, el cual representa el color.

0   ||   BLACK
1   ||   BLUE
2   ||   GREEN
3   ||   CYAN
4   ||   RED
5   ||   MAGENTA
6   ||   BROWN
7   ||   LIGHTGRAY
8   ||   DARKGRAY
9   ||   LIGHTBLUE
10 ||   LIGHTGREEN
11 ||   LIGHTCYAN
12 ||   LIGHTRED
13 ||   LIGHTMAGENTA
14 ||   YELLOW
15 ||   WHITE
Funcion outtextxy()

outtextxy(X1,X2,"X3");

Donde:

X1: Fila
X2: Columna
X3: Texto a salir

Fuente :http://m.sistemasjpa.es.tl/C%2B%2B-_-winbgim-.-h.htm
http://xcodigoinformatico.blogspot.com/2012/09/instalar-winbgim-en-dev-c.html?m=1

lunes, 19 de octubre de 2015

Corrección Evaluacion Primer Bloque

Nombre: Oscar Pinto                                                    Curso: 2do INF
Corrección
1.-Determinar el valor que tendrán las variables después de cada operación de asignación
int A;
A=5;
A=A+7;
A=A-10;
A=A2;
A=4
int A;
int B;
A=1;
B=2;
A=A+B;
A=3
int X;
Int y;
X=3;
Y=X;
Y=X+3;
Variable mal declarada
int A;
int B;
B=12;
A=B+1;
A=B-7;
B=A+5
A=A*A
A=25
int X;
int Y;
X=2;
Y=X+6;
X=X+1;
Y=X-5
Y=-2
int HOLA;
int NO_SE;
int OTRA;
HOLA=2;
NO_SE=12;
OTRA=HOLA+NO_SE;
NO_SE=HOLA+NO_SE;
HOLA=NO_SE+OTRA;
HOLA=28
int A;
int B;
A=0;
B=5;
B=a+b;
B=A;
Variable mal declarada
int A;
int B;
int C;
A=1;
B=A-1;
B=C-B;
Basura


2.-Definir cual seria la salida de pantalla del siguiente código de C++

#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
char ced[9];
char *ptrced;
main (){
     printf ("Ingrese su num de ced");
     gets(ced);
     printf ("%s\n",ced);
     for (int i=0;i<10;i++){
         ptrced=&ced[i];
     //printf ("\n%p\n",&ptrced);
     printf ("%d\n",*ptrced);
     }
     getch ();
     }

Ingrese número de ced

è 1,2,3,4,5,6,7,8,9,0

49
50
51
52
53
54
55
56
57
48

    
3.-Subraye la respuesta correcta
¿Qué es una matriz?
a)      Es una zona de almacenamiento contiguo
b)      Es un tipo de dato que asigna valor de memoria de un solo tipo char
c)       Es una estructura dinámica
d)      Ninguna de las anteriores
¿Qué es un puntero?
a)      Es una matriz que hacer referencia a una región de memoria
b)      Es un valor entero que da referencia a una región de memoria
c)       Ninguna de las anteriores
d)      Es una variable independiente de memoria que sirve para apuntar a un puntero
¿Qué es una estructura dinámica?
a)      Son estructuras cuya dimensión puede crecer o disminuir durante la creación de un un programa
b)      Son estructuras que cuya dimensión puede crecer o disminuir durante el diseño del programa
c)       Son estructuras cuya dimensión puede crecer o disminuir durante la ejecución del programa
d)      Ninguna de las anteriores
¿Qué es una lista?
a)      Es un puntero de datos que nos permite agrupar elementos de una manera organizada
b)      Es un dominio de datos que nos permite agrupar elementos de una manera organizada
c)       Es una estructura de datos que nos permite agrupar elementos de una manera organizada
d)      Ninguna de las anteriores
¿Qué es una pila?
a)      Es un tipo de lista en la que solo se pueden insertar y eliminar nodos en uno de sus extremos
b)      Es un tipo de punteros en la que solo se pueden insertar y eliminar nodos en uno de los extremos
c)       Es un tipo de dato int que solo se puede insertar y eliminar nodos en uno de los extremos de la lista


4.-Realizar el siguiente ejercicio en C++ en el computador
a)      Dado por el usuario un valor de numero de tipo int que corresponda al año de nacimiento, calcular el número de la suerte que será la sumatoria del mismo , utilizar punteros
b)      Ingresando valores a una matriz de cuatro elementos de tipo flotante calcular el mayor de os elementos utilizar punteros

c)       Mediante una matriz ingresar el nombre de una persona e imprimirlo al revés utilizar punteros

#    #include <conio.h>
#include <stdio.h>

int numero[5];
int *ptrnum;
int mayor=0;

main () {
for (int i=0;i<5;i++){
printf ("Ingrese el valor %d : " ,i+1);
scanf ("%d" ,&numero[i]);
printf ("%d\n" ,numero[i]);
}
for (int j=0;j<4;j++){
ptrnum=&numero[j];
printf ("%d\n",*ptrnum);
printf ("%d\n",numero[j+1]);
if (*ptrnum>=numero[j+1]){
mayor=*ptrnum;
}
else
mayor=numero[j+1];
}
printf ("El numero mayor es %d" ,mayor);
getch ();
}