Crear una base de datos, en c++.

Bueno un tema, muy interesante ahora he visto y me han comentados, es crear un base de datos en c++, un tema muy interesante en compiladores, ya que implica realizar y usar  los principios.

vamos al problema:

Una empresa SistemasAlfaOmega lo ha contratado para crear una base de datos, pero con los problemas de las licencias, desea que cree una base de datos a partir de c++, las cuales quiere que pueda realizar las operaciones basicas, crear tabla, insertar, actualizar, y consultar.

Entonces como profesional en sistemas de información, se le pide:

– crear una base de datos a partir c++, con el nombre SistemasAlfaOmega.cc

en este caso podemos crear el nombre del archivo SistemasAlfaOmega.cc

–  El sistema puede crear una tabla.

la tabla tendrá la siguiente sintaxis:

crear nombre_tabla{
entero id;
texto nombre;
texto apellido;
};

– El sistema puede insertar datos en la tabla que se creo anteriormente.

– El sistema puede actualizar datos en la tabla.

El sistema puede consultar  datos en la tabla.

tipos de datos que debe soportar la base de datos:

  • Texto
  • entero
  • flotante
  • binario

La empresa  esta interesada en ejecutarlo de manera local por ente, no sera necesario implementarlo en red.

sin mas pedir podemos encontra una info en wiki acerca de clausura de kleene y mas kleene: http://es.wikipedia.org/wiki/Clausura_de_Kleene

http://en.wikipedia.org/wiki/Kleene_star#Kleene_plus

Publicado en Uncategorized | Comentarios desactivados en Crear una base de datos, en c++.

Ordenar Archivos en Memoria umg buble file c++

La información de todos los empleados de la empresa DATASYSTEM esta almacenada en una variable de tipo struct llamada empleado, la información con que se cuenta es ID, Nombres, Apellidos, Dirección, Teléfono, Genero y salario.

por tanto se pide realizar un programa en c++ que lea los datos del teclado para el ingreso correspondiente y los almacene en un archivo basado en la estructura anterior, dicho programa debe tener también una opción que permite realizar una consulta de todos los empleados, ordenados de forma ascendente.

en este caso lo hice lo mas sencillo posible:

viva la memoria dinámica.

/*
Choc Cac, Mynor R.
correo: mynorrene arroba choccac punto com
lmcc
*/

#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;

struct MisDatos{
int ID;
char Nombres[50];
char Apellidos[50];
char Direccion[50];
char Telefono[8];
char Genero[6];
double salario;
};

void Guardar(MisDatos guardar)
{
fstream archivo ;
archivo.open("choccac.bin",ios::out | ios::app | ios::binary);
archivo.write( (char *)&guardar,sizeof(MisDatos));
archivo.close();
}

int getNoRegistro()
{
int noRegg=0;
MisDatos nototal;
fstream archivo("choccac.bin", ios::in | ios::binary);
if(archivo.fail())
cerr << "Error al abrir." << endl;
else
while(!archivo.eof())
{
archivo.read((char*)&nototal,sizeof(MisDatos));

if(!archivo.eof())
{
noRegg++;
}
}
archivo.close();
return noRegg;
}

void Ordenar()
{
MisDatos ordenx;
int nuevoDinamica = getNoRegistro();
int contado=0;
MisDatos *burb = new MisDatos[nuevoDinamica];
fstream archivo("choccac.bin", ios::in | ios::binary);
if(archivo.fail())
cerr << "Error al abrir." << endl;
else
while(!archivo.eof())
{
archivo.read((char*)&ordenx,sizeof(MisDatos));

if(!archivo.eof())
{
burb[contado].ID=ordenx.ID;
strcpy(burb[contado].Nombres,ordenx.Nombres);
strcpy(burb[contado].Apellidos,ordenx.Apellidos);
strcpy(burb[contado].Direccion,ordenx.Direccion);
strcpy(burb[contado].Telefono,ordenx.Telefono);
strcpy(burb[contado].Genero,ordenx.Genero);
burb[contado].salario=ordenx.salario;
contado++;
}
}

int temp,i,j;

char Nombres[50];
char Apellidos[50];
char Direccion[50];
char Telefono[8];
char Genero[6];
double salario;
for (i=1; i<nuevoDinamica; i++)
for (j=0 ; j<nuevoDinamica - 1; j++)
if (burb[j].ID > burb[j+1].ID)
{
temp = burb[j].ID;
strcpy(Nombres,burb[j].Nombres);
strcpy(Apellidos,burb[j].Apellidos);
strcpy(Direccion,burb[j].Direccion);
strcpy(Telefono,burb[j].Telefono);
strcpy(Genero,burb[j].Genero);
salario = burb[j].salario;

burb[j].ID = burb[j+1].ID;
strcpy(burb[j].Nombres,burb[j+1].Nombres);
strcpy(burb[j].Apellidos,burb[j+1].Apellidos);
strcpy(burb[j].Direccion,burb[j+1].Direccion);
strcpy(burb[j].Telefono,burb[j+1].Telefono);
strcpy(burb[j].Genero,burb[j+1].Genero);
burb[j].salario = burb[j+1].salario;

burb[j+1].ID = temp;
strcpy(burb[j+1].Nombres,Nombres);
strcpy(burb[j+1].Apellidos,Apellidos);
strcpy(burb[j+1].Direccion,Direccion);
strcpy(burb[j+1].Telefono,Telefono);
strcpy(burb[j+1].Genero,Genero);
burb[j+1].salario = salario;

}
for(i=0; i<nuevoDinamica;i++)
{
cout << "\n\nId: " << burb[i].ID;
cout << "\nNombre: " << burb[i].Nombres;
cout << "\napellidos: " << burb[i].Apellidos;
cout << "\ndireccion: " << burb[i].Direccion;
cout << "\nTelefono: " << burb[i].Telefono;
cout << "\nGenero: " << burb[i].Genero;
cout << "\nSalario: " << burb[i].salario;
}

archivo.close();
delete [] burb;
}

int main()
{
int opcion=0;
char amor[2];
MisDatos acc;
do{
cout << "\n\nmenu\n\n";
cout << "1. Agregar.\n";
cout << "2. mostrar y ordenar.\n";
cout << "3. Salir.\n";
cout << "Que opcion desea: ";
cin >> opcion;
switch(opcion)
{
case 1:
cout << "id: ";
cin >> acc.ID;
cin.getline(amor,2);
cout << "Nombre: ";
cin.getline(acc.Nombres,50,'\n');
cout << "Apellido: ";
cin.getline(acc.Apellidos,50,'\n');
cout << "Direccion: ";
cin.getline(acc.Direccion,50,'\n');
cout << "Genero: ";
cin.getline(acc.Genero,6,'\n');
cout << "Telefono: ";
cin.getline(acc.Telefono,50,'\n');
cout << "Salario: ";
cin >> acc.salario;
Guardar(acc);
break;
case 2:
Ordenar();
break;

}
}while(opcion != 3);

return 0;
}

contaseña: lmcc

OrdenarArchivosEnMemo

Publicado en Uncategorized | Comentarios desactivados en Ordenar Archivos en Memoria umg buble file c++

ejemplo Archivo c++ con struct – umg – example file c++ struct

Diseñe un programa que permita ingresar datos personales a un archivo llamado “MisDatos.txt”, posteriormente que los muestre en pantalla.

Debes utilizar Streams para dicha solución.

aquí les dejo la solución de este ejercicios espero que les sirva.

struct MisDatos{
char nombre[50];
char apellido[50];
char direccion[50];
};

guardar la estrutura: void Guardar(MisDatos guardar)

muestra la estructura:  void getMostar()

escribe el archivo:  archivo.write( (char *)&guardar,sizeof(MisDatos));

lee el archivo:  archivo.read((char*)&mostrar,sizeof(MisDatos));

 /*
 Choc Cac, Mynor R.
 correo: mynorrene arroba choccac punto com
 lmcc
 */
#include <iostream>
#include <fstream>
using namespace std;

/*
 Solo usara estas tres variales, creo que ocn eso es suficiente.
 */
 struct MisDatos{
 char nombre[50];
 char apellido[50];
 char direccion[50];
 };

void Guardar(MisDatos guardar)
 {
 fstream archivo ;
 archivo.open("choccac.bin",ios::out | ios::app | ios::binary);
 archivo.write( (char *)&guardar,sizeof(MisDatos));
 archivo.close();
 }

void getMostar()
 {
 MisDatos mostrar;
 fstream archivo("choccac.bin", ios::in | ios::binary);
 if(archivo.fail())
 cerr << "Error al abrir choccac.bin" << endl;
 else
 while(!archivo.eof())
 {
 archivo.read((char*)&mostrar,sizeof(MisDatos));

if(!archivo.eof())
 {
 cout << "\n\nNombre: " <<mostrar.nombre;
 cout << "\nApellido: " <<mostrar.apellido;
 cout << "\nDireccion: " <<mostrar.direccion;
 }
 }
 archivo.close();
 }

int main()
 {
 int opcion=0;
 char amor[2];
 MisDatos acc;

do{
 cout << "\n\nmenu\n\n";
 cout << "1. Agregar.\n";
 cout << "2. mostrar.\n";
 cout << "3. Salir.\n";
 cout << "Que opcion desea: ";  cin >> opcion;
 switch(opcion)
 {
 case 1:
 cin.getline(amor,2);
 cout << "Nombre: ";
 cin.getline(acc.nombre,50,'\n');
 cout << "Apellido: ";
 cin.getline(acc.apellido,50,'\n');
 cout << "Direccion: ";
 cin.getline(acc.direccion,50,'\n');
 Guardar(acc);
 break;
 case 2:

getMostar();
 break;
 }
 }while(opcion != 3);

return 0;
 }

contraseña:  lmcc

archivosMisdatos

Publicado en Uncategorized | Comentarios desactivados en ejemplo Archivo c++ con struct – umg – example file c++ struct

Ejercicio No. 4 – Algoritmo II – UMG

Escribir un programa para convertir una medida dada en pies a sus equivalentes en: a) yardas; b) pulgadas; c) centímetros, y d) metros (1 pie = 12 pulgadas, 1 yarda = 3 pies, 1 pulgada = 2,54 cm, 1 m = 100 cm). Leer el número de pies e imprimir el número de yardas, pies, pulgadas, centímetros y metros.

#include <iostream>;

int main ()
{
int pulgadas,pies;
float yardas,centimetros,metros;

cout << "Introduzca una cantidad: ";
cin >> pies;

cout << "El resultado en yrds es: " << (pies/3);
cout << "El resultado en pulg. es: " << (pies*12) << endl;
cout << "El resultado en cm es: " << (pulgadas*2.54) << endl;
cout << "El resultado en mts es: "<< (centimetros/100) << endl;
cin.get();cin.get();

return 0;
}
Publicado en Uncategorized | 4 comentarios

Ejercicio No. 3 – Algoritmo II – UMG

Convertir la temperatura de Centígrados a Fahrenheit


#include <iostream.h>
 int main ()
 {
 int C;
 cout<<"Introduzca una cantidad en grados centigrados:  ";
 cin>>C;
 cout<<"Su medida en grados Farenheit es:  "<<(9*(C/5)+32)<<endl;
 cin.get();cin.get();

return 0;
 }

Publicado en Uncategorized | 2 comentarios

Ejercicio No. 2 – Algoritmo II – UMG

Escriba un programa para calcular la longitud de la circunferencia y el área del círculo para un radio introducido por el teclado.


#include <iostream>
 #define PI 3.141592653

int main()
 {

float longcircu=0.00;
 float areacircu=0.00;
 float radio=0.00;
 float x;
 cout << "Ingrese el radio de la circuferencia: ";
 cin >> radio;
 cout << "Longitud de la circuferencia es: " << PI*(radio*2);
 x = radio*radio;
 cout << "\nArea de la circuferencia es: " << PI*x;
 cin.get();cin.get();
 return 0;
 }

Publicado en Uncategorized | Comentarios desactivados en Ejercicio No. 2 – Algoritmo II – UMG