-
Notifications
You must be signed in to change notification settings - Fork 1
/
Escrever.hs
45 lines (28 loc) · 2.49 KB
/
Escrever.hs
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
37
38
39
40
41
42
43
44
45
module Escrever where
import System.IO
import Data.Time
escrever cod nome telefone [] total valorPago troco listaAuto = putStr ""
escrever cod nome telefone ((codigo,pu,qtd,subtotal):xs) total valorPago troco listaAuto = do
amd <- (getCurrentTime)
arquivo <- openFile "factura_clientes.txt" AppendMode
arquivo1 <- openFile "factura_diario.txt" AppendMode
arquivo2 <- openFile "factura_todas.txt" AppendMode
hPutStr arquivo ((show cod)++","++nome++","++(show codigo)++","++(retornaNome listaAuto codigo)++","++(show pu)++","++(show qtd)++","++(show subtotal)++","++(show total)++","++(show valorPago)++","++(show troco)++","++show(retornaTipo listaAuto codigo)++","++show(retornaMarca listaAuto codigo)++","++show(retornaCategoria listaAuto codigo)++","++show telefone++","++(take 10 (show amd))++"|")
hPutStr arquivo1 ((show cod)++","++nome++","++(show codigo)++","++(retornaNome listaAuto codigo)++","++(show pu)++","++(show qtd)++","++(show subtotal)++","++(show total)++","++(show valorPago)++","++(show troco)++","++show(retornaTipo listaAuto codigo)++","++show(retornaMarca listaAuto codigo)++","++show(retornaCategoria listaAuto codigo)++","++show telefone++","++(take 10 (show amd))++"|")
hPutStr arquivo2 ((show cod)++","++nome++","++(show codigo)++","++(retornaNome listaAuto codigo)++","++(show pu)++","++(show qtd)++","++(show subtotal)++","++(show total)++","++(show valorPago)++","++(show troco)++","++show(retornaTipo listaAuto codigo)++","++show(retornaMarca listaAuto codigo)++","++show(retornaCategoria listaAuto codigo)++","++show telefone++","++(take 10 (show amd))++"|")
hFlush arquivo
hClose arquivo
hFlush arquivo1
hClose arquivo1
hFlush arquivo2
hClose arquivo2
putStr ("")
escrever cod nome telefone xs total valorPago troco listaAuto
retornaNome ((c,nome,_,_,_,_):xs) cod | (show c) == (show cod) = nome
| otherwise = retornaNome xs cod
retornaCategoria ((c,_,_,categoria,_,_):xs) cod | (show c) == (show cod) = show categoria
| otherwise = retornaCategoria xs cod
retornaMarca ((c,_,_,_,marca,_):xs) cod | (show c) == (show cod) = show marca
| otherwise = retornaMarca xs cod
retornaTipo ((c,_,_,_,_,tipo):xs) cod | (show c) == (show cod) = show tipo
| otherwise = retornaTipo xs cod