1
+ <?php
2
+ // Constantes para los nombres de archivo
3
+ define ('FILENAME ' , 'info_personal.txt ' );
4
+ define ('SALES_FILENAME ' , 'ventas.txt ' );
5
+
6
+ // Función principal
7
+ function main () {
8
+ crearArchivoPersonal ();
9
+ gestionVentas ();
10
+ }
11
+
12
+ // Función para crear y manipular el archivo personal
13
+ function crearArchivoPersonal () {
14
+ // Crear y escribir en el archivo
15
+ $ content = "Nombre: Juan \nEdad: 30 \nLenguaje de programación favorito: PHP " ;
16
+ file_put_contents (FILENAME , $ content );
17
+ echo "Archivo creado y escrito con éxito. \n" ;
18
+
19
+ // Leer y mostrar el contenido
20
+ $ contenido = file_get_contents (FILENAME );
21
+ echo "Contenido del archivo: \n$ contenido \n" ;
22
+
23
+ // Borrar el archivo
24
+ unlink (FILENAME );
25
+ echo "Archivo borrado con éxito. \n" ;
26
+ }
27
+
28
+ // Función para la gestión de ventas
29
+ function gestionVentas () {
30
+ $ salir = false ;
31
+
32
+ while (!$ salir ) {
33
+ echo "\n--- Gestión de Ventas --- \n" ;
34
+ echo "1. Añadir producto \n" ;
35
+ echo "2. Consultar productos \n" ;
36
+ echo "3. Actualizar producto \n" ;
37
+ echo "4. Eliminar producto \n" ;
38
+ echo "5. Calcular venta total \n" ;
39
+ echo "6. Calcular venta por producto \n" ;
40
+ echo "7. Salir \n" ;
41
+
42
+ $ opcion = readline ("Seleccione una opción: " );
43
+
44
+ switch ($ opcion ) {
45
+ case '1 ' :
46
+ anadirProducto ();
47
+ break ;
48
+ case '2 ' :
49
+ consultarProductos ();
50
+ break ;
51
+ case '3 ' :
52
+ actualizarProducto ();
53
+ break ;
54
+ case '4 ' :
55
+ eliminarProducto ();
56
+ break ;
57
+ case '5 ' :
58
+ calcularVentaTotal ();
59
+ break ;
60
+ case '6 ' :
61
+ calcularVentaPorProducto ();
62
+ break ;
63
+ case '7 ' :
64
+ $ salir = true ;
65
+ borrarArchivoVentas ();
66
+ break ;
67
+ default :
68
+ echo "Opción no válida. \n" ;
69
+ }
70
+ }
71
+ }
72
+
73
+ // Función para añadir un producto
74
+ function anadirProducto () {
75
+ $ nombre = readline ("Nombre del producto: " );
76
+ $ cantidad = readline ("Cantidad vendida: " );
77
+ $ precio = readline ("Precio: " );
78
+
79
+ $ linea = "$ nombre, $ cantidad, $ precio \n" ;
80
+ file_put_contents (SALES_FILENAME , $ linea , FILE_APPEND );
81
+ echo "Producto añadido con éxito. \n" ;
82
+ }
83
+
84
+ // Función para consultar productos
85
+ function consultarProductos () {
86
+ if (file_exists (SALES_FILENAME )) {
87
+ $ contenido = file_get_contents (SALES_FILENAME );
88
+ echo "\nProductos: \n$ contenido " ;
89
+ } else {
90
+ echo "No hay productos registrados. \n" ;
91
+ }
92
+ }
93
+
94
+ // Función para actualizar un producto
95
+ function actualizarProducto () {
96
+ $ nombreActualizar = readline ("Nombre del producto a actualizar: " );
97
+ $ nuevaCantidad = readline ("Nueva cantidad vendida: " );
98
+ $ nuevoPrecio = readline ("Nuevo precio: " );
99
+
100
+ $ contenido = file (SALES_FILENAME );
101
+ $ encontrado = false ;
102
+
103
+ foreach ($ contenido as $ key => $ linea ) {
104
+ $ datos = explode (', ' , $ linea );
105
+ if (trim ($ datos [0 ]) === $ nombreActualizar ) {
106
+ $ contenido [$ key ] = "$ nombreActualizar, $ nuevaCantidad, $ nuevoPrecio \n" ;
107
+ $ encontrado = true ;
108
+ break ;
109
+ }
110
+ }
111
+
112
+ if ($ encontrado ) {
113
+ file_put_contents (SALES_FILENAME , implode ('' , $ contenido ));
114
+ echo "Producto actualizado con éxito. \n" ;
115
+ } else {
116
+ echo "Producto no encontrado. \n" ;
117
+ }
118
+ }
119
+
120
+ // Función para eliminar un producto
121
+ function eliminarProducto () {
122
+ $ nombreEliminar = readline ("Nombre del producto a eliminar: " );
123
+
124
+ $ contenido = file (SALES_FILENAME );
125
+ $ encontrado = false ;
126
+
127
+ foreach ($ contenido as $ key => $ linea ) {
128
+ $ datos = explode (', ' , $ linea );
129
+ if (trim ($ datos [0 ]) === $ nombreEliminar ) {
130
+ unset($ contenido [$ key ]);
131
+ $ encontrado = true ;
132
+ break ;
133
+ }
134
+ }
135
+
136
+ if ($ encontrado ) {
137
+ file_put_contents (SALES_FILENAME , implode ('' , $ contenido ));
138
+ echo "Producto eliminado con éxito. \n" ;
139
+ } else {
140
+ echo "Producto no encontrado. \n" ;
141
+ }
142
+ }
143
+
144
+ // Función para calcular la venta total
145
+ function calcularVentaTotal () {
146
+ $ ventaTotal = 0 ;
147
+
148
+ if (file_exists (SALES_FILENAME )) {
149
+ $ contenido = file (SALES_FILENAME );
150
+
151
+ foreach ($ contenido as $ linea ) {
152
+ $ datos = explode (', ' , $ linea );
153
+ if (count ($ datos ) === 3 ) {
154
+ $ ventaTotal += floatval ($ datos [1 ]) * floatval ($ datos [2 ]);
155
+ }
156
+ }
157
+
158
+ echo "Venta total: " . number_format ($ ventaTotal , 2 ) . "\n" ;
159
+ } else {
160
+ echo "No hay ventas registradas. \n" ;
161
+ }
162
+ }
163
+
164
+ // Función para calcular la venta por producto
165
+ function calcularVentaPorProducto () {
166
+ $ nombreProducto = readline ("Nombre del producto: " );
167
+ $ encontrado = false ;
168
+
169
+ if (file_exists (SALES_FILENAME )) {
170
+ $ contenido = file (SALES_FILENAME );
171
+
172
+ foreach ($ contenido as $ linea ) {
173
+ $ datos = explode (', ' , $ linea );
174
+ if (trim ($ datos [0 ]) === $ nombreProducto ) {
175
+ $ ventaProducto = floatval ($ datos [1 ]) * floatval ($ datos [2 ]);
176
+ echo "Venta de $ nombreProducto: " . number_format ($ ventaProducto , 2 ) . "\n" ;
177
+ $ encontrado = true ;
178
+ break ;
179
+ }
180
+ }
181
+
182
+ if (!$ encontrado ) {
183
+ echo "Producto no encontrado. \n" ;
184
+ }
185
+ } else {
186
+ echo "No hay ventas registradas. \n" ;
187
+ }
188
+ }
189
+
190
+ // Función para borrar el archivo de ventas
191
+ function borrarArchivoVentas () {
192
+ if (file_exists (SALES_FILENAME )) {
193
+ unlink (SALES_FILENAME );
194
+ echo "Archivo de ventas borrado con éxito. \n" ;
195
+ } else {
196
+ echo "El archivo de ventas no existe. \n" ;
197
+ }
198
+ }
199
+
200
+ // Ejecutar el programa principal
201
+ main ();
202
+ ?>
0 commit comments