Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- /*
- * File: main.cpp
- * Author: Renzo C
- * scanf(%*d) Salta todos los espacios
- * Created on 8 de agosto de 2016, 04:14 PM
- */
- #include <cstdlib>
- #include <cstdio>
- void printSaldoFinal (double n){
- if (n < 0){
- n=n*(-1);
- printf("Saldo final: %10c (%5.2lf) \n\n", ' ',n);
- }else
- printf("Saldo final: %20.2lf \n\n", n);
- }
- int main(int argc, char** argv) {
- double saldoIni;
- int monto;
- int fin;
- int totalDep, totalRet, cantRet, cantDep;
- double promDep, promRet;
- char finNum;
- bool flagfecha;
- while (1) {
- char c;
- printf("Cuenta No: ");
- while (1) { //Lee el codigo de la cuenta hasta encontrar un salto de linea
- scanf("%c",&c);
- if (c == ' ') break;
- putchar(c);
- }
- putchar('\n');
- scanf("%*d"); //Salta todos los espacios
- //printf("\n");
- printf("Cliente: ");
- while (1) { //Lee el nombre de la cuenta hasta encontrar un salto de linea
- scanf("%c",&c);
- if (c == ' ') break;
- putchar(c);
- }
- putchar('\n');
- scanf("%lf", &saldoIni);
- printf("Saldo inicial: %-10.2lf\n", saldoIni);
- //scanf("%*d");
- printf("Movimientos: \n");
- while (1){ //Leera hasta no encontrar espacios
- c = getchar();
- if (c != ' ') break;
- }
- totalDep = totalRet = cantDep = cantRet = 0;
- while (1) {
- if (c<='9'&& c>='0') {
- putchar(c);
- while (1) { //Leer la fecha de la cuenta
- c = getchar();
- if (c == ' ') break;
- putchar(c);
- flagfecha = 1;
- }
- } else
- break;
- while (1) {
- scanf("%*d");
- //printf("%1c", ' ');//putchar('\n');
- c = getchar();
- if (c != 'D' && c != 'R') { //Si no es ni D ni R saldra del bucle y verificara de nuevo si hay fecha
- break;
- }
- //putchar(c);
- while (fin = scanf("%d%c", &monto,&finNum)) {
- if (fin == EOF) break;
- if (finNum != '/'){
- if (c == 'R'){
- if (flagfecha)
- printf("%30c(%d)\n",' ', monto);
- else
- printf("%40c(%d)\n",' ', monto);
- cantRet++;
- totalRet += monto;
- flagfecha = 0;
- }
- if (c == 'D'){
- if (flagfecha)
- printf("%30c%d\n",' ', monto);
- else
- printf("%40c%d\n",' ', monto);
- cantDep++;
- totalDep += monto;
- flagfecha = 0;
- }
- }
- else{
- printf("\n"); //Estamos en una fecha debe haber salto de linea
- break;
- }
- }
- if (finNum == '/'){ //Si leyo parte de una fecha la termina de imprimir
- if (monto<10) printf("0%d/",monto);
- else
- printf("%d/",monto);
- c = getchar();
- break;
- }
- if (finNum == '\n'){
- printf("\n");
- break;
- }
- }
- if (fin == EOF) break;
- }
- printf("Resumen: \n");
- printf("%-15s%-10s%10d\n","Depositos", "Total:", totalDep);
- promDep = (double) totalDep / cantDep;
- printf("%-15s%-10s%10.2lf\n"," ","Promedio",promDep);
- printf("%-15s%-10s%10d\n","Retiros", "Total:", totalRet);
- promRet = (double) totalRet / cantRet;
- printf("%-15s%-10s%10.2lf\n"," ","Promedio",promRet);
- //printf("Saldo final: %20.2lf \n\n", saldoIni + totalDep-totalRet);
- printSaldoFinal(saldoIni+totalDep-totalRet);
- if (fin == EOF) break;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement