/** *@brief: Cria uma nova mensagem e acrescenta essa mensagem na posicao final do vector de utilizadores. */ void send(LINK *vec, FILA *filas) { int e, r; TEXTO string; SMS msg; LINK node; char aux; getchar(); getchar(); /*4 comandos para ler 'end_', dados que nao seram*/ getchar(); /*necessarios na continuidade do programa.*/ getchar(); e = (((int)getchar())-48); /*transforma o caracter relativo ao utilizador num inteiro.*/ while ((aux = getchar()) != ' ') /*ciclo que enquanto nao apanha o \n transforma os caraceteres correspontentes ao utilizador num inteiro.*/ e = e*10 + (((int)aux) - 48); r = (((int)getchar())-48); /*transforma o caracter relativo ao utilizador num inteiro.*/ while ((aux = getchar()) != ' ') /*ciclo que enquanto nao apanha o \n transforma os caraceteres correspontentes ao utilizador num inteiro.*/ r = r*10 + (((int)aux) - 48); string = recebeTexto(); /*Le o texto correspondente a mensagem.*/ msg = criaMensagem(e, r, string); /*Cria um ponteiro para uma estrutura MENSAGEM, que comtem o emissor, o receptor .*/ node = criaNode(msg); acrecentaNode(vec, filas, r, node); }
void send(User ArrayUsers) { char input[CRCTRS]; int sender, receiver; link last; link first; scanf("%d%d ", &sender, &receiver); /*guarda o 'e' e o 'r'*/ fgets(input, CRCTRS, stdin); /*guarda o texto da mensagem em input*/ if (isEmpty(ArrayUsers, receiver)) { first = criaNode(criaMensagem(sender,receiver,input)); ArrayUsers[receiver].head_queue = first; ArrayUsers[receiver].tail_queue = first; }else{ last = criaNode(criaMensagem(sender,receiver,input)); ArrayUsers[receiver].tail_queue -> next = last; ArrayUsers[receiver].tail_queue = last; } }