
Flujos de archivos
Publicado por CESAR (2 intervenciones) el 21/11/2015 21:27:46
Buenas tardes, me gustaría saber de que manera puedo implementar las cuatro funciones (capturar, mostrar, buscar y modificar) con los flujos de archivos, agrego mi código.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
#include <iostream>
#include <fstream>
#include <conio.h>
#include <windows.h>
#include <stdio.h>
#include <string.h>
#include <cstdlib>
#define tam 6
int opc, nuec, tam1, tams=0;
using namespace std;
class estudiante{
public:
string nombre, telefono;
void capturar();
void mostrar();
void buscar();
void modificar();
}arreglo[tam];
void estudiante::capturar(){
cout<<"\t\t\tCAPTURANDO\n"<<endl;
cout<<"Capturando estudiante #"<<tam1+1<<endl;
cout<<"\n"<<endl;
cout<<"ingresa el nombre del estudiante #"<<tam1+1<<endl;
fflush(stdin);
getline(cin, arreglo[tams+tam1].nombre);
cout<<"Ingresa el numero de casa del estudiane #"<<tam1+1<<endl;
fflush(stdin);
getline(cin, arreglo[tams+tam1].telefono);
}
void estudiante::mostrar()
{
fflush(stdin);
cout<<"\t\t\tMOSTRANDO\n"<<endl;
cout<<"\t\tDatos de alta del estudiante #"<<tam1+1<<"\n"<<endl;
cout<<"Nombre: "<<arreglo[tam1].nombre<<endl;
cout<<"Telefono: "<<arreglo[tam1].telefono<<endl;
cout<<"--------------------------------------------------"<<endl;
}
void estudiante::buscar(){
fflush(stdin);
cout<<"\t\t\tMOSTRANDO\n"<<endl;
cout<<"\t\tDatos de alta del estudiante #"<<tam1<<"\n"<<endl;
cout<<"Nombre: "<<arreglo[tam1-1].nombre<<endl;
cout<<"Telefono: "<<arreglo[tam1-1].telefono<<endl;
cout<<"--------------------------------------------------\n"<<endl;
}
void estudiante::modificar(){
cout<<"\t\t\tMODIFICAR\n"<<endl;
cout<<"Ingresa la ubicacion de memoria a modificar del registro [1|2|3|4|5|6]"<<endl;
cin>>tam1;
if(tam1>=1&&tam1<=nuec){
fflush(stdin);
system("cls");
cout<<"\t\t\tRegistro a modificar\n"<<endl;
cout<<"\t\tViejos datos de alta del estudiante #"<<tam1<<"\n"<<endl;
cout<<"Nombre: "<<arreglo[tam1-1].nombre<<endl;
cout<<"Telefono: "<<arreglo[tam1-1].telefono<<endl;
cout<<"--------------------------------------------------\n"<<endl;
cout<<"Presione enter\n"<<endl;
system("pause");
cout<<"\n\t\tMODIFICANDO REGISTRO ["<<tam1<<"] ingrese los nuevos datos"<<endl;
cout<<"------------------------------------------------------\n"<<endl;
cout<<"\t\t\tCAPTURANDO\n"<<endl;
cout<<"Modificando estudiante #"<<tam1<<endl;
cout<<"COMENCEMOS :)"<<endl;
cout<<"ingresa el nuevo nombre del estudiante #"<<tam1<<endl;
fflush(stdin);
getline(cin, arreglo[tam1-1].nombre);
cout<<"Ingresa el nuevo Telefono del estudiane #"<<tam1<<endl;
fflush(stdin);
getline(cin,arreglo[tam1-1].telefono);
system("cls");
system("pause");
cout<<"\n\n"<<endl;
cout<<"\t\tMOSTRANDO NUEVOS DATOS DEL REGISTRO["<<tam1<<"] "<<endl;
cout<<"Nombre: "<<arreglo[tam1-1].nombre<<endl;
cout<<"Telefono: "<<arreglo[tam1-1].telefono<<endl;
cout<<"--------------------------------------------------\n"<<endl;
}
else
{
cout<<"ACHTUNG"<<endl;
cout<<"Esa ubicacion de memoria no existe"<<endl;
}
}
int main() //menu
{
estudiante estd;
do
{
system("pause");//pausar
system("cls");//limpiar pantalla
system("color f0");//pantalla blanca y letra negra
cout<<"Hola bienvenido a la base de datos de los estudiantes, Que deseas hacer"<<endl;
cout<<"1) capturar"<<endl;
cout<<"2) mostrar"<<endl;
cout<<"3) buscar"<<endl;
cout<<"4) modificar"<<endl;
cout<<"5) salir"<<endl;
cin>>opc;
cout<<"\n"<<endl;
system("cls");
switch(opc)
{
case 1:
system("cls");//limpiar pantalla
system("color 0f");//pantalla negra y letra blanca
cout<<"Bienvenido solo puedes capturar hasta "<<tam<<" estudiantes"<<endl;
cout<<"Cuantos estudiantes vas a capturar?\n"<<endl;
cin>>nuec;
system("cls");
if(nuec<=tam)
{
for(tam1=0; tam1<nuec; tam1++){
estd.capturar();
}
tams=tams+nuec;
}
else
{
system("cls");
system("color f0");//pantalla blanca y letra negra
cout<<"ACHTUNG!!"<<endl;
cout<<"Solo puede ingresar hasta ["<<tam<<"] estudiantes"<<endl;
}
break;
case 2:
system("cls");
system("color 0f");//pantalla negra y letra blanca
for(tam1=0;tam1<tam;tam1++){
estd.mostrar();
}
break;
case 3:
system("color 0f");//pantalla negra y letra blanca
cout<<"\t\t\tBUSCAR\n"<<endl;
cout<<"Ingrese el registro en el que se guardo el estudiante (1,2,3,4,5 o 6)"<<endl;
cin>>tam1;
if(tam1>=1&&tam1<=nuec){
system("cls");
estd.buscar();
}
else {
system("cls");
system("color f0");//pantalla blanca y letra negra
cout<<"Ese registro no existe o esta vacio"<<endl;
}
break;
case 4:
system("cls");
system("color 0f");//pantalla negra y letra blanca
estd.modificar();
break;
case 5:
system("cls");
system("color 0f");//pantalla negra y letra blanca
cout<<"Auf Wiedersehen!"<<endl;
return 0;
break;
default:
system("cls");
system("color 0f");//pantalla negra y letra blanca
cout<<"ACHTUNG"<<endl;
cout<<"\n error, opcion no valida \n"<<endl;
cout<<"Vuelve a intentarlo"<<endl;
break;
}
}
while(opc!=5);
}
Valora esta pregunta


0