Está en la página 1de 15

PROGRAMACION C++ CON LAS LIBRERIAS

QT SOBRE ENTORNO LINUX

Sesión N° 6
Programación en C++ con las librerías QT sobre entorno Linux

TEMAS

✓ Pilas y Colas
✓ Lectura y escritura de archivos
Programación en C++ con las librerías QT sobre entorno Linux

PILAS
Es una lista de datos en la cual los datos están almacenados uno encima del otro, y por
lo tanto la lectura siempre será por la parte superior, es decir se leerán los datos de
forma inversa a como fueron registrados
Programación en C++ con las librerías QT sobre entorno Linux

PILAS
Con este tipo de estructura de datos, solo se puede realizar dos operaciones: push
(insertar un dato) o pop (leer el dato que está en la parte superior)
Programación en C++ con las librerías QT sobre entorno Linux

PILAS
Se hace uso de una estructura de datos, deberá tener un campo especial de tipo
puntero del mismo tipo de la estructura, este campo permitirá hacer el enlace hacia el
siguiente elemento de la pila.

struct Nodo { NODO 1 NODO 2 NODO 3

int valor; NULL

Nodo *siguiente;
};
Programación en C++ con las librerías QT sobre entorno Linux

PILAS
Para crear una pila se necesita un puntero pila inicializado como nulo y un puntero
nuevo nodo, para quien se deberá solicitar memoria al sistema operativo

Nodo *pila = NULL; nuevo->valor = 20;

Nodo *nuevo = new Nodo(); nuevo->siguiente = pila;


pila = nuevo

*pila

pila
Programación en C++ con las librerías QT sobre entorno Linux

PILAS
Programación en C++ con las librerías QT sobre entorno Linux

COLAS
Es una lista de datos en la cual las operaciones de inserción y extracción se realizan en
los lados opuestos de la cola. A diferencia de las pilas, el primer elemento que ingresa es
el primer elemento que sale.

struct Nodo {
int valor;
Nodo *siguiente;
};
Programación en C++ con las librerías QT sobre entorno Linux

COLAS
En el caso de las colas, se necesita dos punteros para almacenar el inicio y fin de la cola
y un puntero nuevo para asignar el valor que se desea grabar.
nuevo->valor = 20;
Nodo *inicio = NULL;
nuevo->siguiente = NULL;
Nodo *fin = NULL;
inicio = nuevo;
Nodo *nuevo = new Nodo();
fin = nuevo;
Programación en C++ con las librerías QT sobre entorno Linux

COLAS
Para agregar el segundo elemento, solo se necesita asignar la nueva dirección al puntero
final.

nuevo = new Nodo();


nuevo->valor = 10;
nuevo->siguiente = NULL;
fin->siguiente = nuevo;
fin = nuevo;
Programación en C++ con las librerías QT sobre entorno Linux

MANEJO DE ARCHIVOS
Los archivos son estructura de datos, cuya característica principal es que van a perdurar
en el tiempo, luego de finalizar la ejecución del programa; esto es posible porque no son
grabados en la memoria principal, sino en el disco duro.
Programación en C++ con las librerías QT sobre entorno Linux

ARCHIVOS DE TEXTO
Son estructura de datos que están separados por un saldo de línea. Para visualizar el
contenido no requiere realizar ninguna transformación del dato.
Para la manipulación se requiere incluir el fichero de cabecera <fstream>, que expone
los siguientes tipos de datos:
✓ ifstream entrada; #include <fstream>

✓ ofstream salida; {

✓ fstream entrada salida; ifstream archivo_lectura;


ofstream archivo_escritura;
}
Programación en C++ con las librerías QT sobre entorno Linux

ARCHIVOS DE TEXTO
Apertura de Archivos. se puede hacer pasando parámetros al declarar la variable de
estos tipos, o bien declarando la variable sin parámetros y luego llamando al método
open(). Vamos a abrir cada uno de una manera distinta, para que veas ambas

#include <fstream>

int main()
{
ifstream nombre_lógico_entrada ("fichero.txt", ifstream::in);
ofstream nombre_lógico_salida;
nombre_lógico_salida.open("fichero2.txt", ofstream::out);
}
Programación en C++ con las librerías QT sobre entorno Linux

ARCHIVOS DE TEXTO
Parámetros de apertura de archivos:
✓ app (append) Para añadir al final del fichero
✓ ate (at end) Para añadir al final del fichero
✓ binary (binary) Se abre el fichero como fichero binario
✓ in (input) El fichero se abre para lectura.
✓ out (output) El fichero se abre para escritura
✓ trunc (truncate) Si el fichero existe, se ignora su contenido y se empieza como si
estuviera vacío
Programación en C++ con las librerías QT sobre entorno Linux

ARCHIVOS DE TEXTO

#include <fstream>

int main()
{
ifstream nombre_lógico_entrada ("fichero.txt", ifstream::in);

if (!nombre_lógico_entrada){
cout<<“Error al abrir archivo”<<endl;
return;
}
nombre_lógico_entrada<<10;
nombre_lógico_entrada<<“Hola”;
nombre_lógico_entrada.close();
}

También podría gustarte