Skip to content

Commit 34c3ad6

Browse files
committed
#11 php
1 parent 5b82663 commit 34c3ad6

File tree

1 file changed

+202
-0
lines changed

1 file changed

+202
-0
lines changed
Lines changed: 202 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,202 @@
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

Comments
 (0)