Bueno, el operador flecha se usa cuando se accede a las variables de un apuntador, osea, por referencia; y se usa el operador punto, cuando es por valor.
Código:
sal->saldo = sal->saldo + inc;
Se usa 2 veces para asignar el valor actual, mas el incremento.
Yo compile el programa y lo corri y no me produjo "segmenation fault".
Aqui esta la salida:
Código:
[scumbag@bodysnatcher Temporal]$ ./a.out
Nombre: e
Saldo: 1
Nombre: r
Saldo: 2
Nombre: t
Saldo: 3
A--> Aumentar el saldo.
D--> Decrementar el saldo.
S--> Salir.
A
Numero del cliente: 1
Incremento del saldo: 23
A--> Aumentar el saldo.
D--> Decrementar el saldo.
S--> Salir.
S
El saldo del cliente 0: 1.00
El saldo del cliente 1: 25.00
El saldo del cliente 2: 3.00
Si pudieras mandar los pasos que sigues para producir el "segmentation fault".
Nota:
La declaración de las funciones protipo van fuera del main y con la misma "firma" que con las que seran usadas posteriormente.
Asi:
Código:
void aumento(struct cuenta *sal);
void decremento(struct cuenta *sal);
Justo despues de que declaras la estructura.