Acot - agencia de controlo de operadoras de telefonia

Disponível somente no TrabalhosFeitos
  • Páginas : 9 (2203 palavras )
  • Download(s) : 0
  • Publicado : 23 de outubro de 2012
Ler documento completo
Amostra do texto
#include
#include
#include

typedef struct _Cliente
{
char operadora[20],morada[20],nome[20],tarifa[20];
int numero;
float saldo;
struct _Cliente*next;
}Cliente;

typedef struct _chamadas
{
int num;
int des;
int dur;
char dat[20];
float custo;
struct _chamadas*next;
}chamadas;

typedefstruct _recebidas
{
int env;
int rec;
int dura;
char data[20];
float cus;
char ope[15];
struct _recebidas*next;
}recebidas;

Cliente*C=NULL;
chamadas*Ch=NULL;
recebidas*R=NULL;

Cliente*new_cl(char operadora[],char nome[],char morada[],char tarifa[],int numero,float saldo)
{
Cliente*aux;if((aux=(Cliente*)malloc(sizeof(Cliente)))==NULL)
printf("Nao foi Registado Nenhum Cliente\n");
else
{
strcpy(aux->operadora,operadora);
strcpy(aux->nome,nome);
strcpy(aux->morada,morada);
strcpy(aux->tarifa,tarifa);
aux->numero=numero;
aux->saldo=saldo;
aux->next=NULL;
}
return aux;
}

void Inserir(char operadora[],charnome[],char morada[],char tarifa[],int numero,float saldo)
{
Cliente * aux = new_cl(operadora,nome,morada,tarifa,numero,saldo);
if(aux!=NULL)
{
aux->next=C;
C=aux;
}
}


chamadas*new_ch(int num,int des,int dur,char dat[],float custo)
{
chamadas*aux=Ch;
if((aux=(chamadas*)malloc(sizeof(chamadas)))==NULL)
printf("Naofoi Registado Nenhuma Chamada\n");
else
{
aux->num=num;
aux->des=des;
aux->dur=dur;
strcpy(aux->dat,dat);
aux->custo=custo;
aux->next=NULL;
}
return aux;
}

void inserir(int num, int des, int dur,char dat[],float custo)
{
chamadas * aux = new_ch(num,des,dur,dat,custo);
if(aux!=NULL)
{aux->next=Ch;
Ch=aux;
}
}

recebidas*new_re(int rec,int env,int dura, char data[],float cus,char ope[])
{
recebidas*aux=R;
if((aux=(recebidas*)malloc(sizeof(recebidas)))==NULL)
printf("Nao foi Recebida Nenhuma Chamada\n");
else
{
aux->env=env;
aux->rec=rec;
aux->dura=dura;strcpy(aux->data,data);
aux->cus=cus;
strcpy(aux->ope,ope);
aux->next=NULL;
}
return aux;
}

void inser(int rec, int env, int dura, char data[], float cus, char ope[])
{
recebidas * aux = new_re(rec,env,dura,data,cus,ope);
if(aux!=NULL)
{
aux->next=R;
R=aux;
}}

int contracto()
{
char nom[20],mor[20],tari[20],oper[12];
int num;
float saldo;
printf("* CVkovel \n");
printf("* Tmenos \n");
printf("Escolha uma Operadora: \t");
scanf("%s",oper);
while((strcmp(oper,"CVkovel"))!=0 && (strcmp(oper,"Tmenos"))!=0)
{
printf("Esta Operadora nao existe! Tente outra vez\n!!! Atencao as Maiusculas eMinusculas !!! ");
scanf("%s",oper);
}
printf("Introduza o seu nome: \n");
scanf("%s",nom);
printf("Introduza a sua morada: \n");
scanf("%s",mor);
printf("Introduza o seu numero: \n");
scanf("%d",&num);
Cliente*aux=C;
if(aux==NULL)
printf("\nNumero Valido!\n\n");
else
{
while(aux!=NULL){
if(aux->numero==num)
{
printf("Numero Invalido\n");
return -1;
}
aux=aux->next;
}
printf("\nNumero Valido!\n\n");
}
if(strcmp(oper,"CVkovel")==0)
{
printf("Escolha uma Tarifa:\n");
printf("* Grilo \n");
printf("* Segundo \n");...
tracking img