/*#include<iostream>
using namespace std;
struct estructura_amigo {
char nombre[30];
char apellido[30];
char telefono[10];
int edad;
};
struct estructura_amigo amigo = {
"junajo",
"lopez",
"592-0483",
30
};
int suma(struct estructura_amigo arg_amigo) { //se cambia el nombre de la variable para que no me afecte en la estructura amigo y poder operar
return arg_amigo.edad + 20;
}
int main() {
cout << amigo.apellido << " tiene";
cout << amigo.edad <<" años";
cout << "y dentro de 20 años tendra\n" << suma(amigo));
system("pause");
}*/
//****************************************************
/*
#include<iostream>
using namespace std;
struct estructura_amigo {
char nombre[30];
char apellido[30];
char telefono[10];
int edad;
};
struct estructura_amigo amigo = {
"junajo",
"lopez",
"592-0483",
30
};
int suma(struct estructura_amigo *arg_amigo) { //punteros
return arg_amigo->edad + 20;
}
int main() {
cout << amigo.apellido << " tiene";
cout << amigo.edad << " años";
cout << "y dentro de 20 años tendra\n" << suma(&amigo);
system("pause");
}*/
//**************************************************
/*
#include<iostream>
#include<fstream> //operaciones de archivos
using namespace std;
int main()
{
ofstream archivocliente("cuentas.dat", ios::out); //funcion de programa: crear archivo, variable acceso archivo, ios::out crear y almacenar
cout << "Introduzca el numero de cuenta, nombre y saldo:\n"<<"introduza fin de archivo para terminar. \n";
int cuenta;
char nombre[30];
float saldo;
while (cin >> cuenta >> nombre >> saldo)
{
archivocliente << cuenta << " " << nombre << " " << saldo << "\n"; //escribir dentro del archivo: cout... almacena n registros
cout << "datos para otro registro \n";
}
system("pause");
}*/
//*************************************************
#include<fstream>
#include<iostream>
using namespace std;
void registrar() {
char nombre[30], genero[10], dec;
int edad;
ofstream entrada; //almacenar flujo de entrada de datos
entrada.open("estudiantes.txt", ios::out | ios::app); //va abrir un archivo en caso de que no lo encuentre lo va a crear
//y en caso de que lo encuentre no va amodificar su contenido
//verificar que el archivo se abrio correctamente
if (entrada.fail()) {
cout << "ERROR AL ABRIR EL ARCHIVO ";
}
else {
do {
system("cls");
cout << "DATOS A REGISTRAR \n";
cout << "INGRESE EL NOMBRE \n";
cin >> nombre;
cout << "INGRESE EL GENERO \n";
cin >> genero;
cout << "INGRESE LA EDAD \n";
cin >> edad;
//almacena registros con el flujo
entrada << nombre << " " << genero << " " << edad << endl;
cout << "DESEA REGISTRAR OTRO ESTUDIANTE? \n";
cin >> dec;
} while (dec != 'N');
//en caso de no generar mas registros se cierra el archivo para guardar todos los cambios
entrada.close();
}
}
void mostrar() {
char nombre[10], genero[10];
int edad;
ifstream salida;
salida.open("estudiantes.txt", ios::in);
if (salida.fail()) {
cout << "FALLO AL ABRIR \n";
}
else {
while (!salida.eof()) {
salida >> nombre >> genero >> edad;
cout << nombre <<" ";
cout << genero <<" ";
cout << edad << endl;
}
system("pause");
}
salida.close();
}
int main() {
char dec;
do {
system("cls");
cout << "A. Registrar \n";
cout << "B. Mostrar \n";
cout << "E. Salir \n";
cin >> dec;
switch (dec) {
case 'A':
{
registrar();
break;
}
case 'B':
{
mostrar();
break;
}
}
} while (dec != 'E');
}