chat de papo
// Define o tamanho máximo da mensagem
// Cria uma struct para representar uma mensagem
typedef struct Message {
char *text;
int size;
} Message;
// Cria uma struct para representar um chat
typedef struct Chat {
Message messages[MAX_MESSAGE_SIZE];
int num_messages;
} Chat;
// Cria um novo chat
Chat *create_chat() {
Chat *chat = malloc(sizeof(Chat));
chat->num_messages = 0;
return chat;
}
// Adiciona uma mensagem ao chat
void add_message(Chat *chat, char *text) {
// Cria uma nova mensagem
Message message;
message.text = malloc(strlen(text) + 1);
strcpy(message.text, text);
message.size = strlen(text);
// Adiciona a mensagem ao chat
chat->messages[chat->num_messages] = message;
chat->num_messages++;
}
// Imprime as mensagens do chat
void print_chat(Chat *chat) {
for (int i = 0; i < chat->num_messages; i++) {
printf("%s\n", chat->messages[i].text);
}
}
// Libera a memória alocada para o chat
void free_chat(Chat *chat) {
for (int i = 0; i < chat->num_messages; i++) {
free(chat->messages[i].text);
}
free(chat);
}
// Função principal
int main() {
// Cria um novo chat
Chat *chat = create_chat();
// Adiciona algumas mensagens ao chat
add_message(chat, "Olá, mundo!");
add_message(chat, "Como vai você?");
add_message(chat, "Tudo bem, obrigado.");
// Imprime as mensagens do chat
print_chat(chat);
// Libera a memória alocada para o chat
free_chat(chat);
return 0;
}