Código C++:
Ver original
#include <iostream> #include <iomanip> #include <fstream> #include <cstdlib> using namespace std; int main() { int opcion; //variable para escoger el case en el swith char palabras[3][100]; int i=0; int contador; int posicion; //char de 100 elementos para guardar cualquier palabra string respuesta; //pertenece al while while(respuesta!="N" && respuesta!="n") { cout<<"Digite la opcion#1, para escribir en el archivo de lectura!!!"<<endl; cout<<"Digite la opcion#2, para mostrar el archivo de lectura!!!"<<endl; cout<<"Digite la opcion#3, para mostrar la matriz!!!"<<endl; cout<<"Digite 4, para cambio"<<endl; cout<<endl; cout<<"Que opcion desea realizar?"<<endl; cin>>opcion; ifstream ArchivoI2("i.dat", ios::in); ArchivoI2>>i; switch(opcion) { case 1: { if(i<3) { ofstream ArchivoLectura("Lectura.dat",ios::binary|ios::app ); //el oftream abre o crea un archivo de escritura, el ios::out abriera el archivo y escrbiera algo nuevo en el ofstream ArchivoContador("Contador.dat", ios::out); ofstream ArchivoI("i.dat", ios::out); if(!ArchivoLectura) //if por si el archivo no existe { cerr<<"No se pudo abrir el archivo"<<endl; cout<<endl; } cout<<"Ingrese algo en letras:"<<endl; //se ingresa cualquier palabra cin>>palabras[i]; ArchivoLectura<<palabras[i]<<endl; //la palabra pasa al archivo externo contador=i; i++; ArchivoContador<<contador; ArchivoI<<i; } else { cout<<"Memoria Llena"<<endl; cout<<endl; } } break; case 2: { ifstream ArchivoLectura2("Lectura.dat", ios::in); //ifstream sirve para mostrar el archivo, el ios::in lo muestra en consola ifstream ArchivoContador2("Contador.dat", ios::in); if(!ArchivoLectura2) //if por si no existe el archivo { cerr<<"No se pudo abrir el archivo!!"<<endl; cout<<endl; } ArchivoContador2>>contador; for(int i=0;i<(contador+1);i++) { ArchivoLectura2>>palabras[i]; //se mostrara lo que hay en el archivo anterior } for(int i=0;i<(contador+1);i++) { cout<<palabras[i]<<endl; } } break; case 3: { for(int i=0;i<(contador+1);i++) { cout<<palabras[i]<<endl; } } break; case 4: { cout<<"Que posicion desea mostrar?"<<endl; cin>>posicion; cout<<"La palabra es: "<<palabras[posicion]<<endl; cout<<"Escriba la nueva palabra:"<<endl; cin>>palabras[posicion]; ofstream ArchivoLectura("Lectura.dat", ios::app|ios::binary); ArchivoLectura.seekp(posicion,ios::beg); ArchivoLectura.write(palabras[posicion], sizeof(posicion)); } break; } cout<<"Desea realizar otra accion s/n?"<<endl; cin>>respuesta; } return 0; }