Día 256, día del programador =P
Leyendo en Cofradía digital me encontre con que hoy es día del programador xD: http://es.wikipedia.org/wiki/Dia_del_Programador
Así que ps, felicidades a todos los programadores :D y de paso les dejo un pequeño programa usando POO ( que realmente no hace mucho xDDDDD)..
stringclass.h
//Evita la inclusion multiple del archivo de encabezado
#ifndef STRINGCLASS_H
#define STRINGCLASS_H
class Cadena{
protected:
char *texto;
unsigned int tamano;
public:
Cadena();
Cadena(int _tamano);
Cadena(char *_texto);
~Cadena();
char *Asignar(char *_texto);
char * operator = (char *_texto);
char * operator +=(char *_texto);
char *Texto();
void imprimir();
unsigned int tam();
};
#endif
stringclass.cpp
#include<stdio.h>
#include<stdlib.h>
#include "stringclass.h"
Cadena::Cadena(){
texto = NULL;
tamano = 0;
}
char *Cadena::Asignar(char *_texto){
tamano=0;
int j;
while (_texto[tamano]!=0)
tamano++;
if (tamano){
texto=(char *)realloc(texto,tamano+1);
for (j=0; j<tamano ;j++)
texto[j]=_texto[j];
texto[j]='\0';
}
else if(_texto){
free(texto);
texto=NULL;
return "";
}
return texto;
}
Cadena::Cadena(int _tamano){
tamano=_tamano;
texto = (char *)malloc(tamano+1);
}
Cadena::Cadena ( char *_texto){
int j=0;
tamano=0;
while (_texto[tamano]!=0)
tamano++;
if (tamano){
texto = (char*)malloc(tamano);
for ( j=0; j<tamano; j++){
texto[j]=_texto[j];
}
texto[j]='\0';
}
else if(_texto){
free(texto);
texto=NULL;
}
}
char *Cadena::Texto(){
if(texto)
return texto;
return "";
}
unsigned int Cadena::tam(){
return tamano;
}
void Cadena::imprimir(){
printf("El texto es: %s\n",texto);
}
Cadena::~Cadena(){
if(texto)
free(texto);
}
char *Cadena::operator =(char *_texto){
int j;
tamano=0;
while (_texto[tamano]!=0)
tamano++;
if (tamano){
texto=(char *)realloc(texto,tamano+1);
for ( j=0 ; j<tamano; j++)
texto[j]=_texto[j];
texto[j]='\0';
}
else if(_texto){
free(texto);
texto=NULL;
return "";
}
return texto;
}
char *Cadena::operator += (char *_texto){
int tam=0;
int j;
tamano=0;
while (_texto[tamano]!=0)
tamano++;
while (texto[tam]!=0)
tam++;
if ( (tamano) && (tam)){
texto=(char *)realloc(texto,tam+tamano+1);
for ( j=0; _texto[j]!='\0' ;j++)
texto[tam+j]=_texto[j];
texto[tam+j]='\0';
}
else if(_texto){
free(texto);
texto=NULL;
return "";
}
return texto;
}
stringmain.cpp
#include<stdio.h>
#include<stdlib.h>
#include "stringclass.h"
int main(){
system("clear");
//Crea objetos
Cadena str1;
Cadena str2(10);
Cadena str4;
//Asigna valores
str2.Asignar("Jorge");
str1.Asignar("Hola como estas?");
str4 = "Buenos dias";
str4 += " Hola";
// Imprime valores
str2.imprimir();
str1.imprimir();
str4.imprimir();
//Usando método tam de la clase Cadena
printf("El tamanio de srtr2 es %d \n",str2.tam());
//Usando método Texto de la clase Cadena
printf("El texto de srtr2 es %c ",str2.Texto());
getchar();
return 0;
}
Para compilar: g++ stringclass.cpp stringmain.cpp -o stringclass
Yo por el momento ya empezaron las clases después de un rato de estar en paro xD, lo único relevante es la matería de estructura de datos, en la cuál, nos va a costar un poco ya que manejaremos java (si java, que casí ni nos enseñaron). Además nos traen dando vueltas por lo referente a lo horarios ><", espero cuando menos no salir más allá de las 14:00 Hrs.. ><""
t.|A|. xD
Saludos!!
1 comentario:
aqui es cuando empiezas a cantar euforicamente
mas dame c++
... cof
xD
=> t.|A| :P**
Publicar un comentario