Está en la página 1de 11

Introduccin al C++

El lenguaje de programacin C++ se comenz a desarrollar en 1980 en los laboratorios de la Ca. AT&T. Es una ampliacin del lenguaje C. El nombre C++ proviene del operador incremento ++. Es un lenguaje potente, verstil y general. Sus principales caractersticas son: Programacin estructurada. Abundancia de operadores y tipos de datos. Riqueza y flexibilidad en las expresiones. Sobrecarga de funciones y operadores. Programacin orientada a objetos (POO). Codificacin en alto y bajo nivel simultneamente. Manipulacin de excepciones. Facilidad de aprendizaje. Es totalmente compatible con el lenguaje C.

PROCEDIMIENTO

NUMEROS ALEATORIOS EN (RAND, SRAND)


Es algo muy frecuente, cuando ya dominas todo eso de pedir y almacenar datos, ahora tu profesor te pedir que tus programas generen nmeros aleatorios para automatizar el proceso de llenar arreglos y todo eso. As que lo primero que tenemos que hacer es incluir la librera: #include<stdlib.h> Luego inicializar los nmeros aleatorios incluyendo esto: srand(time(NULL)); *Actualizacin: No se porqu con algunos IDEs tira error con la funcin time. Solo hay que utilizar adems la librera time.h: #include<time.h> Luego guardar el nmero aleatorio en alguna parte: num=rand(); Eso es bsicamente. Para ajustar el rango de nmero aleatorios podemos hacer varias cosas. Nmero aleatorios entre 0 y 50: num=rand()%51; Nmero aleatorios entre 1 y 100: num=1+rand()%(101-1); Nmero aleatorios entre 250 y 420: num=250+rand()%(421-250); De forma general es: variable = limite_inferior + rand() % (limite_superior +1 - limite_inferior) ; As que un programa que muestre 10 nmeros aleatorios entre 1 y 10 quedara as: #include<stdlib.h>

#include<iostream> using namespace std; int main() { int num,c; srand(time(NULL)); for(c=1;c<=10;c++) { num=1+rand()%(11-1); cout<<num<<" "; } cin.get(); }

USO DEL CURSOR


Este es un pequeo programa que mueve el cursor en la posicin 10,10 en la pantalla. Usted puede modificarlo para mover el cursor donde desee. Ejm
#include <iostream.h> #include <stdlib.h> #include <windows.h> void curPos(int, int); int main() { system("CLS"); curPos(10,10); cout << "10,10" << endl; system("PAUSE"); return 0;

} void curPos(int x, int y) { HANDLE hStdout; CONSOLE_SCREEN_BUFFER_INFO csbiInfo; hStdout=GetStdHandle(STD_OUTPUT_HANDLE); GetConsoleScreenBufferInfo(hStdout, &csbiInfo); csbiInfo.dwCursorPosition.X=x; csbiInfo.dwCursorPosition.Y=y; SetConsoleCursorPosition(hStdout, csbiInfo.dwCursorPosition); }

GOTOXY
Sintaxis # Include <conio.h> void gotoxy (int x int y); Descripcin Posiciones del cursor en la ventana de texto. gotoxy mueve el cursor a la posicin dada en la ventana de texto actual. Si las coordenadas son de ninguna manera vlida la llamada a gotoxy se ignora. Un ejemplo de esto es un llamado a gotoxy (40,30) al (35,25) es la posicin de la parte inferior derecha de la ventana. Ninguno de estos argumentos a gotoxy puede ser cero. .

PROGRAMA 1 Descripcin: Genera cdigos binarios aleatorios con su grafica respectiva y sus flancos de subida y de bajada. #include<iostream> #include<cstdlib> #include<windows.h> using namespace std; void gotoxy(int x, int y) { HANDLE hConsoleOutput; COORD dwCursorPosition; cout.flush(); dwCursorPosition.X = x; dwCursorPosition.Y = y; hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(hConsoleOutput,dwCursorPosition); } int main() { int i,x[11],cont1=0,cont2=0;

srand(time(0)); for(i=1;i<=10;i++) { x[i]=rand()%2; gotoxy(2*i,2); cout<<x[i]; if(x[i]!=x[i-1]) { if(x[i]==1&&x[i-1]==0) { cont1++; gotoxy(i,6); cout<<(char)217; gotoxy(i,5); cout<<(char)179; gotoxy(i,4); cout<<(char)218; } else if(x[i]==0&&x[i-1]==1) {

cont2++; gotoxy(i,6); cout<<(char)192; gotoxy(i,5); cout<<(char)179; gotoxy(i,4); cout<<(char)191; } } else { if(x[i]==1) { gotoxy(i,4); cout<<(char)196; } else { gotoxy(i,6); cout<<(char)196;

} } } gotoxy(1,9); cout<<"\n"<<"Los flancos de subida son "<<cont1<<".\nLos flancos de bajada son "<<cont2<<".\n"; system("PAUSE"); } PROGRAMA 2: Descripcin. Colocando entrada de datos por teclado cdigos binarios en forma de vectores como mximo 50 datos,nos resulta los flancos de subida y de bajada. #include<iostream.h> #include<conio.h> int main() { int x[50],i,n,op,fs=0,fb=0; do { cout<<"Ingrese el numero de cifras : "; cin>>n; }while(n<=0);

cout<<endl<<"Ingrese el numero Binario : "<<endl;

for(i=1;i<=n;i++) { cin>>x[i]; } for (i=1;i<=n;i++) { if( (x[i]==0) || (x[i]==1)) op=0; else { op=1; i=n+1; } }

if(op==1) cout<< "Error, el numero ingresado no es binario"; else {

for(i=1;i<n;i++) { if (x[i]==x[i+1]) i=i; else { if (x[i+1]==1) fs=fs+1; else fb=fb+1; } } cout<<"El numero de flancos de subida es : "<<fs<<endl; cout<<"El numero de flancos de bajada es : "<<fb<<endl; } getch(); }