Proyecto Final de Programacion 2

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 10

CADENAS Y ARCHIVOS EN C++

NOMBRE:SOFIA BELEN ARANCIBIA CHOQUE

CARRERA.INGENIERIA DE SISTEMAS

FECHA:21/06/2022

AÑO: 1er SEMESTRE


1.Introducción
El ´presente proyecto explicaremos sobre las cadenas y archivos en C++.
Obtendremos información de que son las cadenas C++ su definición y también de los
archivos
Cadenas: las cadenas son un conjunto de caracteres o valores tipo char , terminados en
carácter nulo.
Archivo: Se define un archivo que es una colección ordenada de datos que tienen entre sí
una relación y que se almacenan de forma permanente en un dispositivo de memoria no
volátil.
Con la elaboración de este proyecto profundizamos aspectos importantes de la
programación.

2.Justificación
Establecer que este proyecto es importante porque tendrá un contenido interesante de
mucha utilidad.
Agregar que el presente proyecto puede ser utilizado como una guía para futuras personas
que requieran de su información.
Conocer más acerca de las cadenas y los archivos que como elaborar estos y muchas más
funciones.
3. Objetivo general
Obtener más información de cadenas y archivos en C++ mediante este realizar el proyecto
relacionándolo con la materia de programación.

4. Objetivos específicos
Buscar información de cadenas y archivos en C++.
Establecer un tiempo determinado para el proyecto.
Obtener información como funciona un programa.

5. Marco teórico

CADENAS
DEFINICION EN UNA CADENA
Las cadenas se definen como un conjunto de caracteres o valores tipo char terminados con
el carácter nulo es decir valor numérico 0.
También podemos agregar que una cadena logra contener cualquier carácter, puede tener
un nombre una dirección lo que nosotros necesitemos
Una cadena de caracteres en C/C++ es un array unidimensional de caracteres. En cada
elemento del array se almacena un carácter de la cadena y a continuación del último
carácter se añade un elemento más que contiene el carácter nulo,

COMO SE DECLARA UNA CADENA EN C++


Declarar declarar una cadena en string
Una variable tipo string o cadena de texto se declara igual que cualquier otra variable:
Para ello, debemos definir la función con un tipo especial llamado void.
Ejemplo
#include <iostream>
using namespace std;
void imprime_cadena(string cadena)
{
cout << cadena;
// return; // Opcional
}
Edita, compila y ejecuta el código

Nota

std::string es un tipo de dato no nativo del espacio de nombres std, que permite
almacenar y manipular cadenas de caracteres.

Funciones sin argumento


Una función puede no necesitar una lista de parámetros.

Ejemplo

#include <iostream>
using namespace std;

//Opcional void imprime_mensaje_inicial(void)


void imprime_mensaje_inicial()
{
cout << "Este programa bla bla bla…\n";
}
int main()
{
imprime_mensaje_inicial();
}
Edita, compila y ejecuta el código

Describir las funciones mas utilizadas para manejo de cadenas


void (C)
Cuando se usa como un tipo de valor devuelto de función, la void palabra clave especifica
que la función no devuelve un valor. Cuando se usa para la lista de parámetros de una
función, void especifica que la función no toma ningún parámetro. Cuando se usa en la
declaración de un puntero, void especifica que el puntero es "universal".

Si el tipo de un puntero es void*, el puntero puede apuntar a cualquier variable que no se


declare con la const palabra clave o volatile . Un void* puntero no se puede referenciar a
menos que que se convierta a otro tipo. Un void* puntero se puede convertir en cualquier
otro tipo de puntero de datos.
No se puede declarar una variable de tipo void.

Ejemplo
C++

Copiar
// void.cpp
void vobject; // C2182
void *pv; // okay
int *pint; int i;
int main() {
pv = &i;
// Cast optional in C required in C++
pint = (int *)pv;
}
Definición de un archivo
Se define un archivo que es una colección ordenada de datos que tienen entre sí una
relación y que se almacenan de forma permanente en un dispositivo de memoria no volátil.
En este contenido, permanente quiere decir que, salvo fallos catastróficos o hasta que sean
borrados a propósito, estos datos permanecen en el medio en que se almacenan (medios
magnéticos o de otro tipo) y continúan existiendo después de que el programa que los creó
deja de ejecutarse, incluso después de apagar el ordenador.

Esto marca la diferencia con los datos que son provisionalmente almacenados en la
memoria RAM, la memoria volátil del ordenador, que no sobreviven al programa que los
crea y mucho menos a la desconexión del computador.
Tipos de ficheros
Como hemos comentado, el contenido y la estructura de un fichero responde a un criterio
de diseño libre, elegido por el desarrollador de una aplicación.

En cualquier caso, en relación a la forma en que los datos son almacenados, los ficheros
podríamos clasificarlos como:

Ficheros binarios: Contienen una representación exacta del contenido binario de los datos,
ceros y unos. Por tanto, no son directamente editables.

Ejemplo: Representación de 3 números enteros int, 255, 3, y 10 en complemento a 2.


¡Cada entero ocupa el mismo número de bytes: 4!

../../_images
/fichero_binario.jpg
Fichero binario

Ficheros de texto: Los datos están representados con los caracteres alfanuméricos que los
representan. Pueden ser leídos y modificados a través de un editor de texto.

Ejemplo: Representación de 3 números enteros 255, 3 y 10 cuyas cifras están codificadas


en ASCII. Los números se separan por un espacio en blanco (20H en ASCII) para poder
diferenciarlos.

¡Cada entero ocupa un número de bytes distinto!

7. Marco practico
Un ejemplo de un programa de manejo donde se usan las cadenas
Leer cadenas de caracteres por teclado.
Como una cadena se implementa en C++ como un array de caracteres, podemos leer por
teclado carácter a carácter utilizando el método get y asignar valores como los demás
arrays .elemento a elemento.
Ejemplo de lectura de cadena de caracteres elemento a elemento:
#include <iostream>
using namespace std;
int main(void)
{
char cadena[10];
int i;
for(i=0;i<9;i++) // máximo 9 caracteres
cin.get(cadena[i]); // se lee por teclado un carácter y
// se guarda en el array
cadena a[i]='\0'; // debemos añadir el nulo al final
cout << "Ha escrito: " << cadena << endl;
system("pause");
}
Recorrer cadenas de caracteres
Por ser un array de caracteres puede recorrerse elemento a elemento hasta encontrar el
nulo.
Ejemplo: Programa C++ que lee por teclado una cadena de caracteres y la guarda en el
array cadena. A continuación lo recorre desde el principio y muestra cada carácter por
pantalla hasta que encuentra el carácter nulo.
#include <iostream>
using namespace std;
int main(void)
{
char cadena[30];

cin.getline(cadena,30); //lectura de la cadena por teclado


//se asignarán 29 caracteres como máximo
//el carácter nulo se añade de forma automática
//recorrido de la cadena de caracteres
int i=0; //variable índice para recorrer la cadena
while(cadena[i]!='\0') //mientras no lleguemos al nulo
{
cout << cadena[i]; //se muestra el carácter
i++; //se incrementa el índice
}
cout << endl;
system("pause");
}
Si lo que queremos es visualizar toda la cadena, no es necesario recorrerla carácter a
carácter, simplemente podemos escribir:
cout << cadena;
Esta sentencia visualiza todos los caracteres de la cadena desde el primero hasta el carácter
nulo. Si la cadena la hemos creado sin poner el nulo al final, se mostrará el contenido de la
cadena seguido de basura.
COMANDO EN C++ PARA MANEJAR LOS ARCHIVOS
Abrir archivos

Para comenzar a usar un archivo dentro de nuestro programa debemos asignarlo a una
variable, en el siguiente listado podemos ver como se hace.En la línea 8 encuentra la
declaración de la variable que usaremos para manipular el archivo, es una variable puntero
de tipo FILE
Las formas de abrir el archivo son estas:

r — abre el archivo en modo de solo lectura.


w — abre el archivo para escritura (si no existe lo crea, si existe lo destruye).
a — abre el archivo para agregar información (si no existe lo crea).
r+ — abre el archivo para lectura/escritura (comienza al principio del archivo).
w+ — abre el archivo para lectura/escritura, sobre-escribe el archivo si este ya existe o lo
crea si no).
a+ — abre el archivo para lectura/escritura (se sitúa al final del archivo).
Si vamos a trabajar con archivos binarios usamos la letra b así que los modos de acceso
quedan “rb”, “wb”, “ab”, “rb+”, “wb+”, “ab+”.

/*
* Suponga que el contenido del archivo es:
* Gol
* Hola mundo
* Esto es un numero con formato 3.141
* 3.141
*
* Con esto en mente, empecemos.
*/
#include <stdio.h>

int main(){
// Variable archivo.
FILE *entrada;
// Variable numerica.
float numero = 0.0;
// Arreglo de caraceres para guardar cadenas.
char buffer[100] = "";
// Variable para guardar una letra.
char letra;
// Variable para los ciclos
int i;
entrada = fopen("./archivo.txt", "r");

// Si no podemos abrir el archivo, terminamos el programa.


if(entrada == NULL) { printf("No se pudo abrir el archivo... \n"); return -1; }

// Con este ciclo leemos la primera linea Gol con su respectivo


// retorno de carro.
for(i = 0; i<4;i++){
letra = fgetc(entrada);
}

// El resultado de usar fgets sera que en buffer quedara guardada


// la linea Hola mundo con su respectivo retorno de carro.
fgets(buffer,100,entrada);

// Ahora leemos Esto es un numero con formato 3.141


fgets(buffer, 100, entrada);

// Con fscanf leemos el numero (caracteres) y lo guardamos como una variable flota.
7.Conclusiónes
Se obtuvo información de la idea principal de este proyectos dando como resultado la
finalización de este.
Agregar a este proyecto que encontramos resultados de una investigación.
Establecer que con este proyecto se podría utilizar como una información de validez
importante para seguir aprendiendo más acerca de la programación.

Es importante que este trabajo se haga con un tiempo de anticipación para no atrasarse y
obtener más información de lo que buscando
8. Recomendaciones

A continuación se enumeran recomendaciones cuya implementación son vitales para


mejorar el manejo de programas en

Entre ellas, por ejemplo, cabe resaltar algunas


Incluir en la práctica de estos programas para un mejor trabajo.
Analizar las posibilidades de seguir realizando más programas.
9.Bibliografia
JOYANES, Luis, Programación en C++, McGraw Hill. 2000
KERNIGHAN, B y Ritchie, D. “El lenguaje de Programación C”, 2a Edición,
Prentice Hall, 1988

También podría gustarte