Programa que muestra un dibujo de un carrito en c con la libreria graphics.h.
#include "stdafx.h"
#include"conio.h"
#include"stdlib.h"
#include"stdio.h"
#include"graphics.h"
using namespace std;
int main()
{
int pantalla=DETECT,modo,error;
printf("presione una tecla iniciar el modo grafico!");
_getch();
initgraph(&pantalla,&modo,"");
error=graphresult();
if(error!=grOk)
{
printf("error al iniciar el modo grafico!");
_getch();
exit(0);
}
int y,x,w,x1,y1,x2,y2;
int x3,y3,stangle,endangle,xradius,yradius;
setcolor(WHITE);
circle(x=50,y=420,w=25);
floodfill(x,y,WHITE);
circle(x=250,y=420,w=25);
floodfill(x,y,WHITE);
setfillstyle(SOLID_FILL,BLACK);
setcolor(BLUE);
line( x1=75, y1=420,x2=225,y2=420 );
ellipse(x3=120,y3=400,stangle=45,endangle=180,xradius=90,yradius=80 );
ellipse(x3=-8,y3=400,stangle=340,endangle=30,xradius=300,yradius=55 );
line( x1=175, y1=340,x2=251,y2=372 );
line( x1=50, y1=380,x2=190,y2=380 );
line( x1=120, y1=330,x2=120,y2=420 );
line( x1=190, y1=380,x2=190,y2=420 );
setcolor(BROWN);
ellipse(x3=120,y3=380,stangle=0,endangle=180,xradius=70,yradius=50 );
delay(100);
_getch();
return 0;
}
sábado, 4 de diciembre de 2010
GRAFICOS EN C
GRAPHICS.H
La calidad de los monitores es medida por la resolución ó nitidez que presentan. El manejo de pantalla para modo gráfico se utiliza esta resolución, imprimiendo en PIXELES. La resolución normal del monitor mide 640 x 480, 640 columnas por 480 renglones.
Los archivos necesarios en disco para el manejo de modo gráfico son <GRAPHICS.H> , los archivos *.BGI y los archivos *.CHR. Los archivos BGI son los dispositivos detectores del monitor y los CHR son los distintos archivos de FONTS ó tipos de letras. La librería GRAPHICS es una utilería de Turbo C que cuenta con una serie de instrucciones reservada para el manejo de gráficos.
INICIALIZACIÓN DE GRÁFICOS.
Para la activación del modo gráfico se procede a su inicialización con las siguientes instrucciones:
graphDriver = DETECT;
graphDriver y graphMode son variables tipo int ( valores numéricos enteros ) declaradas por el usuario para detectar el tipo de monitor y su resolución. DETECT es palabra reservada en mayúsculas que realiza la detección del monitor automáticamente. Para inicializar la pantalla se utiliza la instrucción reservada:
initgraph(&graphDriver, &graphMode, driverPath);
graphDriver y graphMode nos dan las características físicas del monitor y el driverPath indica donde se localizan los archivos de gráficos, si se colocan comillas <" "> indica en el directorio en que estamos localizados.
Para colocar el directorio donde se encuentran los BGI y CHR se añade el camino: "C:\\TURBOC\\BGI" Para regresar a modo texto contamos con la instrucción: restorecrtmode( ); Asimismo contamos con la instrucción de terminación de modo gráfico, necesaria al finalizar nuestro programa: closegraph( );
FUNCIONES DE LA LIBRERIA GRAPHICS.H
ESTRUCTURA DE DATOS DINAMICA Y CON FUNCIONES
Este programa muestra una estructura de datos de n cantidad de alumnos,matricula y 3 calificaciones.
Con el uso de memoria dinamica con la funcion "new" para asignar memoria.
#include<stdio.h>
#include<iostream.h>
#include<conio.h>
struct estructura_alumno{
/*definimos la estructura_alumno*/
char nombre[30];
char matricula[10];
int cal;
int cal1;
int cal2;
void datos(){
clrscr();
int i;
cout<<"Escribe el nombre del alumno:\n";
cin>>nombre;
cout<<"Escribe la matricula del alumno:\n";
cin>>matricula;
cout<<"Escribe la primera calificacion del alumno:\n";
cin>>cal;
cout<<"Escribe la segunda calificacion del alumno:\n";
cin>>cal1;
cout<<"Escribe la tercer calificacion del alumno:\n";
cin>>cal2;
clrscr();
}
void impr(){
cout<<"El alumno se llama" <<" : "<<nombre<<" \n"<<"Con la matricula"<<" : "<<matricula<<"\n"<<"Sus calificaciones son :"<<cal<<","<<cal1<<","<<cal2;
}
};
struct estructura_alumno *al;
void main()
{
int i,tm;
cout<<"cuantos alumnos anexara\n";
cin>>tm;
al=new estructura_alumno[tm];
for(i=0;i<tm;i++){
cout<<"\n";
al[i].datos();}
for(i=0;i<tm;i++){
cout<<"\n";
al[i].impr();}
getch();
}
Con el uso de memoria dinamica con la funcion "new" para asignar memoria.
#include<stdio.h>
#include<iostream.h>
#include<conio.h>
struct estructura_alumno{
/*definimos la estructura_alumno*/
char nombre[30];
char matricula[10];
int cal;
int cal1;
int cal2;
void datos(){
clrscr();
int i;
cout<<"Escribe el nombre del alumno:\n";
cin>>nombre;
cout<<"Escribe la matricula del alumno:\n";
cin>>matricula;
cout<<"Escribe la primera calificacion del alumno:\n";
cin>>cal;
cout<<"Escribe la segunda calificacion del alumno:\n";
cin>>cal1;
cout<<"Escribe la tercer calificacion del alumno:\n";
cin>>cal2;
clrscr();
}
void impr(){
cout<<"El alumno se llama" <<" : "<<nombre<<" \n"<<"Con la matricula"<<" : "<<matricula<<"\n"<<"Sus calificaciones son :"<<cal<<","<<cal1<<","<<cal2;
}
};
struct estructura_alumno *al;
void main()
{
int i,tm;
cout<<"cuantos alumnos anexara\n";
cin>>tm;
al=new estructura_alumno[tm];
for(i=0;i<tm;i++){
cout<<"\n";
al[i].datos();}
for(i=0;i<tm;i++){
cout<<"\n";
al[i].impr();}
getch();
}
ESTRUCTURA DE DATOS CON ARREGLO Y FUNCIONES
Este programa es una estrcutura que captura 3 alumnos, 3 de sus calificaciones y su matricula.
#include<stdio.h>
#include<iostream.h>
#include<conio.h>
struct estructura_alumno{
/*definimos la estructura_alumno*/
char nombre[30];
char matricula[10];
int cal;
int cal1;
int cal2;
void datos(){
clrscr();
int i;
cout<<"Escribe el nombre del alumno:\n";
cin>>nombre;
cout<<"Escribe la matricula del alumno:\n";
cin>>matricula;
cout<<"Escribe la primera calificacion del alumno:\n";
cin>>cal;
cout<<"Escribe la segunda calificacion del alumno:\n";
cin>>cal1;
cout<<"Escribe la tercer calificacion del alumno:\n";
cin>>cal2;
clrscr();
}
void impr(){
cout<<"El alumno se llama" <<" : "<<nombre<<" \n"<<"Con la matricula"<<" : "<<matricula<<"\n"<<"Sus calificaciones son :"<<cal<<","<<cal1<<","<<cal2;
}
};
struct estructura_alumno al[3];
void main()
{
int i;
clrscr();
for(i=0;i<3;i++){
cout<<"\n";
al[i].datos();}
for(i=0;i<3;i++){
cout<<"\n";
al[i].impr();}
getch();
}
#include<stdio.h>
#include<iostream.h>
#include<conio.h>
struct estructura_alumno{
/*definimos la estructura_alumno*/
char nombre[30];
char matricula[10];
int cal;
int cal1;
int cal2;
void datos(){
clrscr();
int i;
cout<<"Escribe el nombre del alumno:\n";
cin>>nombre;
cout<<"Escribe la matricula del alumno:\n";
cin>>matricula;
cout<<"Escribe la primera calificacion del alumno:\n";
cin>>cal;
cout<<"Escribe la segunda calificacion del alumno:\n";
cin>>cal1;
cout<<"Escribe la tercer calificacion del alumno:\n";
cin>>cal2;
clrscr();
}
void impr(){
cout<<"El alumno se llama" <<" : "<<nombre<<" \n"<<"Con la matricula"<<" : "<<matricula<<"\n"<<"Sus calificaciones son :"<<cal<<","<<cal1<<","<<cal2;
}
};
struct estructura_alumno al[3];
void main()
{
int i;
clrscr();
for(i=0;i<3;i++){
cout<<"\n";
al[i].datos();}
for(i=0;i<3;i++){
cout<<"\n";
al[i].impr();}
getch();
}
viernes, 3 de diciembre de 2010
USO DE MEMORIA DINAMICA
Programa que muestra el uso de memoria dinamica en una matriz con el uso de la funcion new y delete.
#include <iostream.h>
#include <conio.h>
void main()
{
clrscr();
int fil,col,i,j;
int **matriz;
cout<<"¿Cantidad de filas ?? ";
cin>>fil;
cout<<"¿Cantidad de Columnas ?? ";
cin>>col;
matriz = new int*[fil];
for (i=0;i<fil;i++){
matriz[i] = new int[col];
}
for (i=0;i<fil;i++){
for (j=0;j<col;j++){
cin>>matriz[i][j];
}
}
cout<<"\n";
cout <<"\nLos valores de la matriz son: \n ";
for(i=0;i<fil;i++){
for(j=0;j<col;j++){
cout<<matriz[i][j]<<" ";
}
cout<<" \n ";
}
for(i=0;i<fil;i++){
delete [] matriz[i];
delete [] matriz;
}
getch();
}
#include <iostream.h>
#include <conio.h>
void main()
{
clrscr();
int fil,col,i,j;
int **matriz;
cout<<"¿Cantidad de filas ?? ";
cin>>fil;
cout<<"¿Cantidad de Columnas ?? ";
cin>>col;
matriz = new int*[fil];
for (i=0;i<fil;i++){
matriz[i] = new int[col];
}
for (i=0;i<fil;i++){
for (j=0;j<col;j++){
cin>>matriz[i][j];
}
}
cout<<"\n";
cout <<"\nLos valores de la matriz son: \n ";
for(i=0;i<fil;i++){
for(j=0;j<col;j++){
cout<<matriz[i][j]<<" ";
}
cout<<" \n ";
}
for(i=0;i<fil;i++){
delete [] matriz[i];
delete [] matriz;
}
getch();
}
USO DE MEMORIA DINAMICA
La asignación dinámica de memoria es una característica de C. Le permite al usuario crear tipos de datos y estructuras de cualquier tamaño de acuerdo a las necesidades que se tengan en el programa.
Programa que muestra el uso de memoria dinamica en un vector con el uso de la funcion new y delete.
#include<conio.h>
#include<iostream.h>
int main(void)
{
clrscr();
int *vector,tm,i;
int indice=0;
cout<<"cuantos elementos\n";
cin>>tm;
vector = new int[tm];
for(indice=0;indice<tm;indice++){
cout<<"introduzca el vector"<<": ";
cin>>vector[indice];
}
cout<<"\n";
for(i=0;i<tm;i++){
cout<<"el vector es "<<": "<<vector[i]<<"\n";
}
getch();
}
Programa que muestra el uso de memoria dinamica en un vector con el uso de la funcion new y delete.
#include<conio.h>
#include<iostream.h>
int main(void)
{
clrscr();
int *vector,tm,i;
int indice=0;
cout<<"cuantos elementos\n";
cin>>tm;
vector = new int[tm];
for(indice=0;indice<tm;indice++){
cout<<"introduzca el vector"<<": ";
cin>>vector[indice];
}
cout<<"\n";
for(i=0;i<tm;i++){
cout<<"el vector es "<<": "<<vector[i]<<"\n";
}
getch();
}
Suscribirse a:
Entradas (Atom)