Programación General > C/C++

 Ayuuudaa en este error

(1/1)

o.ficu:
Hola a todos, espero alguien pueda ayudarme, en el siguiente programa que les dejo, me presenta el siguiente error: "request for member 'numTlf' in 'llam', which is of non-class type 'llamada[100]' " este error me marca en la llamada consumo(usuarios,n,llam.numTlf,f.mes); Gracias de antemano por su ayuda.
El código del header es:

--- Código: C ---#ifndef LLAMADA_H#define LLAMADA_H  struct fecha{int dia,mes,anio;};  struct llamada{        fecha f;       char numTlf[14];        // numero al cual se llama       float tiempo;             // linea control       }llam[100]; #endif Y el programa:

--- Código: C ---#include<iostream>#include<stdlib.h>#include<stdio.h>#include<string.h>#include "header.h"using namespace std; const int N=1000; struct LineaControl{       char numero[14];       char usuario[40];       int nllam;              //numero de llamadas       llamada llam[100];       //array de llamadas       }usuarios[N];        void IngresaDatos(LineaControl usuarios[],int &n);      void ImprimeDatos(LineaControl usuarios[],int &n);   void BuscaPersona(LineaControl usuarios[],int &n);                                                       void consumo(LineaControl usuarios[],int &n,char numTlf,int mes); void IngresaDatos(LineaControl usuarios[],int &n){           fflush(stdin);      cout<<"tttIngrese el numero de telefono del "<<n<<" cliente: ";    gets(usuarios[n].numero);fflush(stdin);cout<<endl<<endl;      cout<<"Ingrese el nombre del cliente: ";                gets(usuarios[n].usuario);fflush(stdin);      cout<<"Ingrese cantidad de llamadas que realizo el cliente: ";    cin>>usuarios[n].nllam;fflush(stdin);      cout<<endl;            cout<<"Ingreso de datos de llamadas que realizo el cliente "<<usuarios[n].usuario<<endl;      for(int i=1;i<=usuarios[n].nllam;i++)      {   cout<<"Ingrese el "<<i<<" numero: ";       gets(usuarios[n].llam[i].numTlf); fflush(stdin);          cout<<"Ingrese la duracion de la llamada: ";    cin>>usuarios[n].llam[i].tiempo; fflush(stdin);          cout<<endl<<"Ingrese la fecha que se realizo la llamada dd/mm/aaaa: ";   cin>>usuarios[n].llam[i].f.dia>>usuarios[n].llam[i].f.mes>>usuarios[n].llam[i].f.anio;fflush(stdin);          cout<<endl;      }       n++;}     void ImprimeDatos(LineaControl usuarios[],int &n){           cout<<"Los datos ingresados fueron: "<<endl<<endl;      for(int i=1;i<n;i++)            {      cout<<"..................................................."<<endl;      cout<<"numero del cliente: "<<usuarios[i].numero;               cout<<endl<<endl;      cout<<"nombre del cliente: "<<usuarios[i].usuario;cout<<endl;      cout<<"datos de llamadas que realizo el cliente "<<usuarios[i].usuario<<endl;        for(int j=1;j<=usuarios[i].nllam;j++)        {   cout<<usuarios[i].llam[j].numTlf<<endl;            cout<<"duracion de la llamada: "<<usuarios[i].llam[j].tiempo<<endl;            cout<<"fecha que se realizo la llamada dd/mm/aaaa: "<<usuarios[i].llam[j].f.dia<<"  "<<usuarios[i].llam[j].f.mes<<"  "<<usuarios[i].llam[j].f.anio;            cout<<endl<<endl;        }      cout<<"..................................................."<<endl;      }cout<<endl<<endl; }void consumo(LineaControl usuarios[],int &n,char numTlf,int mes){     int posic;      for(int i=1;i<n;i++)      {    float mayor=0;           for(int j=1;j<=usuarios[i].nllam;j++)  //busco quien tiene el tiempo mayor           {   if(usuarios[i].llam[j].tiempo>mayor)               {mayor=usuarios[i].llam[j].tiempo;}           }           for(int j=1;j<=usuarios[i].nllam;j++)  //busco a quien le pertenece el numero mayor           {    if(mayor==usuarios[i].llam[j].tiempo)                {posic=j;}  //marco la posicion           }           cout<<"La llamada mas larga que realizo "<<usuarios[i].usuario<<" fue al numero: "<<usuarios[i].llam[posic].numTlf<<" y duro: "<<usuarios[i].llam[posic].tiempo<<" en el mes de "<<usuarios[i].llam[posic].f.mes<<endl;            }  } void BuscaPersona(LineaControl usuarios[],int &n){    int i,j,pos=-1;     char busca[30],k;      cout<<"Ingrese el nombre de la persona a buscar: "; gets(busca);     for(i=0;i<n;i++)     {   if(strcmp(busca,usuarios[i].usuario)==0)         {   cout<<"ttDatos de la persona"<<endl;             cout<<"Nombre: "<<usuarios[i].usuario<<endl;             cout<<"Numero: "<<usuarios[i].numero<<endl;             pos=i;         }     }     if(pos==-1)     { cout<<"No se encontro persona"<<endl;}     cout<<"desea buscar otra persona s/n: ";   cin>>k;      } void BorraPersona(LineaControl usuarios[],int &n){    int pos=-1,i;     char elimina[30];     cout<<"Ingrese el nombre de la persona a eliminar: "; gets(elimina);     for(i=0;i<n;i++)     {   if(strcmp(elimina,usuarios[i].usuario)==0)         { pos=i;break;}     }     if(pos==-1)     cout<<"ttNo se encontro a la persona"<<endl;     else     for(i=pos+1;i<n;i++)     {   usuarios[i-1]=usuarios[i];}     n--;}     int main(){    int personas,i,n=1;     fecha f;          cout<<"Ingrese la cantidad de personas a procesar: ";  cin>>personas;          for(i=1;i<=personas;i++)     {    IngresaDatos(usuarios,n);          }     ImprimeDatos(usuarios,n);     BuscaPersona(usuarios,n);     consumo(usuarios,n,llam.numTlf,f.mes);               system("PAUSE");     return 0;}  

Navegación

[0] Índice de Mensajes

Ir a la versión completa