Dev - C++ - Problemas en turbo C++

 
Vista:

Problemas en turbo C++

Publicado por Patricio N. Ramirez (1 intervención) el 20/05/2009 21:21:23
Buenas gente, tengo una duda, recien comienzo con esto de Turbo c++, tengo que hacer un programita para la facu pero tengo un problema con el while en el programa principa, resulta que se me queda ciclando todo el tiepo y no puedo salir del ciclo. Mi condición de salida es !="zzz" pero cuando cargo esos valores en la variable que esta dentro de la estructura los toma como validos y sigue ciclando, les paso el codigo a ver si me pueden ayudar. Gracias.
include <iostream.h>
#include <conio.h>
#include <string.h>

typedef char str30[31];
typedef char str4[4];

struct ty_datos{
str4 cCodllam;
char cTd;
int iDur;
int iDestino;
};


void inicializacion (int &iContt, int &iContll){
iContt=0;
iContll=0;
}

void ingreso_codigo (str4 & cCodllam){
do{
cout<<"Ingrese el codigo de llamada:"<<endl;
cin>>cCodllam;
}while (cCodllam ==""); //compara el que cCodllam con vac¡o
}
void rutina (int iDestino, char cTd, float &fPlus){
float fAux;
float fAux2;
if(cTd =='h'){
fAux=5;}
else{
fAux=3;}
switch (iDestino){
case '1':fAux2=1;break;
case '2':fAux2=2;break;
case '3':fAux2=3;break;
}
fPlus=fAux+fAux2;
}
void ingreso_datos(char &cTd, int & iDur, int &iDestino){

do{
cout<<"Ingrese el tipo de d¡a:"<<endl;
cin>>cTd;
}while (cTd !='h'&& cTd !='f');
do{
cout<<"Ingrese la duraci¢n de llamada:"<<endl;
cin>>iDur;
}while (iDur<0);
do{
cout<<"Ingrese destino por favor:"<<endl;
cin>>iDestino;
}while(iDestino <=0);
}
void contador_total (int &iContt){
iContt++;
}
void contador_llam (int iDur, int &iContll){
const int iTope=3;
if (iDur>iTope)
iContll++;
}
void fact_llamada (char cTd, int iDur, int iDestino, float &fImporte){
float fExtra;
float fPlus;
const int iTope=3;
const int iDh=10;
const int iDf=15;
int iBase;
if (iDur>iTope)
{rutina(cTd, iDestino, fPlus);
fExtra=(iDur-iTope)*fPlus;}
else{
fExtra=0;}

if (cTd=='h'){
iBase=iDh;}
else {
iBase=iDf;
}
fImporte=iBase+fExtra;
}
void salida_importe(str4 cCodllam, float fImporte){
cout<<"El c¢digo llamada es:"<<cCodllam<<endl;
cout<<"El importe a abonarse es:"<<fImporte<<endl;
}
void porcentaje(int iContll, int iContt, float & fPorcent){
fPorcent=(iContll*100)/iContt;
}
void salida (int iContll, float fPorcent){
cout<<"La cantidad de llamados que superaron los 3 minutos es de:"<<iContll<<endl;
cout<<"El porcentaje de llamados que superaron los 3 minutos es de:"<<fPorcent<<endl;
}
void main(){
int iContt;
int iContll;
float fPorcent;
int fplus;
ty_datos datos;
float fImporte;
clrscr();
inicializacion (iContt, iContll);
ingreso_codigo (datos.cCodllam);
while (datos.cCodllam !="zzz"){
ingreso_datos (datos.cTd, datos.iDur, datos.iDestino);
contador_total(iContt);
contador_llam(datos.iDur, iContll);
fact_llamada (datos.cTd, datos.iDur, datos.iDestino, fImporte);
salida_importe (datos.cCodllam,fImporte);
ingreso_codigo (datos.cCodllam);
}
porcentaje (iContll, iContt, fPorcent);
salida (iContll, fPorcent);
getch();
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder