Páginas

martes, 31 de enero de 2012

C++: ejemplo de uso de clase

Un pequeño ejemplo de uso de clases:

#include <iostream>
#include <string>
using namespace std;
class pareja {
private:
// Datos miembro de la clase "pareja"
int a, b;
string cad;
public:
// Funciones miembro de la clase "pareja"
void Lee(int &a2, int &b2);
void Guarda(int a2, int b2) {
a = a2;
b = b2;
}
void leeCadena(string &cadena) {
cadena=cad;
}
void guardaCadena(string cadena){
cad=cadena;
}
string anadir(string cadena){
cad += cadena;
return cad;
}
};
// añadiendo un método a la clase
void pareja::Lee(int &a2, int &b2) {
a2 = a;
b2 = b;
}
int main() {
pareja par1;
int x, y;
string cadenatrabajada;
par1.guardaCadena("hola");
par1.leeCadena(cadenatrabajada);
par1.Guarda(12, 32);
par1.Lee(x, y);
cout << "Valor de par1.a: " << x << endl;
cout << "Valor de par1.b: " << y << endl;
cout << "Valor de la cadena: " << cadenatrabajada << endl;
cadenatrabajada=par1.anadir(" voy a anadir un texto");
cout << "Texto sumado: " << cadenatrabajada << endl;
par1.leeCadena(cadenatrabajada);
cout << "texto de la clase: " << cadenatrabajada << endl;
//system ("PAUSE");
//EXIT_SUCCESS;
return 0;
}

Fuente: 

lunes, 30 de enero de 2012

C++: Ejemplo de guardar texto en un archivo y leerlo.


Manejo de un archivo tipo TXT en c++:
Guardar y Abrir archivo


Este es un simple ejemplo de como trabajar con un fichero de texto en cpp:
Crea un archivo tipo TXT, y le añade unas cadenas de caracteres,y luego las lee.
Para mostrar lo que he leido, primero en el bucle de lectura lo va escribiendo y ademas va definiendo un array. Este array se mostrará luego otra vez por pantalla.



#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
int main() {
char cadena[3128];
char linea[50][3000];
string texto;
string lineacadena;
int a=0;
int b=0;
// Crea un fichero de salida
cout <<"-------------------------------------\n";
cout <<"Escribiendo y leyendo un fichero\n";
cout <<"-------------------------------------\n";
ofstream fs("nombre.txt");
char* mensaje="hola esto es un mensaje\0";
char* mensaje2="hola 2\0";
char* mensaje3="un mensaje3\0";
cout << mensaje<<"\n";
cout <<mensaje2<<"\n";
cout <<mensaje3<<"\n";
// Enviamos una cadena al fichero de salida:
fs << mensaje << endl;
fs << mensaje2 << endl;
fs << mensaje3 << endl;
// Cerrar el fichero,
// para luego poder abrirlo para lectura:
fs.close();
// Abre un fichero de entrada
ifstream fe("nombre.txt");
// Leeremos mediante getline, si lo hiciéramos
// mediante el operador << sólo leeríamos
// parte de la cadena:
cout <<"-------------------------------------\n";
cout <<"\nContenido del fichero:\n";
cout <<"-------------------------------------\n";
a=-1;
while (!fe.eof()){
fe.getline(cadena,3000);
a++;
string lineacadena (cadena); // añadido: convierto array de char a cadena
texto +=lineacadena + '\n';  // añado a la cadena texto.
strcat(linea[a],cadena); //añadido trabajando con cadenas 
cout << cadena << endl; // añadido: escribo.
}
cout <<"-------------------------------------\n";
cout <<"Contenido del fichero, en un array guardado\n";
cout <<"-------------------------------------\n";
for(b=0;b<=a;b++){
cout << linea[b];
cout << "\n";
}
cout <<"----------------------------------------\n";
cout <<"imprimo una cadena\n";
cout <<"----------------------------------------\n";
cout << texto;
//system ("PAUSE");
//EXIT_SUCCESS;
return 0;
}

Nota:
31 de enero de 2012
He añadido también como trabajar con cadenas 

martes, 24 de enero de 2012

Algoritmos: Para Juegos (IA) y dibujo 2d

Os dejo 2 enlaces donde os podeis descargar unos documentos .pdf, donde podeis ver algunos algoritmos para juegos- Inteligencia Artificial (minimax, por ejemplo), y dibujo 2d (relleno de areas)



Saludos