Necesito ayuda en c++, es para el 29 de noviembre

orestes007
26 de Noviembre del 2004
Necesito ayuda para corregir estos tres programas, son de un cajero, y son para el 25 de noviembre
si me pueden ayudar se los agradecere, aqui estan los codigos

//programa numero 1
# include <iostream.h> debug1
# include <stdio.h>
//maximo numero de cuentas

const int maxaccounts=10;

//describo datos

unsigned accountnumber [maxaccounts];
double balance [maxaccounts];

//prototipos de funciones

void process (unsigned & accountnumber, double & balance);
void init (unsigned & accounnumber, double & balance);

//programa principal

int main(int narg, char*pargs[])
{
int noaccounts=0;
while(noaccounts<maxaccounts)
{
char transactiontype;
cout<<"enter C to continue or X to terminate:";
cin>>transactiontype;
if(transactiontype=='x'||transactiontype=='X')
{
break;
}
if(transactiontype=='c'|| transactiontype=='C')
{
init(accountnumber[noaccounts], balance[noaccounts]);
process(accountnumber[noaccounts], balance[noaccounts]);
noaccounts ++;
}
}
//totales
double total=0;
cout<<”account information: n”;
for(int i=0; i<noaccounts; i++)
{
cout<<”balance for account”
<<accounts number [i]
<< “=”
<< balance [i]
<< “n”;
total+=balance [i];
}
cout<<”balance for all accounts=”
<<total
<< “n”,
return 0 ;
}
void init (unsigned & account number, double & balance)
{
cout<<”enter account number:”;
cin>> accountnumber;
balance= 0.0;
}
void process (unsigned & account number, double & balance)
{
cout<<”enter positive number for deposit. n”
<<”negative for withdrawal.n”;
double transaction;
do
{
cout<< “:”
cin>> transaction;
if(transaction>0)
{
balance+=transaction;
}
if(transaction<0)
{
transaction=-transaction;
if(balance<transaction)
{
cout<<”insufficient founds: balance”
<<balance
<<”.check”
<<transaction
<<”n”;
}
else
{
balance-= transaction;
}
}
}while (transaction!=0);
}


//programa numero2
//burget2
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
const int maxaccounts=10;

//cuenta corriente

class checking
{
public:
checking
{
accountnumber=initializean;
balance=0.0;
}

//funciones de acceso

int accountno()
{
return accountnumber;
}
double acntbalance()
{
return balance;
}
}
//funciones de transaccion

void deposit (double amount)
{
balance+=amount;
}

//solo cabecera por que es muy grande

void withdrawal (double amount);

//funciones de desplegado

void display()
{
cout<<"acount"<<accountnumber
<<"="<<balance<<"n";
protected:
unsigned accountnumber;
double balance;
};

//incluimos de una vez la funcion withdrawal

void::withdrawal (double amount)
{if (balance<amount)
{cout<<"insufficient funds:balance"<<balance
<<".chek"<<amount<<"n";
}
else
{balance-=amount;
if(balance<500.00)
{
balance-=0.20;
}
}
}

//cuenta de ahorro

class savings
{
public:
savings (initialan=0)
{accountnumber=initialan;
balance=0.0;
nowithdrawals=0;
}

//funciones de acceso

int accountno()
{return 0 accountnumber;}
double acnt balance()
{return balance}

//funciones de transaccion

void deposit(double amount)
{balance+=amount;}

//solo cabecera porque es muy grande

void withdrawal(double amount);

//funciones de desplegado

void display()
{cout<<"account"<<accountnumber
<<"=" <<balance
<<"(nowithdrawals="<<nowithdrawals
<<")n";
}
protected:
unsigned accountnumber;
double balance;
int nowithdrawals
};
void savings::withdrawal(double amount)
{if(balance<amount)
{cout<<"insufficient fund:balance"<<balance
<<"withdrawal"<<amount<<"n";
}
else
{if(++nowithdrawals>1)
{balance-=5.0;}
balance-=amount;
}
}

//prototipos de declaracion de funciones

void process(checking*pchecking);
void process(saving*psavings);

//*crea objetos de las cuentas corrientes checking y ahorrosaving*//

checking*chkcnts[maxaccounts];
saving*svgacnts[maxaccounts];

//Programa principal

int main()
{
int nochkaccounts=0; //contador corrientes
int nosvgaccounts=0; //contador ahorros
char accounttype; //tipo S o C
while (i)
{cout<<"Enter S for saving"
<<"C for checking"
<<"X for exit:";
cin>>accounttype;
if (accounttype=='x'||accounttype=='X')
{break;}
switch(accounttype)
{
//cuentas corrientes
case 'c':
case 'C':
if (nochkaccounts<maxaccounts)
{int acnt;
cout<<"Enter accountnumber:";
cin>>acnt
chkacnts[nochkaccounts]=new checking(acnt);
process (chkacnts[nochkaccounts]);
nochkaccounts++;
}
else
{cout<<"No more room for checking accountsn";}
break;
//cuentas de ahorro
case 's'
case 'S'
if (nosvgaccounts<maxaccounts)
{int acnt;
cout<<"Enter accountnumber:";
cin>>acnt
svgacnts[nosvgaccounts]=new savings(acnt);
process (svgacnts[nosvgaccounts]);
nosvgaccounts++;
}
else {cout<<"No more room for savings accountn";}
break;
default;
cout<<"I didn't get that.n";

}
}

//Ahora presenta totales

double chktotal=0;
cout<<"checking accounts:n";
for(int i=0;i<nochkaccounts;i++)
{chkacnts[i]->display();
chktotal+=chkacnts[i]->acntbalance();
}

double svgtotal=0;
cout<<"savings accounts:n";
for(int i=0;i<nosvgaccounts;i++)
{svgacnts[i]->display();
svgtotal+=svgacnts[i]->acntbalance();
}

double total=chktotal+svgtotal;
cout<<"Total for checking accounts="
<<chktotal<<"n"
cout<<"Total for savings accounts="
<<svgtotal<<"n"
cout<<"Total worth="
<<Total<<"n";
return 0;
}

//Entrada de datos para cuentas corrientes

void process(checking*pchecking)
{cout<<"Enter positive number for depositn"
<<"Negative for chek, 0 to termineate";
double transaccion;

do
{cout<<":";
cin>>transaction;

//Deposito

if(transaction>0)
{pchecking->deposit(transaction);}

//retiro

if(transaction<0)
{pchecking->withdrawal(-transaction);}
}while(transaction!=0)
}

//Entrada de datos cuentas de ahorro

void process(savings*psavings)
{cout<<"Enter positive number for depositn"
<<"Negative for withdrawal. 0 to termineate";
double transaccion;

do
{cout<<":";
cin>>transaction;

//Deposito

if(transaction>0)
{psaving->deposit(transaction);}

//retiro

if(transaction<0)
{psavings->withdrawal(-transaction);}
}while(transaction!=0)
}

//programa numero 3

//DEBUG3

#include<iostream.h>
#include<stdlib.h>
#include<ctype.h>
#include<string.h>

class LinkedListObject
{public:
LinkedListObject()
{
//adiciona el objeto al final de la lista
addToEnd:
}
//manipulación de la lista
static LinkedListObject * first ()
{
return pFirst:
}
LinkedListObject * next ()
{
return pNext:
}
void addToEnd();
protected:
//para no tener limitante en el numero de cuentas
static LinkedListObject * pFirst:
LinkedListObject * pNext:
};
//localiza el punto inicial de la lista
LinkedListObject* LinkedListObject :: pFirst = ();
// adiciona el objeto presente a la lista
void LinkedListObject::addToEnd()
{
//adiciona al final de la lista
if(pFirst==0)
{
pFirst=this: //como esta vacia la lista crea el primero
}
else
{
//busca al ultimo elemento de la lista
LinkedListObject * pA;
For (pA= pFirst; pA -> pNext; pA -> pNext)
{
}
pA -> pNext = this: //lo adiciona a la lista
}
pNext=0;
}
//account esta clase incorpora propiedades comunes de las clases chek in y savings,
omitiendose el concepto retiro (withdrawal) que es diferente para ambos

Class Account: public LinkedListObject
{public:
Account :: Account (insigned accNo, double initialBalance= 0.0)
{
//inicializa los datos miembro del objeto
accountNumber=accNo;
balance=inicialBalance;
count++;
}
//funciones de acceso
int accountNo ()
{return accountNumber;}
double acntBalance ()
{return balance;}
static int noAccounts()
{return ccount;}
//lista de funciones relacionadas con las promociones
static Account* first()
{return (Account*) LinkedListObject :: first();}
Account* next ()
{return (Account*) LinkedListObject :: first();}
//funciones de transaccion
void deposit (double amount)
{balance+= amount;}
virtual void withdrawal (double amount) = 0;
// funcion de difusion con cout
void display ()
{
cout<< type ()
<< “account” << accountNumber
<< “=” <<balance
<< “ n” ;
}
virtual char* type () = 0;
protected:
static int count; //numero de cuentas
unsigned countNumber:
double balance;
};
//variable para estadisticas
int Account::count = 0,
// la clase checking contiene propiedades unicas de las cuentas checking
class Checking : public Account
{
public:
Checking::Checking (unsigned accNo, double initialBalance = 0.0);
Account(accNo, initalBalance)
{}
//sobrecarga function virtual
virtual void withdrawal (double amount);
char* type ()
{ return “Checking”;}
};
// withdrawal sobrecarga funcion miembro Account::withdrawal () con cargo de
// 20 cents. Si el balance es menor de 500
void Checking::withdrawal (double amount)
{
if (balance < amount)
{ cout << “insufficient funds: balance” << balance
<< “.Check”
<< “n”;
}
else
{ balance -= amount;
// balance menor de 500 carga 20 cents.
If (balance < 500.00)
{ balance -= 0.20; }
}
}
// la clase Savings contiene propiedades unicas de las cuentas Savings
class Savings

class Savings : public Account
{
public:
Savings::Savings(unsigned accNo, double initialBalance = 0.0);
Account(accNo, initalBalance)
{ noWithdrawals = 0;}
//funciones de transaccion
virtual void withdrawal (double amount);
char* type ()
{ return “Savings”;}
protected:
int noWithdrawals
};
// withdrawal sobrecarga funcion miembro Account::withdrawal () con cargo de
// 5.00 pesos después del primer retiro al mes
void Savings::withdrawal (double amount)
{
if (balance < amount)
{ cout << “insufficient fund: balance” << balance
<< “.whitdrawal” << amount
<< “n”;
}
else
{ if( ++noWithdrawals > 1)
{balance -0 5.00 }
balance -= amount;
}
}

//declaraciones prototipo
unsigned, getAccntNo ();
void process ( Account* pAccount );
void getAccounts ();
void displayResults () ;

//Programa Principal registra las cuentas y da totales
int main (int args, char* pargs[ ] )
{
// lee las cuentas proporcionadas por el usuario
getAccounts ();
// despliega la relacion de cuentas
displayResults () ;
return 0;
}
// carga las especificaciones de las cuentas
void getAccount ()
{
Account* pA;
// ciclo hasta que proporcione “X” o “x”
char accountType; // S o C
while (1)
{
cout<< “Enter S for Savings. ”
<< “C for Checking. X for Exit”
cin >> accountType;

switch (accountType)
{
case ‘c’:
case ‘C’:
pA = new Checking (getAccntNo () );
break;
case ‘s’:
case ‘S’:
pA = new Savings(getAccntNo () );
break;
case ‘x’:
case ’X’:
return:
default:
cout << “I didn´t get that. n”;
}
// ahora procesa el objeto con sus propiedades
process (pA);
}
}
// displayResults despliega las cuentas de la lista
void displayResults ()
{
//ahora presenta totales
double total = 0.0;
cout << “Account Totals: n”;
for (Account* pA = Account::first (); pA; pA ->next())
{
pA-> display();
total += pA -> acntBalance ();
}
cout << “Total worth =” << total<<”n”;
}
//getAccntNo regresa el numero de cuenta
unsigned getAccntNo ()
{ unsigned accntNo;
cout << “Enter account number : ”;
cin >> accntNo;
return accntNo;
}

// entrada de datos para cada cuenta
void process ( Account* pAccount)
{
cout<< “Enter positive number for deposit. ‘n”
<< “negative for withdrawal. 0 to terminate n “;
double transaction;
do
{
cout << “:”:
cin >> transaction:
// deposit
if ( transaction > 0 )
{pAccount ->deposit (transaction);}
// withdrawal
if ( transaction < 0 )
{ pAccount->withdrawal (-transaction);}
} while (transaction != 0);
}



Xian
26 de Noviembre del 2004
Juas !

... y dime que mas deseas ?

Para que te pagan lagarto.

xP


CORBA
26 de Noviembre del 2004
NO JOVEN, ESTOS PROGRAMAS ESTAN EN MI CONCEPTO , MUY DESORDENADOS, SE NOTA QUE LOS BAJO Y TRATO DE DOCUMENTAR LO QUE PUDO, MAS BIEN DEDIQUESE A MANDARME PORNOGRAFIA, POEQUE SI USTED ENCONTRO ESE PROGRAMA SE VE QUE ES UN PERVERTIDO DE LA INTERNET.

[email protected]