/**
*@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);	
}
Beispiel #2
0
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;

	}
}