Un pequeño y util ejemplo del uso de la funcion getch(), delay() y kbhit(). Se trata del controlar el movimiento
de un caracter en pantalla, finaliza si se presiona la tecla enter
kbhit(): nos indica si se presiono una tecla o no
get(): captura una tecla pulsada
delay(): retraso un tiempo
Descargar Aqui el ejemplo
Series mas comunes en C++
Si eres principiantes en C o C++, seguramente te haz topado con los clasicos ejercicios de series y suma, en los que se aprende a usar las secuencias for, do-while. Aca les dejo las series mas comunes,
Sumas y Series Enteras
1. Fibonacci 0 -1 -1 -2 -3 -5 -8 -13
2. Cuadrados 1 -2 -4 -8 -16- 32- 48
3. Serie 1 1 -0 -3 -2 -5 -4 -7 -6
4. Primos 1 -2 -3- 5- 7- 11 -13
5. Cubos 1 -8 -27- 64- 125- 343
Sumas y Series con Fracciones
6. 1/1 + 1/2 + 1/3 + ... 1/n
7. 1/1 - 1/2 + 1/3 - ... 1/n
8. n/1 + n/2 + n/3 + .... n/n
Descargar Archivo CPP en: Megauplodad o Mediafire
Rompecabezas Deslizable C++
El otro día encontré un rompecabezas deslizable mio, de varios años atras, es uno de dieciséis piezas, un juego bastante simple, que consiste en deslizar las piezas hasta su posición original. Aun así me anime a programarlo en C++. Algo decente el juego, usa las teclas de dirección para controlar las piezas, contiene 4 imagenes.
Descargar el juego aqui en Megaupload o Mediafire
Usa mis bibliotecas, si no las tienes, descargarlas aquí, desde Megaupload o Mediafire y pegarlas en la carpeta TC/include (el password es IncludeCpp)
Para poder jugarlo debes tener instalado el TurboC3
Descargar el juego aqui en Megaupload o Mediafire
Usa mis bibliotecas, si no las tienes, descargarlas aquí, desde Megaupload o Mediafire y pegarlas en la carpeta TC/include (el password es IncludeCpp)
Para poder jugarlo debes tener instalado el TurboC3
Fibonacci C++
Serie Fibonaci 0 1 1 2 3 5 8 13 21
Para ver un listado de series mas completo...haz clic aqui
#include<stdio.h>
#include<conio.h>
void main()
{
int n,a,b,c,i;
clrscr();
printf("N: ");
scanf("%d",&n);
a=0;b=1;c=0;
printf("0 \n");
for(i=0;i<n;i++)
{
a=b;
b=c;
printf("%d \n",a+b);
c=a+b;
}
getch();
}
Para ver un listado de series mas completo...haz clic aqui
#include<stdio.h>
#include<conio.h>
void main()
{
int n,a,b,c,i;
clrscr();
printf("N: ");
scanf("%d",&n);
a=0;b=1;c=0;
printf("0 \n");
for(i=0;i<n;i++)
{
a=b;
b=c;
printf("%d \n",a+b);
c=a+b;
}
getch();
}
Rational Rose Portable
Para hacer mas variado el blog y expandirnos a nuevos temas, aca les dejo el link para el Rational Rose Portable
Descargar Ratioanl Rose
Descargar Ratioanl Rose
Cromos, Numeros aleatorios
Se crea un vector, y se llena aleatoriamente, hasta que todos los valores del vector sean diferente de 0
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main()
{
int *vector;
int aleatorio[100];
int i,sw,n,aux,cant=0;
clrscr();
do{
printf("Cantidad: ");
scanf("%d",&n);
}while(n<1);
vector=new int[n];
for(i=0;i<n;i++)
vector[i]=0;
randomize();
do{
aux=random(n);//numero aleatorio
if(vector[aux]==0)//igualamos a uno la cantidad,
vector[aux]=1;
aleatorio[cant]=aux;//almacenamos el numero aleatorio generado
cant++;
sw=1;
for(i=0;i<n;i++)//recorremos el for
if(vector[i]==0)//evaluar la cantidad de cromos
sw=0;
}while(sw==0);
clrscr();
for(i=0;i<cant;i++)
printf("< %d > \n",aleatorio[i]);
getch();
}
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main()
{
int *vector;
int aleatorio[100];
int i,sw,n,aux,cant=0;
clrscr();
do{
printf("Cantidad: ");
scanf("%d",&n);
}while(n<1);
vector=new int[n];
for(i=0;i<n;i++)
vector[i]=0;
randomize();
do{
aux=random(n);//numero aleatorio
if(vector[aux]==0)//igualamos a uno la cantidad,
vector[aux]=1;
aleatorio[cant]=aux;//almacenamos el numero aleatorio generado
cant++;
sw=1;
for(i=0;i<n;i++)//recorremos el for
if(vector[i]==0)//evaluar la cantidad de cromos
sw=0;
}while(sw==0);
clrscr();
for(i=0;i<cant;i++)
printf("< %d > \n",aleatorio[i]);
getch();
}
Series C++
Algunas series que siempre el profesor nos solicita..
Para ver un listado de series mas completo...haz clic aqui
1)Primera Serie: 1/1 +1/2 + 1/3 + ...+ 1/n
#include<conio.h>
#include<stdio.h>
void main()
{
int n,aux=1;
float total=0.0;
clrscr();
printf("Ingrese numero: ");
scanf("%d",&n);
do{
total+=(float)1/aux;
aux++;
}while(aux<n);
printf("Suma de la serie %f",total);
getch();
}
2 Serie Dividir si es par, sino multplicar por tres +1
#include<conio.h>
#include<stdio.h>
void main()
{
int num,cant=0;
clrscr();
do{
printf("Numero: ");
scanf("%d",&num);
}while(num<1);
do{
if(num%2==0)
num=num/2;
else
num=(num*3)+1;
cant++;
}while(num>1);
if(num==1)
printf("Valor final 1, cantidad de pasos %d",cant);
else
printf("Error");
getch();
}
Para ver un listado de series mas completo...haz clic aqui
1)Primera Serie: 1/1 +1/2 + 1/3 + ...+ 1/n
#include<conio.h>
#include<stdio.h>
void main()
{
int n,aux=1;
float total=0.0;
clrscr();
printf("Ingrese numero: ");
scanf("%d",&n);
do{
total+=(float)1/aux;
aux++;
}while(aux<n);
printf("Suma de la serie %f",total);
getch();
}
2 Serie Dividir si es par, sino multplicar por tres +1
#include<conio.h>
#include<stdio.h>
void main()
{
int num,cant=0;
clrscr();
do{
printf("Numero: ");
scanf("%d",&num);
}while(num<1);
do{
if(num%2==0)
num=num/2;
else
num=(num*3)+1;
cant++;
}while(num>1);
if(num==1)
printf("Valor final 1, cantidad de pasos %d",cant);
else
printf("Error");
getch();
}
Iniciales de Nombres
#include<conio.h>
#include<stdio.h>
#include<string.h>
void main()
{
char *nombre;
char letra;
int i,lon,n=0;
char iniciales[5];
clrscr();
gets(nombre);
lon=strlen(nombre);//calculamos longitud de la cadena
iniciales[n]=nombre[0];//copiamos la primera inicial
n++;//contador de numero de caracteres de la cadena
for(i=1;i<lon;i++)
if(nombre[i]==' ')// lbuscamos un espacio
{
iniciales[n]='.';
n++;
iniciales[n]=nombre[i+1];//agregamos la letra a la cadena
n++;
}
iniciales[n]=NULL;//ponemos final a la cadena
puts(iniciales);
getch();
}
#include<stdio.h>
#include<string.h>
void main()
{
char *nombre;
char letra;
int i,lon,n=0;
char iniciales[5];
clrscr();
gets(nombre);
lon=strlen(nombre);//calculamos longitud de la cadena
iniciales[n]=nombre[0];//copiamos la primera inicial
n++;//contador de numero de caracteres de la cadena
for(i=1;i<lon;i++)
if(nombre[i]==' ')// lbuscamos un espacio
{
iniciales[n]='.';
n++;
iniciales[n]=nombre[i+1];//agregamos la letra a la cadena
n++;
}
iniciales[n]=NULL;//ponemos final a la cadena
puts(iniciales);
getch();
}
Tabla de Multiplicar C++
Un sencillo programa para mostrar la tabla de multiplicar
#include<conio.h>
#include<iostream.h>
void main()
{
int i,j;
//includecpp.blogspot.com
for(i=1;i<=10;i++)
{
cout<<"\n\nTabla del "<<i<<"\n";
for(j=1;j<=10;j++)
cout<<i<<" x "<<j<<" ="<<i*j<<"\n";
getch();
}
}
#include<conio.h>
#include<iostream.h>
void main()
{
int i,j;
//includecpp.blogspot.com
for(i=1;i<=10;i++)
{
cout<<"\n\nTabla del "<<i<<"\n";
for(j=1;j<=10;j++)
cout<<i<<" x "<<j<<" ="<<i*j<<"\n";
getch();
}
}
Tres en Raya C++, Version 2
Para aquel que me pidio ayuda con el juego de Tres en Raya, sin matrices, con todos los datos y requisitos que me pediste
El vector se ordeno como se ve en la imagen,
cualquier duda, escribeme a yersicpp@gmail.com
Descargar Tren en Raya, sin matrices
El vector se ordeno como se ve en la imagen,
cualquier duda, escribeme a yersicpp@gmail.com
Descargar Tren en Raya, sin matrices
TurboC 3, BorlandC y TurboC5
Cambiar vocales por letra que mas se repite
PROGRAMA PARA CAMBIAR LA LETRA QUE MAS SE REPITE DE LA CADENA POR LAS VOCALES
#include<conio.h>
#include<stdio.h>
#include<string.h>
#include<ctype.h>
int vocalea(char c)
{
int x;
x=0;
c=toupper(c);
if(c=='A' || c=='E'|| c=='I' || c=='O' || c=='U')
x=1;
return x;
}
void main()
{
int c[27];
char *cadena;
int i,len;
int may,pos;
clrscr();
printf("Cadena: ");
gets(cadena);
len=strlen(cadena);//calculamos la longitud de la cadena
for (i=0;i<27;i++)//iniciamos el contador
c[i]=0;
for(i=0;i<len;i++)//cuenta las cantidad por cada letra
c[toupper(cadena[i])-65]++;
may=-1;
for(i=0;i<27;i++)//busca la letra que mas se repiute
if(c[i]>may)
{
may=c[i];
pos=i;
}
for(i=0;i<len;i++)//cambia la letra q mas se repite por las vocales
if(vocalea(cadena[i])==1)
cadena[i]=pos+65;
puts(cadena);
getch();
}
//includecpp.blogspot.com
#include<conio.h>
#include<stdio.h>
#include<string.h>
#include<ctype.h>
int vocalea(char c)
{
int x;
x=0;
c=toupper(c);
if(c=='A' || c=='E'|| c=='I' || c=='O' || c=='U')
x=1;
return x;
}
void main()
{
int c[27];
char *cadena;
int i,len;
int may,pos;
clrscr();
printf("Cadena: ");
gets(cadena);
len=strlen(cadena);//calculamos la longitud de la cadena
for (i=0;i<27;i++)//iniciamos el contador
c[i]=0;
for(i=0;i<len;i++)//cuenta las cantidad por cada letra
c[toupper(cadena[i])-65]++;
may=-1;
for(i=0;i<27;i++)//busca la letra que mas se repiute
if(c[i]>may)
{
may=c[i];
pos=i;
}
for(i=0;i<len;i++)//cambia la letra q mas se repite por las vocales
if(vocalea(cadena[i])==1)
cadena[i]=pos+65;
puts(cadena);
getch();
}
//includecpp.blogspot.com
Segunda Pregunta Comleta
Aca les dejo, la segunda completa, con todos los reportes y con el error de lectura corregido
Descargar Segunda pregunta completa
Descargar Segunda pregunta completa
Examen Progra II
Para aquellos que van a dar examen de Progra II, aca les dejo el desarrollo del examen del ciclo pasado.. en VisualBasic
Descargar Primera Pregunta
Descargar Segunda Pregunta
SUERTE.... EN TU EXAMEN... QUE LA VAS A NECESITAR
Dejar tu comentario, no cuesta nada =P
Capturar Hora del Sistema
Pequeño programa, facil de entender para capturar y mostrar la hora del sistema, usa la biblioteca InCpp
Descargar aqui
Si no corre el programa, descargar la biblioteca aqui
Descargar aqui
Si no corre el programa, descargar la biblioteca aqui
Maximo Común Divisor en C++
Programa para hallar el MCD de la cantidad de números que el usuario elija.
#pragma hdrstop
#include
#include
#pragma argsused
void main(int argc, char* argv[])
{
int *x, n, y=1, i=2, c=0, menor,j;
cout<<"\n De cuantos numeros desea calcular el MCD? ";
cin>>n;
x=new int[n];
for(j=0; j
cout<<"\n ingrese "<< "Numero en la posicion<"<< (j+1) <<">";
cin>>x[j]; }
menor=x[0];
for(j=0; jif(x[j]menor=x[j];
}
do {
for(j=0; j if(x[j]%i!=0) {
c=1;
break; } }
if (c==0){
y=y*i;
for (j=0; j x[j]=x[j]/i;
menor=menor/i;
i=2;
}
else {i++; c=0; }
}while(i<=menor);
cout<<"\n\n El MCD es "<
getch();
}
#pragma hdrstop
#include
#include
#pragma argsused
void main(int argc, char* argv[])
{
int *x, n, y=1, i=2, c=0, menor,j;
cout<<"\n De cuantos numeros desea calcular el MCD? ";
cin>>n;
x=new int[n];
for(j=0; j
cout<<"\n ingrese "<< "Numero en la posicion<"<< (j+1) <<">";
cin>>x[j]; }
menor=x[0];
for(j=0; j
}
do {
for(j=0; j
c=1;
break; } }
if (c==0){
y=y*i;
for (j=0; j
menor=menor/i;
i=2;
}
else {i++; c=0; }
}while(i<=menor);
cout<<"\n\n El MCD es "<
getch();
}
Lee Entero
Si usas el clasico lee_entero, con cada entrada no valida se genera nuevas lineas de mensaje, dando asi un mal aspecto a nuestro programa. Esto se soluciona con el siguiente lee_entero. Si necesitas el lee_real solo cambia el tipo de dato y listo
int lee_entero(char *msj, int min, int max)
{
int y=wherey();
int num;
do{
gotoxy(1,y);printf(" ");
gotoxy(1,y);printf("%s: ",msj);
scanf("%d",&num);
}while(num< min || num>max);
return num;
}
int lee_entero(char *msj, int min, int max)
{
int y=wherey();
int num;
do{
gotoxy(1,y);printf(" ");
gotoxy(1,y);printf("%s: ",msj);
scanf("%d",&num);
}while(num< min || num>max);
return num;
}
Numeros Aleatorios VB
Para generar numeros aleatorios en VB, se usa la funcion Rnd, esta funcion devuelve un valor entre 1 y 0.
numero=rnd
Si necesitamos valores entre un rango, por ejemplo una nota (0-20), quedaria asi
nota=rnd*20
pero si necesitamos valores un poco mas complicados . Ejemplo 17-53
usamos una formula sencilla. Multiplicamos Rnd por la diferencia de los numeros, y le sumamos el numero menor
numero=rnd*36 + 17 //valor aleatorio entre 17 y 53
numero=rnd
Si necesitamos valores entre un rango, por ejemplo una nota (0-20), quedaria asi
nota=rnd*20
pero si necesitamos valores un poco mas complicados . Ejemplo 17-53
usamos una formula sencilla. Multiplicamos Rnd por la diferencia de los numeros, y le sumamos el numero menor
numero=rnd*36 + 17 //valor aleatorio entre 17 y 53
Matriz C++
Matriz en lista dinámica, con funciones de sumar, restar multiplicar, identidad
Descargar matriz de numeros complejos
Descargar matriz para numeros enteros
Descargar matriz de numeros complejos
Descargar matriz para numeros enteros
Matriz C++
El tercer ejercicio del 1 Laboratorio de Progra I (con el profesor Valdivia), clase de matriz, casi todas las funciones implementadas
Descargar Matriz C++
Clase Fechas C++
Les dejo la clase fecha, para aquellos que llevan curso con el profesor Valdivia
no esta completo, solo falta implementar sumadias y sumahoras...
#include<conio.h>
#include<stdio.h>
//www.includecpp.blogspot.com
class Fecha
{
int d,m,a;
public:
Fecha()
{
d=m=a=0;
}
Fecha(int,int,int);
int GetDia()
{return d;}
int GetAnio()
{return a;}
int GetMes()
{return m;}
void SetDia(int);
void SetMes(int);
void SetAnio(int);
void SumarDias(int);
void SumarHoras(int);
};
Fecha::Fecha(int x, int y, int z)
{
d=x;
m=y;
a=z;
}
void Fecha::SetDia(int aux)
{
d=aux;
}
void Fecha::SetMes(int aux)
{
m=aux;
}
void Fecha::SetAnio(int aux)
{
a=aux;
}
void Fecha::SumarDias(int dias)
{
//por implementar
}
void Fecha::SumarHoras(int horas)
{
//por implementar
}
void main()
{
Fecha A; //crear vacio
Fecha B(22,10,2011);//crear con datos
A.SetDia(24);
A.SetMes(12);
A.SetAnio(2012);
clrscr();
printf(" Dia: %d Mes: %d Año: %d",A.GetDia(),A.GetMes(),A.GetAnio());
printf(" Dia: %d Mes: %d Año: %d",B.GetDia(),B.GetMes(),B.GetAnio());
getch();
}
//no sean malos y dejen comentario
no esta completo, solo falta implementar sumadias y sumahoras...
#include<conio.h>
#include<stdio.h>
//www.includecpp.blogspot.com
class Fecha
{
int d,m,a;
public:
Fecha()
{
d=m=a=0;
}
Fecha(int,int,int);
int GetDia()
{return d;}
int GetAnio()
{return a;}
int GetMes()
{return m;}
void SetDia(int);
void SetMes(int);
void SetAnio(int);
void SumarDias(int);
void SumarHoras(int);
};
Fecha::Fecha(int x, int y, int z)
{
d=x;
m=y;
a=z;
}
void Fecha::SetDia(int aux)
{
d=aux;
}
void Fecha::SetMes(int aux)
{
m=aux;
}
void Fecha::SetAnio(int aux)
{
a=aux;
}
void Fecha::SumarDias(int dias)
{
//por implementar
}
void Fecha::SumarHoras(int horas)
{
//por implementar
}
void main()
{
Fecha A; //crear vacio
Fecha B(22,10,2011);//crear con datos
A.SetDia(24);
A.SetMes(12);
A.SetAnio(2012);
clrscr();
printf(" Dia: %d Mes: %d Año: %d",A.GetDia(),A.GetMes(),A.GetAnio());
printf(" Dia: %d Mes: %d Año: %d",B.GetDia(),B.GetMes(),B.GetAnio());
getch();
}
//no sean malos y dejen comentario
Matrices Visual Basic
Uso de matrices en Visual Basic (Progra II clase del profesor Valdivia)
Sub main()
Dim matriz(3, 3) As Integer
Lectura matriz
presenta matriz
End Sub
Sub Lectura(matriz() As Integer)
Dim fil As Integer
Dim col As Integer
For fil = 0 To 2
For col = 0 To 2
matriz(fil, col) = InputBox("Ingrese numero [" & fil & "][" & col & "]")
Next
Next
End Sub
Sub presenta(matriz() As Integer)
Dim i As Integer
Dim j As Integer
Dim cad As String
For i = 0 To 2
For j = 0 To 2
cad = cad & matriz(i, j) & " "
Next
cad = cad & vbCrLf
Next
MsgBox (cad)
End Sub
Sub main()
Dim matriz(3, 3) As Integer
Lectura matriz
presenta matriz
End Sub
Sub Lectura(matriz() As Integer)
Dim fil As Integer
Dim col As Integer
For fil = 0 To 2
For col = 0 To 2
matriz(fil, col) = InputBox("Ingrese numero [" & fil & "][" & col & "]")
Next
Next
End Sub
Sub presenta(matriz() As Integer)
Dim i As Integer
Dim j As Integer
Dim cad As String
For i = 0 To 2
For j = 0 To 2
cad = cad & matriz(i, j) & " "
Next
cad = cad & vbCrLf
Next
MsgBox (cad)
End Sub
Ejercicio de Vectores en VB
Ejercicio de Vectores en Visual Basic, de la calse del profesro Valdivia
Sub main()
Dim nombres() As String
Dim total As Integer
Lectura nombres, total
Procesar nombres, total
Presenta nombres, total
End Sub
Sub Lectura(nombres() As String, total As Integer)
Dim cad As String
Dim sw As String
Do
cad = InputBox("Ingrese nombre: ")
Agregar nombres, total, cad
Do
sw = InputBox("Desea continuar?" & vbCrLf & "Si" & vbCrLf & "No")
Loop Until (sw = "si" Or sw = "no")
Loop Until sw = "no"
End Sub
Sub Agregar(nombres() As String, total As Integer, cad As String)
ReDim Preserve nombres(total)
nombres(total) = cad
total = total + 1
End Sub
Sub Presenta(nombres() As String, total As Integer)
Dim i As Integer
Dim cad As String
For i = 0 To total - 1
cad = cad & nombres(i) & vbCrLf
Next
MsgBox (cad)
End Sub
Sub Procesar(nombres() As String, total As Integer)
Dim i As Integer
Dim j As Integer
Dim aux As String
For i = 0 To total - 2
For j = i + 1 To total - 1
If nombres(i) > nombres(j) Then
aux = nombres(i)
nombres(i) = nombres(j)
nombres(j) = aux
End If
Next
Next
End Sub
Sub main()
Dim nombres() As String
Dim total As Integer
Lectura nombres, total
Procesar nombres, total
Presenta nombres, total
End Sub
Sub Lectura(nombres() As String, total As Integer)
Dim cad As String
Dim sw As String
Do
cad = InputBox("Ingrese nombre: ")
Agregar nombres, total, cad
Do
sw = InputBox("Desea continuar?" & vbCrLf & "Si" & vbCrLf & "No")
Loop Until (sw = "si" Or sw = "no")
Loop Until sw = "no"
End Sub
Sub Agregar(nombres() As String, total As Integer, cad As String)
ReDim Preserve nombres(total)
nombres(total) = cad
total = total + 1
End Sub
Sub Presenta(nombres() As String, total As Integer)
Dim i As Integer
Dim cad As String
For i = 0 To total - 1
cad = cad & nombres(i) & vbCrLf
Next
MsgBox (cad)
End Sub
Sub Procesar(nombres() As String, total As Integer)
Dim i As Integer
Dim j As Integer
Dim aux As String
For i = 0 To total - 2
For j = i + 1 To total - 1
If nombres(i) > nombres(j) Then
aux = nombres(i)
nombres(i) = nombres(j)
nombres(j) = aux
End If
Next
Next
End Sub
Postal Garu C++
Les dejo una postal en C++, en modo grafico, para San Valentin., con la imagen de Garu
Muy util si deseas aprender el modo grafico, se usa funciones basicas como setcolor(color de lineas y de texto), circle(dibuja circulo), setfillstyle (para el relleno), entre otras...
Ejemplo facil de entender
Descargar Postal C++
Muy util si deseas aprender el modo grafico, se usa funciones basicas como setcolor(color de lineas y de texto), circle(dibuja circulo), setfillstyle (para el relleno), entre otras...
Ejemplo facil de entender
Centrar cadenas
No te ha pasado?. Necesitas centrar un texto en pantalla, como un titulo, un mensaje o un menu, con las siguientes lineas podras resolver ese problema facilmente
void centrar(char *msj, int y) // recibimos el mensaje y la posicion
{
//si deseamos un posicion en especial enviamos la posicion, sino enviamos 0
int x;
x=40-strlen(msj)/2; //calculamos la posicion en x
if(y>0)
gotoxy(x,y);
else
gotoxy(x,wherey());
puts(msj);
}
void main()
{
char *cadena;
gets(cadena);
centrar(cadena,20);
centrar(cadena,0);
getch();
}
void centrar(char *msj, int y) // recibimos el mensaje y la posicion
{
//si deseamos un posicion en especial enviamos la posicion, sino enviamos 0
int x;
x=40-strlen(msj)/2; //calculamos la posicion en x
if(y>0)
gotoxy(x,y);
else
gotoxy(x,wherey());
puts(msj);
}
void main()
{
char *cadena;
gets(cadena);
centrar(cadena,20);
centrar(cadena,0);
getch();
}
Tres en Raya C++
Les dejo un jeugo en C++. se trata de Tres en Raya, usa el modo grafico y captura de teclas
Descargar Tres en Raya
Descargar Tres en Raya
Menus para C++
Si haz programado a nivel basico, seguramente te has encontrado con el tipico menu, en el que se muestra las opciones, y se elige una. Posteo algunas formas de menu alternativas al tipico: "Ingrese la opcion: "
#include<conio.h>
#include<stdio.h>
#define TENT 13
#define TDER 77
#define TIZQ 75
#define TARR 72
#define TABA 80
#define TESC 27
char menu[3][15]={"Opcion 0","Opcion 1","Opcion 2"};
int Menu1(int x, int y, char tabla[][15],int no)
{
int i,pos,tecla;
textcolor(15);
for(i=0;i<no;i++)
{
gotoxy(x,y+i);cprintf("%s", tabla[i]);
}
x=x-2;
pos=0;
textcolor(10);
gotoxy(x,y);cprintf(" ");
do{
tecla=getch();
gotoxy(x,y+pos);cprintf(" ");
if(tecla==TARR)
if(pos==0)
pos=no-1;
else
pos--;
if(tecla==TABA)
if(pos==(no-1))
pos=0;
else
pos++;
gotoxy(x,y+pos);cprintf(" ");
}
while(!(tecla==TENT || tecla==TESC));
return pos;//retorna el numero de opcion de 1 a no
}//fin menu
/*..........FUNCION ELEGIR OPCION: RESALTADO.................*/
int Menu2(int x, int y, char tabla[][15], int N)
{
int i,tecla,C,pos=0;
textbackground(0);
C=4;
textcolor(15);
for(i=0;i<N;i++)
{
gotoxy(x,y+i);cprintf("%s", tabla[i]);
}
textbackground(C);
gotoxy(x,y);cprintf("%s", tabla[pos]);
do{
tecla=getch();
textbackground(0);
gotoxy(x,y+pos);cprintf("%s", tabla[pos]);
if(tecla==TARR)
if(pos==0)
pos=N-1;
else
pos--;
if(tecla==TABA)
if(pos==(N-1))
pos=0;
else
pos++;
textbackground(C);
gotoxy(x,y+pos);cprintf("%s", tabla[pos]);
}while(tecla!=TENT);
return pos;
}
void main()
{
int opc;
clrscr();
opc= Menu1(10,10,menu,3);
gotoxy(10,15);printf("%d: %s",opc,menu[opc]);
opc= Menu2(30,10,menu,3);
gotoxy(30,15);printf("%d: %s",opc,menu[opc]);
getch();
}
El primer menus es con un puntero hacia la opcion deseada y el segundo es resaltando al opcion
espero que les sirva . Puedes Descargar Menu, o verlo a continuacion
#include<conio.h>
#include<stdio.h>
#define TENT 13
#define TDER 77
#define TIZQ 75
#define TARR 72
#define TABA 80
#define TESC 27
char menu[3][15]={"Opcion 0","Opcion 1","Opcion 2"};
int Menu1(int x, int y, char tabla[][15],int no)
{
int i,pos,tecla;
textcolor(15);
for(i=0;i<no;i++)
{
gotoxy(x,y+i);cprintf("%s", tabla[i]);
}
x=x-2;
pos=0;
textcolor(10);
gotoxy(x,y);cprintf(" ");
do{
tecla=getch();
gotoxy(x,y+pos);cprintf(" ");
if(tecla==TARR)
if(pos==0)
pos=no-1;
else
pos--;
if(tecla==TABA)
if(pos==(no-1))
pos=0;
else
pos++;
gotoxy(x,y+pos);cprintf(" ");
}
while(!(tecla==TENT || tecla==TESC));
return pos;//retorna el numero de opcion de 1 a no
}//fin menu
/*..........FUNCION ELEGIR OPCION: RESALTADO.................*/
int Menu2(int x, int y, char tabla[][15], int N)
{
int i,tecla,C,pos=0;
textbackground(0);
C=4;
textcolor(15);
for(i=0;i<N;i++)
{
gotoxy(x,y+i);cprintf("%s", tabla[i]);
}
textbackground(C);
gotoxy(x,y);cprintf("%s", tabla[pos]);
do{
tecla=getch();
textbackground(0);
gotoxy(x,y+pos);cprintf("%s", tabla[pos]);
if(tecla==TARR)
if(pos==0)
pos=N-1;
else
pos--;
if(tecla==TABA)
if(pos==(N-1))
pos=0;
else
pos++;
textbackground(C);
gotoxy(x,y+pos);cprintf("%s", tabla[pos]);
}while(tecla!=TENT);
return pos;
}
void main()
{
int opc;
clrscr();
opc= Menu1(10,10,menu,3);
gotoxy(10,15);printf("%d: %s",opc,menu[opc]);
opc= Menu2(30,10,menu,3);
gotoxy(30,15);printf("%d: %s",opc,menu[opc]);
getch();
}
Cardex PEPS y Promedio
Les dejo aqui 2 de las tres formas de los cardex (esto es en contabilidad)
http://www.mediafire.com/?a7lpn70ljn2glb4
PEPS
http://www.mediafire.com/?2bopckcooo4t408
Promedio
http://www.mediafire.com/?a7lpn70ljn2glb4
PEPS
http://www.mediafire.com/?2bopckcooo4t408
Promedio
Ejercicio Progra II
El Ejercicio de progra II, con el profesor Valvidia
Sub main()
Dim opc As Integer
Do
opc = InputBox("1: Numeros" & vbCrLf & "2: Factorial" & vbCrLf & "3: Dias de mes" & vbCrLf & "4: Salir")
Select Case opc
Case 1: uno
Case 2: dos
Case 3: tres
End Select
Loop Until opc = 4
End Sub
Sub uno()
Dim numero As Integer
Dim mayor As Integer
Dim menor As Integer
Dim promedio As Double
Dim suma As Integer
Dim n As Integer
Dim sw As Integer
suma = 0
sw = 0
n = 0
Do
numero = InputBox("Ingrese numero: ")
If sw = 0 Then
mayor = numero
menor = numero
sw = 1
End If
If numero <> 0 Then
n = n + 1
End If
If numero > mayor Then
mayor = numero
End If
If numero < menor And numero <> 0 Then
menor = numero
End If
suma = suma + numero
Loop Until numero = 0
If n <> 0 Then
promedio = suma / n
End If
MsgBox ("Cantidad: " & n & vbCrLf & "Mayor: " & mayor & vbCrLf & "Menor: " & menor & vbCrLf & "Promedio: " & promedio)
End Sub
Function factorial(n As Integer) As Integer
Dim fact As Integer
Dim i As Integer
fact = 1
If (n = 0) Then
fact = 1
Else
For i = 1 To n
fact = fact * i
Next
End If
factorial = fact
End Function
Sub dos()
Dim numero As Integer
Dim fact As Integer
numero = InputBox("Ingrese numero: ")
If numero < 0 Then
MsgBox ("No hay factorial de negativos")
Else
fact = factorial(numero)
MsgBox ("Factorial de " & numero & " es " & fact)
End If
End Sub
Sub cantidad(mes As String, ByRef c As Integer)
Select Case mes
Case "enero": c = 31
Case "febrero": c = 28
Case "marzo": c = 31
Case "abril": c = 30
Case "mayo": c = 31
Case "junio": c = 30
Case "julio": c = 31
Case "agosto": c = 31
Case "setiembre": c = 30
Case "octubre": c = 31
Case "noviembre": c = 30
Case "diciembre": c = 31
End Select
End Sub
Sub tres()
Dim mes As String
Dim dias As Integer
dias = 0
Do
mes = InputBox("Ingrese mes: ")
cantidad mes, dias
Loop Until dias > 0
MsgBox (mes & " tiene " & dias & " dias")
End Sub
Sub main()
Dim opc As Integer
Do
opc = InputBox("1: Numeros" & vbCrLf & "2: Factorial" & vbCrLf & "3: Dias de mes" & vbCrLf & "4: Salir")
Select Case opc
Case 1: uno
Case 2: dos
Case 3: tres
End Select
Loop Until opc = 4
End Sub
Sub uno()
Dim numero As Integer
Dim mayor As Integer
Dim menor As Integer
Dim promedio As Double
Dim suma As Integer
Dim n As Integer
Dim sw As Integer
suma = 0
sw = 0
n = 0
Do
numero = InputBox("Ingrese numero: ")
If sw = 0 Then
mayor = numero
menor = numero
sw = 1
End If
If numero <> 0 Then
n = n + 1
End If
If numero > mayor Then
mayor = numero
End If
If numero < menor And numero <> 0 Then
menor = numero
End If
suma = suma + numero
Loop Until numero = 0
If n <> 0 Then
promedio = suma / n
End If
MsgBox ("Cantidad: " & n & vbCrLf & "Mayor: " & mayor & vbCrLf & "Menor: " & menor & vbCrLf & "Promedio: " & promedio)
End Sub
Function factorial(n As Integer) As Integer
Dim fact As Integer
Dim i As Integer
fact = 1
If (n = 0) Then
fact = 1
Else
For i = 1 To n
fact = fact * i
Next
End If
factorial = fact
End Function
Sub dos()
Dim numero As Integer
Dim fact As Integer
numero = InputBox("Ingrese numero: ")
If numero < 0 Then
MsgBox ("No hay factorial de negativos")
Else
fact = factorial(numero)
MsgBox ("Factorial de " & numero & " es " & fact)
End If
End Sub
Sub cantidad(mes As String, ByRef c As Integer)
Select Case mes
Case "enero": c = 31
Case "febrero": c = 28
Case "marzo": c = 31
Case "abril": c = 30
Case "mayo": c = 31
Case "junio": c = 30
Case "julio": c = 31
Case "agosto": c = 31
Case "setiembre": c = 30
Case "octubre": c = 31
Case "noviembre": c = 30
Case "diciembre": c = 31
End Select
End Sub
Sub tres()
Dim mes As String
Dim dias As Integer
dias = 0
Do
mes = InputBox("Ingrese mes: ")
cantidad mes, dias
Loop Until dias > 0
MsgBox (mes & " tiene " & dias & " dias")
End Sub
Uso del mouse en C++
Para aquellos que estan usando el modo grafico de C++, les dejo este post para el control y manejo del mouse. Se puede utilizar todas las funciones basicas. Solo necesitas un poco de imaginacion
Muy util para menus, formularios y ventanas
Funciones:
void mver(); visualizamos el puntero
void mocultar(); ocultamos el puntero
int mxpos(int); obtenemos posicion en x
int mypos(int); ontenemos posicion en y
void msitvar(int,int,1); visualizamos puntero, en una posicion
int mclick(); retorna 1: si click izquierdo 2: si click derecho
void mlimit(1,int,int,int,int); delimitamos el movimiento del mouse
Descargar programa en Mediafire o Megaupload
class Puntero
{
public:
void mver();
void mocultar();
int mxpos(int);
int mypos(int);
void msitvar(int,int,int);
int mclick();
void mlimit(int,int,int,int,int);
};
Muy util para menus, formularios y ventanas
Funciones:
void mver(); visualizamos el puntero
void mocultar(); ocultamos el puntero
int mxpos(int); obtenemos posicion en x
int mypos(int); ontenemos posicion en y
void msitvar(int,int,1); visualizamos puntero, en una posicion
int mclick(); retorna 1: si click izquierdo 2: si click derecho
void mlimit(1,int,int,int,int); delimitamos el movimiento del mouse
Descargar programa en Mediafire o Megaupload
class Puntero
{
public:
void mver();
void mocultar();
int mxpos(int);
int mypos(int);
void msitvar(int,int,int);
int mclick();
void mlimit(int,int,int,int,int);
};
Tarjeta Postal de Navidad C++
La primera entrada del blog. Una postal para navidad, con graficos de C++
es un poco complicado si recien han empezado con el C++, ya que usa clases y como unas 10 librerias
Descargar postal c++
es un poco complicado si recien han empezado con el C++, ya que usa clases y como unas 10 librerias
Descargar postal c++
Suscribirse a:
Entradas (Atom)