PHP - PHP - ayudaaa con ejercicio de php

 
Vista:
sin imagen de perfil

PHP - ayudaaa con ejercicio de php

Publicado por daniel (12 intervenciones) el 04/07/2016 21:32:24
buenas a toda la comunidad de programadores, necesito su mas pronta ayuda posible necesito hacer un programa en php que solo haga lo siguiente:

a) cuantas transacciones de cada tipo hay por cliente?
b)qque cliente tiene mayor numero de transacciones?
c) que cliente tiene mayor saldo con el menor numero de transacciones?
d) quien es el cliente mas antiguo?

me estan dando los siguientes archivos con que hare eso:



archivo clientes.txt.

numero de cuenta; nombre; fecha de apertura; tipo de cuenta

345812B; luis; 24/03/2013; A
7814545x;luis; 24/5/2014; C
14557q1;daniel;7/5/2010;C
145454B; daniel;7/5/2005;A

en este archivo el cliente puede tener cuantas cuenta quiera, pero se aperturaron diferentes fechas, la A significa cuenta ahorro y la c cuenta corriente;

Archivo transaciones.txt

numero de cuenta; monto; operacion; fecha; destino

345812B; 5430;D;1/05/2015;0
7814545; 3400;R;3/02/2015;0
14557q1;2568;D;4/5/2015;0
145454B;4000;T;5/5/2015;345812B


necesito un programa que realice todo eso porfavor agradeceria su ayuda


y hasta ahora solo tengo esto
//----------------------------------------------------------------------------------------------------------------------------------------------

<?php
$c=fopen ("clientes.txt","r") or die ("error");

while(!feof($c)){
$lc=fgets($c);
if (trim($lc)!=""){

$vc=explode(";",$lc);

echo "<b>".$vc[0]." - ".$vc[1]." - ".$vc[2]." - ".$vc[3]."</b><br>";
}
}

//----------------------------------------------
echo "<br>";

$t=fopen ("transa.txt","r") or die ("error");
while(!feof($t)){
$lt=fgets($t);
if(trim($lt)!=""){
$vt=explode(";",$lt);
//if(trim($vt[0])==$vc[0]){
echo "<b>".$vt[0]." - ".$vt[1]." - ".$vt[2]." - ".$vt[3]." - ".$vt[4]."</b><br>";

}
}

//}
fclose ($t);
fclose ($c);
?>

//--------------------------------------------------------------------------------------------------------------------------------------------
necesito que solo me ayuden con esto

a) cuantas transacciones de cada tipo hay por cliente?
b)qque cliente tiene mayor numero de transacciones?
c) que cliente tiene mayor saldo con el menor numero de transacciones?
d) quien es el cliente mas antiguo?


gracias por su pronta ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

PHP - ayudaaa con ejercicio de php

Publicado por kip (877 intervenciones) el 05/07/2016 01:20:18
Hola basandome en lo que pides he hecho la solucion al apartado b)qque cliente tiene mayor numero de transacciones?, quizas puedas continuar con lo demas por tu cuenta.

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
<?php
$clientes_txt = file('clientes.txt',FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$transacciones_txt = file('transacciones.txt',FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
 
$campos = explode(';',str_replace(' ', '',$clientes_txt[0]));
 
$campos2 = explode(';',str_replace(' ', '',$transacciones_txt[0]));
 
for ($i=0,$s=count($clientes_txt);$i<($s-1);$i++){
	$fila[] = explode(';', $clientes_txt[$i+1]);
	$fila[$i]=array_map('trim',$fila[$i]);
}
for ($i=0,$s=count($transacciones_txt);$i<($s-1);$i++){
	$fila2[] = explode(';', $transacciones_txt[$i+1]);
	$fila2[$i]=array_map('trim',$fila2[$i]);
}
 
for ($i=0,$s=count($fila);$i<$s;$i++){
	$clientes['Cliente'.($i+1)] = array_combine($campos, $fila[$i]);
}
for ($i=0,$s=count($fila2);$i<$s;$i++){
	$transacciones['Transaccion'.($i+1)] = array_combine($campos2, $fila2[$i]);
}
 
$cli_trans = '';
 
for ($i=1,$s=count($transacciones);$i<($s+1);$i++){
	if (in_array($clientes['Cliente'.$i]['numerodecuenta'], $transacciones['Transaccion'.$i])){
		$cli_trans[] = $clientes['Cliente'.$i]['nombre'];
	}
}
 
$maxTrans = max(array_count_values($cli_trans));
$maxIndex = array_search(max(array_count_values($cli_trans)), array_count_values($cli_trans));
echo '<b>Cliente con maximas transacciones </b><br>';
echo('Cliente: '.$maxIndex.' Transacciones: '. $maxTrans);

Archivos txt
Screenshot_263

Resultado
Screenshot_262

Espero te sirva.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

PHP - ayudaaa con ejercicio de php

Publicado por daniel (12 intervenciones) el 05/07/2016 03:56:34
amigo el programa no me corre estoy utilizando windows, el programa geany y wamp

me dice esto
Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0

( ! ) Fatal error: Unknown: Failed opening required 'C:/wamp/www/var/archivosssjr/sin título1.php' (include_path='.;C:\php\pear') in Unknown on line 0

una pregunta que hace ese codigo en si?

esa es la unica manera de hacerlo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

PHP - ayudaaa con ejercicio de php

Publicado por xve (6935 intervenciones) el 05/07/2016 12:15:37
No utilices acentos ni eñes en el nombre de tus archivos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar