1.- Creamos el proyecto en Windows Forms
Herramientas Para el Desarrollo de Videojuegos y Lenguajes de Programación en Español
jueves, 26 de febrero de 2015
lunes, 23 de febrero de 2015
STL Lista de Estudiantes Visual C++
#include <iostream>
#include <cstdlib>
#include <list>
#include <string>
using namespace std;
class Student
{
public:
Student( const char *pszS , int id ) : sName( pszS ) , ssID( id ) {}
string sName;
int ssID;
};
bool operator<( const Student &s1 , const Student &s2 )
{
return s1.ssID < s2.ssID;
}
void displayStudent( list < Student > &students )
{
auto iter = students.begin();
while( iter != students.end() )
{
Student &s = *iter;
cout << s.ssID << " - " << s.sName << endl;
iter++; //se mueve al siguiente elemento de la iteracion
}
}
int main( int argc , char *argv[] )
{
//se define la coleccion de estudiantes
list < Student > students;
//Agrego 3 objetos estudiantes a la lista
students.push_back( Student("Christian Kenny" , 10 ) );
students.push_back( Student("Dariana" , 5 ) );
students.push_back( Student("Claudia" , 15 ) );
//muestro la lista
cout << "La lista original es: " << endl;
displayStudent( students );
//Muestro la lista ordenada
students.sort();
cout << "\nLa lista ordenada es: " << endl;
displayStudent( students );
system("pause");
return 0;
}
STL String Visual C++
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
//Remueve algunos espacios dentro de string
string removeSpaces( const string &source )
{
//Se hace una copia de la fuente que nosotros no modificaremos
string s = source;
size_t offset;
while( ( offset = s.find( " " ) ) != string :: npos )
{
//remueve el espacio al descubrirlo
s.erase( offset , 1 );
}
return s;
}
//insertamos una frase
string insertPhrase( const string &source )
{
string s = source;
size_t offset = s.find("");
if( offset != string :: npos )
{
s.erase( offset , 4 );
s.insert( offset , "Randall");
}
return s;
}
int main( int argc , char *argv[] )
{
//Se crea un string que es la suma de las 2 strings
cout << "String1 + String2 = "
<< ( string ("String1") + string("String2") )
<< endl;
//Creo una prueba del string y luego remuevo los espacios
string s2("Esta es una prueba de string");
cout << " < " << s2 << " > menos espacios = < "
<< removeSpaces( s2 ) << " > " << endl;
//Ahora inserto una frase enmedio de la sentencia usando la palabra para localizacion
string s3("Stephen Davis");
cout << s3 + " -> " + insertPhrase( s3 ) << endl;
system("pause");
return 0;
}
domingo, 22 de febrero de 2015
Template Visual C++
#include <iostream>
#include <cstdlib>
using namespace std;
template < class T > T maximum( T t1 , T t2 )
{
return ( t1 > t2 ) ? t1 : t2;
}
int main( int argc , char *argv[] )
{
cout << "Maximo de 1 y -2 = " << maximum( 1 , -2 ) << endl;
cout << "Maximo de 1 y 2.5 = " << maximum < double > ( 1 , 2.5 ) << endl;
system("pause");
return 0;
}
Template Vector Visual C++
Vector.h
template < class T >
class Vector
{
public:
Vector( int nArraySize )
{
nSize = nArraySize;
arreglo = new T[ nArraySize ];
reset();
}
int size()
{
return nWriteIndex;
}
void reset()
{
nWriteIndex = 0;
nReadIndex = 0;
}
void add( const T& object )
{
if( nWriteIndex < nSize )
{
arreglo[ nWriteIndex++ ] = object;
}
}
T &get()
{
return arreglo[ nReadIndex ];
}
protected:
int nSize;
int nWriteIndex;
int nReadIndex;
T *arreglo;
};
Main.cpp
#include <iostream>
#include <cstdlib>
#include <string>
#include "Vector.h"
using namespace std;
void intFc()
{
Vector < int > integers( 10 );
cout << "Introduce el valor para llenar el vector\n"
<< "Introduce un negativo para salir: " << endl;
for( ; ; )
{
int n;
cin >> n;
if( n < 0 )
{
break;
}
integers.add( n );
}
cout << "Numeros introducidos por el usuario: " << endl;
for( int i = 0 ; i < integers.size() ; i++ )
{
cout << i << " : " << integers.get() << endl;
}
}
class Name
{
public:
Name() = default;
Name( string s ) : name( s ) {}
const string &display()
{
return name;
}
protected:
string name;
};
void nameFc()
{
Vector < Name > names( 10 );
cout << "Introduce nombres para agregar\n"
<< "Introduce x para salir" << endl;
for( ; ; )
{
string s;
cin >> s;
if( s == "x" || s == "X" )
{
break;
}
names.add( Name( s ) );
}
cout << "Nombres introducidos por el usuario: " << endl;
for( int i = 0 ; i < names.size() ; i++ )
{
Name &name = names.get();
cout << i << " : " << name.display() << endl;
}
}
int main( int argc , char *argv[] )
{
intFc();
nameFc();
system("pause");
return 0;
}
Herencia con Virtual Visual C++
#include <iostream>
#include <cstdlib>
using namespace std;
class Furniture
{
public:
Furniture( int w ) : weight( w ) {}
int weight;
};
class Bed : virtual public Furniture
{
public:
Bed( int w = 0 ) : Furniture( w ) {}
void sleep()
{
cout << "Dormir" << endl;
}
};
class Sofa : virtual public Furniture
{
public:
Sofa( int w = 0 ) : Furniture( w ) {}
void watchTV()
{
cout << "Miro TV" << endl;
}
};
class SleeperSofa : public Bed , public Sofa
{
public:
SleeperSofa( int w ) : Furniture( w ) {}
void foltOut()
{
cout << "Desplegable" << endl;
}
};
int main( int argc , char *argv[] )
{
SleeperSofa ss( 10 );
cout << "Peso: " << ss.weight << endl;
system("pause");
return 0;
}
Herencia Multiple Visual C++
#include <iostream>
#include <cstdlib>
using namespace std;
class Bed
{
public:
Bed() {}
void sleep()
{
cout << "Dormir" << endl;
}
int weight;
};
class Sofa
{
public:
Sofa() {}
void watchTV()
{
cout << "Miro Tele" << endl;
}
};
class SleeperSofa : public Bed , public Sofa //la herencia multiple
{
public:
SleeperSofa() {}
void foldOut()
{
cout << "Plegable" << endl;
}
};
int main( int argc , char *argv[] )
{
SleeperSofa ss;
ss.watchTV();
ss.foldOut();
ss.sleep();
system("pause");
return 0;
}
Excepcion Factorial Visual C++
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
int factorial( int n )
{
if( n < 0 )
{
//lanza una excepcion
throw string("Argumento no debe de ser negativo");
}
int cont = 1;
while( n > 0 )
{
cont *= n;
n--;
}
return cont;
}
int main( int argc , char argv[] )
{
try
{
cout << "Factorial de 3 es : " << factorial( 3 ) << endl;
//aqui genera una excepcion
cout << "Factorial de -1 es : " << factorial( -1 ) << endl;
//ya no lo hizo
cout << "Factorial de 5 es : " << factorial( 5 ) << endl;
} //una vez verificado por el try cacha algun error si lo hay
catch( string error )
{
cout << "Error ocurrido: " << error << endl;
}
catch( ... ) //se usa para definir los default
{
cout << "Default catch..." << endl;
}
system("pause");
return 0;
}
Mover Operator Visual C++
#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;
class MyContainer
{
public:
MyContainer( int nS , const char *pS ) : nSize( nS )
{
pString = new char[ nSize ];
strcpy( pString , pS );
}
~MyContainer()
{
delete pString;
pString = nullptr;
}
//copiando constructor
MyContainer( const MyContainer &s )
{
copyIt( *this , s );
}
MyContainer &operator=( MyContainer &s )
{
delete pString;
copyIt( *this , s );
return *this;
}
//mueve el constructor
MyContainer &operator=( MyContainer &&s )
{
delete pString;
copyIt( *this , s );
return *this;
}
protected:
static void moveIt( MyContainer &tgt , MyContainer &src )
{
cout << "Moviendo " << src.pString << endl;
tgt.nSize = src.nSize;
tgt.pString = src.pString;
src.nSize = 0;
src.pString = nullptr;
}
static void copyIt( MyContainer &tgt , const MyContainer &src )
{
cout << "Copiando " << src.pString << endl;
delete tgt.pString;
tgt.nSize = src.nSize;
tgt.pString = new char[ tgt.nSize ];
strncpy( tgt.pString , src.pString , tgt.nSize );
}
int nSize;
char *pString;
};
MyContainer fn( int n , const char *pString )
{
MyContainer b( n , pString );
return b;
}
int main( int argc , char *argv[] )
{
MyContainer mc( 100 , "Original");
mc = fn( 100 , "Creada en fn()");
system("pause");
return 0;
}
Operator Visual C++
#include <iostream>
#include <cstdlib>
using namespace std;
class DArray
{
public:
DArray( int nLengthOfArray = 0 ) : nLength( nLengthOfArray ) , pArray( nullptr )
{
cout << "Creando el tamaño de DArray = " << nLength << endl;
if( nLength > 0 )
{
pArray = new int[ nLength ];
}
}
DArray( DArray &da )
{
cout << "Copiando el tamaño de DArray = " << da.nLength << endl;
copyDArray( da );
}
~DArray()
{
deleteDArray();
}
//opearador de asignacion
DArray &operator = ( const DArray &s )
{
cout << "Asignando el tamaño fuente = " << s.nLength
<< " al tamaño objetivo: " << this -> nLength << endl;
//elimina las siguientes cosas
deleteDArray();
copyDArray( s );
//regresa la referencia del objeto
return *this;
}
int &operator[]( int index )
{
return pArray[ index ];
}
int size()
{
return nLength;
}
void display( ostream &out )
{
if( nLength > 0 )
{
out << pArray[ 0 ];
for( int i = 1 ; i < nLength ; i++ )
{
out << " , " << pArray[ i ];
}
}
}
protected:
void copyDArray( const DArray &da );
void deleteDArray();
int nLength;
int *pArray;
};
void DArray :: copyDArray( const DArray &source )
{
nLength = source.nLength;
pArray = nullptr;
if( nLength > 0 )
{
pArray = new int[ nLength ];
for( int i = 0 ; i < nLength ; i++ )
{
pArray[ i ] = source.pArray[ i ];
}
}
}
void DArray :: deleteDArray()
{
nLength = 0;
delete pArray;
pArray = nullptr;
}
int main( int argc , char *argv[] )
{
DArray da1( 5 );
for( int i = 0 ; i < da1.size() ; i++ )
{
da1[ i ] = i;
}
cout << "da1 = ";
da1.display( cout );
cout << endl;
DArray da2 = da1;
da2[ 2 ] = 20;
cout << "da2 = ";
da2.display( cout );
cout << endl;
da2 = da1;
cout << "da2 = ";
da2.display( cout );
cout << endl;
system("pause");
return 0;
}
Funciones Virtual Visual C++
#include <iostream>
#include <cstdlib>
using namespace std;
class Student
{
public:
virtual void calTuition()
{
cout << "Se encuentra en Student :: calTuition()" << endl;
}
};
class GraduateStudent : public Student
{
public:
void calTuition()
{
cout << "Se encuentra en Student :: calTuition()" << endl;
}
};
void fn( Student &x )
{
x.calTuition();
}
int main( int argc , char *argv[] )
{
Student s;
fn( s );
GraduateStudent gs;
fn( gs );
system("pause");
return 0;
}
Herencia Visual C++
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
//defino una clase vacia
class Advisor {};
class Student
{
public:
Student( const char *pName = "no name" ) : name( pName ) , average( 0.0 ) , semesterHours( 0 )
{
cout << "Construyendo Student " << name << endl;
}
void addCourse( int hours , float grade )
{
cout << "Agregando grado a " << name << endl;
average = semesterHours * average + grade;
semesterHours += hours;
average = average / semesterHours;
}
int hours()
{
return semesterHours;
}
double gpa()
{
return average;
}
protected:
string name;
double average;
int semesterHours;
};
class GraduateStudent : public Student
{
public:
GraduateStudent( const char *pName , Advisor adv , double qG = 0.0 )
{
cout << "Construyendo graduate student " << pName << endl;
}
double qualifier()
{
return qualifierGrade;
}
protected:
Advisor advisor;
double qualifierGrade;
};
int main( int argc , char *argv[] )
{
Advisor adv;
Student s1("Kenny");
GraduateStudent s2("Dariana" , adv , 1.5 );
s1.addCourse( 3 , 2.5 );
s2.addCourse( 3 , 3.0 );
cout << "Dariana grado de calificacion: " << s2.qualifier() << endl;
system("pause");
return 0;
}
Miembros Estaticos Visual C++
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
class Student
{
public:
Student( const char *pN = "no name" ) : sName( pN )
{
noOfStudents++;
}
~Student()
{
noOfStudents--;
}
const string &name()
{
return sName;
}
static int number()
{
return noOfStudents;
}
protected:
string sName;
static int noOfStudents;
};
int Student :: noOfStudents = 0;
int main( int argc , char *argv[] )
{
Student s1("Kenny");
Student *pS2 = new Student("Nicole");
cout << "Creado: " << s1.name()
<< " y " << pS2 -> name() << endl;
cout << "Numero de estudiantes: " << s1.number() << endl;
cout << "Eliminando: " << pS2 -> name() << endl;
delete pS2;
cout << "Numero de estudiantes: " << Student :: number() << endl;
system("pause");
return 0;
}
Mover Constructor Copia Visual C++
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
class Person
{
public:
Person( const char *pN )
{
pName = new string( pN );
cout << "Construyendo " << pName << endl;
}
Person( Person &p )
{
cout << "Copiando " << pName << endl;
pName = new string("Copia de " );
*pName += *p.pName;
}
Person( Person &&p )
{
cout << "Moviendo " << *p.pName << endl;
pName = p.pName;
p.pName = nullptr;
}
~Person()
{
if( pName )
{
cout << "Destruyendo " << *pName << endl;
delete pName;
}
else
{
cout << "Destruyendo objeto vacio" << endl;
}
}
protected:
string *pName;
};
Person fn2( Person p )
{
cout << "Entrando a fn2" << endl;
return p;
}
Person fn1( char *pName )
{
cout << "Entrando a fn1" << endl;
return fn2( *new Person( pName ) );
}
int main( int argc , char *argv[] )
{
Person s( fn1("Kenny") );
system("pause");
return 0;
}
Constructor Copia Visual C++
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
class Student
{
public:
//constructor convensional
Student( const char *pName = "No name" , int ssId = 0 ) : name( pName ) , id( ssId )
{
cout << "Construyendo: " << name << endl;
}
//constructor copy
Student( const Student &s ) : name("Copia de " + s.name ) , id( s.id )
{
cout << "Construyendo: " << name << endl;
}
~Student()
{
cout << "Destruyendo: " << name << endl;
}
protected:
int id;
string name;
};
//Recibe su argumento por valor
void fn( Student copy )
{
cout << "En la funcion" << endl;
}
int main( int argc , char *argv[] )
{
Student kenny("Kenny" , 1234 );
cout << "Llamando a la funcion" << endl;
fn( kenny );
cout << "Regresando a main" << endl;
system("pause");
return 0;
}
Constructores y Destructores Visual C++
#include <cstdlib>
#include <iostream>
using namespace std;
class Course
{
public:
Course()
{
cout << "Construyendo Course" << endl;
}
~Course()
{
cout << "Destruyendo Course" << endl;
}
};
class Student
{
public:
Student()
{
cout << "Construyendo Student" << endl;
}
~Student()
{
cout << "Destruyendo Student" << endl;
}
};
class Teacher
{
public:
Teacher()
{
cout << "Construyendo Teacher" << endl;
pC = new Course;
}
~Teacher()
{
cout << "Destruyendo Teacher" << endl;
delete pC;
}
protected:
Course *pC;
};
class TutorPair
{
public:
TutorPair()
{
cout << "Construyendo TutorPair" << endl;
}
~TutorPair()
{
cout << "Destruyendo TutorPair" << endl;
}
protected:
Student s;
Teacher t;
};
TutorPair *fn()
{
cout << "Creando un objeto en la funcion fn" << endl;
TutorPair tp;
cout << "Asignando tp fuera de la heap" << endl;
TutorPair *pTP = new TutorPair;
cout << "Regrezando de fn()" << endl;
return pTP;
}
int main( int argc , char *argv[] )
{
TutorPair *ptReturned = fn();
cout << "Regrezando el objeto de heap para la heap" << endl;
delete ptReturned;
system("pause");
return 0;
}
Arreglo de Objetos Visual C++
#include <iostream>
#include <cstdlib>
using namespace std;
class Student
{
public:
Student()
{
cout << "Construyendo Student" << endl;
}
};
int main( int argc , char *argv[] )
{
cout << "Construyendo un arreglo que contiene 5 objetos Student" << endl;
Student s[ 5 ];
system("pause");
return 0;
}
Lista Ligada con Objetos y Punteros Visual C++
#include <cstdlib>
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
class NameDataSet
{
public:
string sName;
//la liga de la siguiente entrada de la lista
NameDataSet *pNext;
};
//el puntero de la primera entrada de la lista
NameDataSet *pHead = nullptr;
//funcion agregar para las entradas
void add( NameDataSet *pNDS )
{
//puntero de la entrada actual del inicio de la lista
pNDS -> pNext = pHead;
//punto de la cabeza del puntero de la entrada actual
pHead = pNDS;
}
//funcion obtener dato - lee el nombre y seguro social y regreza nulo
NameDataSet *getData()
{
//lee el primer nombre
string name;
cout << "Nombre: ";
cin >> name;
//si el nombre introducido es exit se sale
if( name == "exit" )
{
return nullptr;
}
//obtiene una nueva entrada y rellena los valores
NameDataSet *pNDS = new NameDataSet;
pNDS -> sName = name;
pNDS -> pNext = nullptr;
return pNDS;
}
int main( int argc , char *argv[] )
{
cout << "Lee los nombres de los estudiantes\n" << "Presiona exit si quieres salir" << endl;
//Creo mi objeto
NameDataSet *pNDS;
while( pNDS = getData() )
{
//agrega los objetos
add( pNDS );
}
cout << "Entradas: " << endl;
for( NameDataSet *pIter = pHead ; pIter ; pIter = pIter -> pNext )
{
cout << pIter -> sName << endl;
}
system("pause");
return 0;
}
Apuntar Objetos a Funciones Visual C++
#include <cstdlib>
#include <iostream>
using namespace std;
class Student
{
public:
int semesterHours;
double gpa;
};
void someFn( Student *pS )
{
pS -> semesterHours = 10;
pS -> gpa = 3.0;
cout << "El valor de pS -> gpa es: " << pS -> gpa << endl;
}
int main( int argc , char *argv[] )
{
Student s;
s.gpa = 0.0;
cout << "El valor de s.gpa es: " << s.gpa << endl;
someFn( &s );
cout << "El valor de s.gpa es: " << s.gpa << endl;
system("pause");
return 0;
}
Apuntando a un Objeto Visual C++
#include <cstdlib>
#include <iostream>
using namespace std;
class Student
{
public:
int semesterHours;
double gpa;
double addCourse( int hours , double grade );
};
int main( int argc , char *argv[] )
{
//Creamos un objeto
Student s;
s.gpa = 3.0;
//Creo un puntero al objeto sP
Student *pS;
//hacemos que el puntero apunte al primer objeto
pS = &s;
cout << "s.gpa: " << s.gpa << "\n" << "pS -> gpa: " << pS -> gpa << endl;
system("pause");
return 0;
}
Funciones a Objetos Visual C++
#include <cstdlib>
#include <iostream>
using namespace std;
class Student
{
public:
int semesterHours;
double gpa;
};
void someFn( Student copyS )
{
copyS.semesterHours = 10;
copyS.gpa = 3.0;
cout << "El valor de copyS.gpa es: " << copyS.gpa << endl;
}
int main( int argc , char *argv[] )
{
Student s;
s.gpa = 0.0;
//mostrar los valores antes de la funcion
cout << "s.gpa: " << s.gpa << endl;
cout << "Llamando a la funcion" << endl;
someFn( s );
cout << "Ahora regresa el valor" << endl;
cout << "s.gpa: " << s.gpa << endl;
system("pause");
return 0;
}
Clases Visual C++
#include <cstdlib>
#include <iostream>
using namespace std;
class Student
{
public:
double addCourse( int hour , double grade )
{
//calcula la suma de todos los cursos y el promedio
double weightedGPA;
weightedGPA = semesterHours * gpa;
//se agrega el nuevo curso
semesterHours += hour;
weightedGPA += hour * grade;
gpa = weightedGPA / semesterHours;
//regresa el nuevo gpa
return gpa;
}
int semesterHours;
double gpa;
};
int main( int argc , char *argv[] )
{
//Creo un objeto Student
Student s;
s.semesterHours = 3;
s.gpa = 3.0;
//los valores antes de la llamada
cout << "Antes s: " << s.semesterHours << " , " << s.gpa << endl;
cout << "Agregando 3 horas con un grado de 4.0" << endl;
s.addCourse( 3 , 4.0 );
cout << "Despues s: " << s.semesterHours << " , " << s.gpa << endl;
system("pause");
return 0;
}
Creando Librerias Propias Visual C++
Saving.h
class Saving
{
public:
double deposit( double amount );
unsigned int accountNumber;
double balance;
};
Saving.cpp
#include <cstdlib>
#include <iostream>
#include "Saving.h"
double Saving :: deposit( double amount )
{
balance += amount;
return balance;
}
Main.cpp
#include <cstdlib>
#include <iostream>
#include "Saving.h"
using namespace std;
int main( int argc , char *argv[] )
{
Saving s;
s.accountNumber = 123456;
s.balance = 0.0;
cout << "Depositando 10 a la cantidad" << endl;
s.deposit( 10 );
cout << "El balance es: " << s.balance << endl;
system("pause");
return 0;
}
Arreglo Punteros Visual C++
#include <cstdlib>
#include <iostream>
using namespace std;
int main( int argc , char *argv[] )
{
//declarando una cadena
const char *cadena = "Kenny";
cout << "El arreglo es: " << cadena << endl;
//muestra la cadena en un arreglo
cout << "Muestra la cadena en un arreglo\n" << endl;
for( int i = 0 ; i < 5 ; i++ )
{
cout << cadena[ i ];
}
cout << endl;
//usar el tipo aritmetico de punteros
cout << "Muestra la cadena en un arreglo: ";
const char *pCadena = cadena;
while( *pCadena )
{
cout << pCadena;
pCadena++;
}
cout << endl;
system("pause");
return 0;
}
Tamaño En Memoria de Variables Visual C++
#include <cstdlib>
#include <iostream>
using namespace std;
int main( int argc , char *argv[] )
{
int start;
int n;
long l;
long long ll;
float f;
double d;
long double ld;
int end;
//Establesco el modo de salida en hexadecimal
cout.setf( ios::hex );
cout.unsetf( ios::hex );
//salida de cada variable en el orden que se almacenan en memoria
cout << "--- = " << &start << endl;
cout << "&n = " << &n << endl;
cout << "&l = " << &l << endl;
cout << "&ll = " << &ll << endl;
cout << "&f = " << &f << endl;
cout << "&d = " << &d << endl;
cout << "&ld = " << &ld << endl;
cout << "--- = " << &end << endl;
system("pause");
return 0;
}
Concatenar Cadenas Visual C++
#include <cstdlib>
#include <iostream>
using namespace std;
//prototipos de funcion
void concatenar( char arreglo[] , const char size[] );
int main( int argc , char *argv[] )
{
//leer la primera cadena
char cadena1[ 256 ];
cout << "Introduce texto: ";
cin.getline( cadena1 , 256 );
char cadena2[ 128 ];
cout << "Introduce otro texto: ";
cin.getline( cadena2 , 128 );
//concatenar con el primero
concatenar( cadena1 , " - " );
//concatenar las dos
concatenar( cadena1 , cadena2 );
// y mostrar el resultado
cout << "\n" << cadena1 << endl;
system("pause");
return 0;
}
void concatenar( char arreglo[] , const char size[] )
{
//encuentra el final de la primera cadena
int index = 0;
while( arreglo[ index ] )
{
index++;
}
int source = 0;
while( size[ source ] )
{
arreglo[ index ] = size[ source ];
index++;
source++;
}
arreglo[ index ] = '\0';
}
Arreglo Caracteres Visual C++
#include <cstdlib>
#include <iostream>
using namespace std;
void mostrarArreglo( char arreglo[] , int tam );
int main( int argc , char *argv[] )
{
char nombre[] = {'K' , 'e' , 'n' , 'n' , 'y'};
mostrarArreglo( nombre , 5 );
cout << endl;
system("pause");
return 0;
}
void mostrarArreglo( char arreglo[] , int index )
{
for( int i = 0 ; i < index ; i++ )
{
cout << arreglo[ i ];
}
}
Arreglos Visual C++
#include <cstdlib>
#include <iostream>
using namespace std;
//Declaracion de prototipos
int leerArreglo( int arregloEntero[] , int numElementos );
int sumaArreglo( int arregloEntero[] , int numElementos );
void mostrarArreglo( int arregloEntero[] , int numElementos );
void mensaje( void )
{
cout << "Este programa suma los valores introducidos por el usuario\n"
<< "Termina introduciendo un numero negativo" << endl;
return;
}
int main( int argc , char *argv[] )
{
mensaje();
//inicializo los valores del arreglo
int valores[ 128 ];
//mando a llamar mi funcion que recibe los valores
int numeroValores = leerArreglo( valores , 128 );
//Ahora la salida de los valores y la suma
mostrarArreglo( valores , numeroValores );
cout << "La suma es: " << sumaArreglo( valores , numeroValores ) << endl;
system("pause");
return 0;
}
int leerArreglo( int arreglo[] , int index )
{
int valor;
for( valor = 0 ; valor < index ; valor++ )
{
int n;
cout << "Introduce numero: ";
cin >> n;
//si es negativo termina de introducir numeros
if( n < 0 )
break;
arreglo[ valor ] += n;
}
//regresa el numero de valores leidos
return valor;
}
void mostrarArreglo( int arreglo[] , int index )
{
cout << "Los valores del arreglo son" << endl;
for( int i = 0 ; i < index ; i++ )
{
cout << i << " : " << arreglo[ i ] << endl;
}
cout << endl;
}
int sumArreglo( int arreglo[] , int index )
{
int cont = 0 ;
for( int i = 0 ; i < index ; i++ )
{
cont += arreglo[ i ];
}
return cont;
}
Funcion Con Parametros Visual C++
#include <cstdlib>
#include <iostream>
using namespace std;
//funcion cuadrado de un numero
double cuadrado( double valor )
{
return valor * valor;
}
void explicacionProblema( void )
{
cout << "Este programa lanza el cuadrado de un numero"
<< "y va acumulando los valores de estos\n" << endl;
return;
}
double acumularValor()
{
double cont = 0.0;
for( ; ; )
{
double valor = 0.0;
cout << "Introduce numero: ";
cin >> valor;
//si es negativo termina de acumular
if( valor < 0.0 )
break;
//Realiza el cuadrado del numero
int valorCuadrado = cuadrado( valor );
cont += valorCuadrado;
}
return cont;
}
int main( int argc , char *argv[] )
{
explicacionProblema();
for( ; ; )
{
cout << "\nIntroduce una secuencia" << endl;
double valor = acumularValor();
if( valor <= 0.0 )
break;
cout << "El total acumulado es: " << valor << endl;
}
system("pause");
return 0;
}
Funciones Visual C++
#include <cstdlib>
#include <iostream>
using namespace std;
//primera funcion
void displayExplanation( void )
{
cout << "Este programa suma diferentes series\n"
<< "de numeros de cada secuencia\n"
<< "termina el programa poniendo un numero negativo\n"
<< "en la secuencia vacia" << endl;
return;
}
//segunda funcion
int sumSequence( void )
{
int cont = 0;
for( ; ; )
{
int valor = 0;
cout << "Introduce numero: ";
cin >> valor;
//si es negativo cierra
if( valor < 0 )
break;
cont += valor;
}
return cont;
}
int main( int argc , char *argv[] )
{
//mando a llamar las intrucciones de la funcion
displayExplanation();
for( ; ; )
{
cout << "Introduce la siguiente secuencia: ";
int valor = sumSequence();
//termina el ciclo cuando se introduce cero
if( valor == 0 )
break;
cout << "Total acumulado: " << valor << endl;
}
system("pause");
return 0;
}
If Mayor o Menor Visual C++
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;
int main( int argc , char *argv[] )
{
//Entrada del primer argumento
int arg1;
cout << "Dame primer numero: ";
cin >> arg1;
//Entrada del segundo argumento
int arg2;
cout << "Dame segundo numero: ";
cin >> arg2;
//Ahora comparo con if
if( arg1 > arg2 )
{
cout << "El primer numero es mayor al segundo" << endl;
}
else
{
cout << "El segundo numero es mayor al primero" << endl;
}
system("pause");
return 0;
}
For Numeros Primos Visual C++
#include <cstdlib>
#include <iostream>
using namespace std;
int main( int argc , char argv[] )
{
cout << "Los primos menos de 20 son: ";
for( int n : { 1 , 2 , 3 , 5 , 7 , 11 , 13 , 17 , 19 } )
{
cout << n << " , ";
}
cout << endl;
return 0;
}
For Anidado Visual C++
#include <cstdlib>
#include <iostream>
using namespace std;
int main( int argc , char *argv )
{
cout << "## Este programa suma diferentes series de numeros\n"
<< "Termina cada secuencia\n"
<< "al introducir un numero negativo\n"
<< "Termina todo el programa poniendo 2 numeros negativos\n\n\n";
int cont;
for( ; ; )
{
cont = 0;
cout << "\nEmpieza la nueva secuencia\n";
for( ; ; )
{
int numero = 0;
cout << "Introduce numero: ";
cin >> numero;
if( numero < 0 )
{
break;
}
cont += numero;
}
if( cont == 0 )
{
break;
}
cout << "Total: " << cont;
}
system("pause");
return 0;
}
Ciclo For Visual C++
#include <cstdlib>
#include <iostream>
using namespace std;
int main( int argc , char *argv[] )
{
int cont;
cout << "Dame el numero para la cuenta atras: ";
cin >> cont;
for( ; cont > 0 ; )
{
cont -= 1;
cout << "Quedan " << cont << " numeros para terminar" << endl;
}
system("pause");
return 0;
}
Centinela Visual C++
#include <cstdlib>
#include <iostream>
using namespace std;
int main( int argc , char *argv[] )
{
int cont = 0;
cout << "Introduce numeros, el programa termina al poner un numero negativo" << endl;
for( ; ; )
{
int numero;
cout << "Introduce numero: ";
cin >> numero;
if( numero < 0 )
{
break; //termina
}
//numeros acumulados
cont += numero;
}
cout << "Numeros almacenados: " << cont << endl;
system("pause");
return 0;
}
Prueba Logica Visual C++
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;
int main( int argc , char *argv[] )
{
//Establezco mi salida para formato hexadecimal
cout.unsetf( cout.dec );
cout.setf( cout.hex );
//inicializo dos argumentos
int arg1 = 0x78ABCDEF;
int arg2 = 0x12345678;
//Ahora realizo cada operacion en turno
//primero el operador unario NOT
cout << "arg1 = 0x " << arg1 << endl;
cout << "~arg1 = 0x " << ~arg1 << "\n" << endl;
cout << "arg2 = 0x " << arg2 << endl;
cout << "~arg2 = 0x " << ~arg2 << "\n" << endl;
//Ahora los operadores binarios
cout << " 0x" << arg1 << "\n"
<< "& 0x" << arg2 << "\n"
<< "----------- " << "\n"
<< " 0x" << ( arg1 & arg2 ) << "\n"
<< endl;
cout << " 0x" << arg1 << "\n"
<< "| 0x" << arg2 << "\n"
<< " 0x" << ( arg1 | arg2 ) << "\n"
<< endl;
cout << " 0x" << arg1 << "\n"
<< "^ 0x" << arg2 << "\n"
<< "----------- " << "\n"
<< " 0x" << ( arg1 ^ arg2 ) << "\n"
<< endl;
system("pause");
return 0;
}
Suscribirse a:
Comentarios (Atom)
