🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #16166

Script para llevar la contabilidad domestica

#16166
From: Esteban
Date: Sat, 06 May 2000 00:00
398 lines
8620 bytes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Que nadie se r�a que no tengo ni p.i de programaci�n, pero he confeccionado un
peque�o programilla con el bash de linux para llevar las cuentas de casa.

Lo posteo aqu� por si alguien se le ocurre algo para mejorarlo/depurarlo

- ------------------PRINCIPIO------------------

#!/bin/bash

# PROGRAMA DE CONTABILIDAD DOMESTICA
# Creado por Esteban Navarro (scandisk)

mkdir -p ~/conta

sort ~/conta/dat > ~/conta/temp # ordena alfab�ticamente
cat ~/conta/temp > ~/conta/dat
	clear
echo ""
echo ""
echo ""
echo "       _________________________________________________________________"
echo "      |                                                                 |"
echo "      |           C O N T A B I L I D A D  D O M � S T I C A            |"
echo "      |                                                                 |"
echo "      |                       MEN� DE OPCIONES                          |"
echo "      |                       ================                          |"
echo "      |                                                                 |"
echo "      |           A.- ALTA                      C.- CONSULTA            |"
echo "      |                                                                 |"
echo "      |           M.- MODIFICAR                 B.- BAJA                |"
echo "      |                                                                 |"
echo "      |                      CM.- CONSULTA MULTIPLE                     |"
echo "      |                                                                 |"
echo "      |                                                                 |"
echo "      |                                                                 |"
echo "      |                              Q.- QUIT                           |"
echo "      |_________________________________________________________________|"
echo ""                    
echo ""
echo ""
echo -n "            Introduce una opci�n: "
echo -n""
read opcion

if test $opcion = a
then

# MEN� DE ALTA

clear
echo ""
echo ""
while :
do

	c=`fgrep -i "Registro" /home/scandisk/conta/dat | tee /dev/tty | wc -l`
	registro=`expr 1 + $c`

clear
echo ""
echo "                                   MEN� DE ALTA"
cal -m
echo ""
echo "         Registro : $registro"
echo ""
echo -n "         Fecha : "  
echo -n ""
read fecha
clear
echo ""
echo ""
echo "         Registro : $registro"
echo ""
echo "         Fecha : $fecha"
echo ""
echo -n "         Concepto : "
echo -n ""
read concepto
clear
echo ""
echo ""
echo "         Registro : $registro"
echo ""
echo "         Fecha : $fecha"
echo ""
echo "         Concepto : $concepto"
echo ""
echo -n "         Lugar : "
echo -n ""
read lugar
clear
echo ""
echo ""
echo "         Registro : $registro"
echo ""
echo "         Fecha : $fecha"
echo ""
echo "         Concepto : $concepto"
echo ""
echo "         Lugar : $lugar"
echo ""
echo -n "         Importe : "
echo -n ""
read importe
clear
echo ""
echo ""
echo "         Registro : $registro"
echo ""
echo "         Fecha : $fecha"
echo ""
echo "         Concepto : $concepto"
echo ""
echo "         Lugar : $lugar"
echo ""
echo "         Importe : $importe"
echo ""
echo -n "         Estado : "
echo -n ""
read estado
clear
echo ""
echo ""
echo "         Registro : $registro"
echo ""
echo "         Fecha : $fecha"
echo ""
echo "         Concepto : $concepto"
echo ""
echo "         Lugar : $lugar"
echo ""
echo "         Importe : $importe"
echo ""
echo "         Estado : $estado"
echo ""
echo ""
echo ""
echo -n "      �Otro? s/n :  "
echo -n ""
echo "     Registro: $registro , $fecha , $concepto , $lugar , $importe , \n
$estado" >> ~/conta/dat
		
read sn

	if [ "$sn" != "s" ]
	then
exec conta
    fi
done




	else if test $opcion = c
	then


	# MEN� CONSULTA


while :
do


	clear
	echo ""
	echo "                            MEN� CONSULTA"
	echo ""
	echo -n "              B�squeda : "
	echo -n""
	read busca
	grep -i $busca ~/conta/dat > ~/conta/temp
	echo ""
	echo ""
	
	
	
	typeset -i num
	IFS=","
	let total=0
	grep -i "Registro: " ~/conta/temp |(\
	while read foo bar pep cdr num rtp
	do
	echo "$num"
	let total=$total+$num
	done
	clear
	echo ""
	echo ""
	cat ~/conta/temp
	echo ""
	echo ""
	echo "                                                  Total: $total"
	)
	
	
	echo ""
	echo "     �Quieres consultar otro? s/n :"
	echo -n ""
read sn

if [ "$sn" != "s" ]
then
exec conta
fi
done



else if test $opcion = m
then

# MEN� MODIFICAR

while :
do

clear
echo ""
echo ""
echo "                           OPCION MODIFICAR"
echo ""
echo -n "              Registro a modificar : "
echo -n ""

read num

grep "Registro: $num" ~/conta/dat > ~/conta/temp
echo ""
cat ~/conta/temp
echo ""
echo -n "     �Es este el que quieres modificar? s/n : "
echo -n ""
read sn
if [ "$sn" != "s" ]
then
exec conta
fi

egrep -v "Registro: $num" ~/conta/dat > ~/conta/temp
cat ~/conta/temp > ~/conta/dat


# MEN� DE ALTA, DESPUES DE MODIFICAR

echo ""
echo "         Registro a Modificar : $num "
echo ""
echo -n "         Fecha : "
echo -n ""
read fecha
echo ""
echo -n "         Concepto : "
echo -n ""
read concepto
echo ""
echo -n "         Lugar : "
echo -n ""
read lugar
echo ""
echo -n "         Importe : "
echo -n ""
read importe
echo ""
echo -n "         Estado : "
echo -n ""
read estado
echo "     Registro: $num , $fecha , $concepto , $lugar , $importe , \n
$estado" >> ~/conta/dat 
echo ""
echo "             <MODIFICACION EJECUTADA>"
echo ""
echo "             Pulse una tecla para continuar...."
read pausa
exec conta
done



else if test $opcion = b
then


# MEN� BAJA

clear
echo ""
echo ""
echo "                           OPCION BAJA"
echo ""
echo -n "              Registro para dar de BAJA  : "
echo -n ""
read num

grep "Registro: $num" ~/conta/dat >> ~/conta/bajas
grep "Registro: $num" ~/conta/dat > ~/conta/temp
echo ""
echo ""

egrep -v "Registro: $num" ~/conta/dat > ~/conta/temp

cat ~/conta/temp > ~/conta/dat

echo "     Registro: $num" >> ~/conta/dat

echo "              HA SIDO DADO DE BAJA EL REGISTRO N� $num"
echo ""
echo -n "              Enter para continuar...."
echo -n ""

read pausa

exec conta


else if test $opcion = cm
then



while :
do

clear

echo ""
echo ""
echo "                              MEN� CONSULTAS M�LTIPLES"
echo ""
echo ""
echo -n "                Primer Par�metro : "
echo -n ""
read primer
echo ""
echo -n "                Segundo Par�metro : "
echo -n ""
read segundo
grep -i $primer ~/conta/dat  > ~/conta/temp
grep -i $segundo ~/conta/temp > ~/conta/temp2
echo ""
echo ""
cat ~/conta/temp2
echo ""
echo "" 

	echo "     �Quieres consultar otro? s/n :"
	echo -n ""
read sn

if [ "$sn" != "s" ]
then
exec conta
fi
done





else if test $opcion = q
then
clear
echo ""
echo ""
echo "                         FIN DEL PROGRAMA"
echo ""
echo "              Creado por Esteban Navarro -scandisk-"
echo ""
echo ""

exit

fi
fi
fi
fi
fi
fi
exit

- -----------------------------------FIN---------------------------------

- -- 
Esteban Navarro (User Linux 132409)
Fondos Escritorio: http://www.ctv.es/USERS/scandisk
Clave P�blica E-Mail asunto: PGPKEY

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.1 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE5FFHva3aqF90Ua+oRAmq7AKCtqS16SEkI55yMSHE0bxb9SEjsCACffQfx
pbNkttsMxRFwHBYGPDInn3U=
=12yT
-----END PGP SIGNATURE-----
Technical Details
Message-ID: <slrn8h8kfk.38c.scandisk@localhost.localdomain>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,c1e5172522caf03c,start
X-Google-Attributes: gidf86c8,public
From: scandisk@ctv.es (Esteban)
Subject: Script para llevar la contabilidad domestica
Date: 2000/05/06
Message-ID: <slrn8h8kfk.38c.scandisk@localhost.localdomain>
X-Deja-AN: 620016804
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset=iso-8859-1
X-Complaints-To: abuse@news.wanadoo.es
X-Trace: m2newsread.uni2.es 957632765 62.36.116.116 (Sat, 06 May 2000 19:06:05 MET DST)
Organization: Wanadoo Usenet News - Visita http://www.wanadoo.es/
Mime-Version: 1.0
User-Agent: slrn/0.9.6.2 (Linux)
Reply-To: scandisk@ctv.es
NNTP-Posting-Date: Sat, 06 May 2000 19:06:05 MET DST
Newsgroups: es.comp.os.linux.programacion