C语言实现短消息管理系统:接收、存储、显示、删除和发送

本文将介绍使用C语言实现一个简单的短消息管理系统,该系统可以接收、存储、显示、删除和发送短消息,并提供操作功能菜单。该系统最多存储20条短消息,当超过20条时会删除最早的短消息。

逻辑结构:

采用线性表结构,因为短消息按照收到的顺序排列,且需要进行删除和添加操作。

物理结构:

采用顺序存储结构,使用数组来存储短消息,因为数组的插入和删除操作相对简单,且可以根据下标直接访问元素。

解决思路、方法和流程:

  1. 定义一个长度为20的数组来存储短消息;
  2. 定义一个变量count来记录短消息的数量,初始值为0;
  3. 编写短消息接收函数,每当接收到一条新的短消息时,判断count是否小于20,如果小于20,则将短消息存入数组的末尾,并将count加1;如果count等于20,则先删除数组中第一个元素,再将短消息存入数组的末尾;
  4. 编写短列表显示函数,遍历数组中的短消息,依次输出;
  5. 编写阅读短消息函数,根据用户输入的序号,输出对应的短消息内容;
  6. 编写删除短消息函数,根据用户输入的序号,将对应的短消息从数组中删除,并将后面的短消息依次向前移动;
  7. 编写消除所有短消息函数,将count设置为0,即可清空数组中的所有短消息;
  8. 编写操作功能菜单函数,显示菜单选项,并根据用户输入的选项调用相应的函数;
  9. 在主函数中循环调用操作功能菜单函数,直到用户选择退出。

短消息发送

  1. 逻辑结构: 同样采用线性表结构,发送的短消息也按照发送顺序排列。
  2. 物理结构: 采用顺序存储结构,使用数组存储发送的短消息。
  3. 解决思路: 创建发送短消息函数,该函数获取用户输入的短消息内容,并将该内容存储到发送短消息的数组中。

代码示例

#include <stdio.h>
#include <string.h>

#define MAX_MSG 20

// 短消息结构体
struct Message {
    char content[100];
};

// 短消息数组
struct Message messages[MAX_MSG];

// 短消息数量
int count = 0;

// 短消息接收函数
void receiveMessage(char *msg) {
    if (count < MAX_MSG) {
        strcpy(messages[count].content, msg);
        count++;
    } else {
        // 删除最早的短消息
        for (int i = 1; i < MAX_MSG; i++) {
            messages[i - 1] = messages[i];
        }
        strcpy(messages[MAX_MSG - 1].content, msg);
    }
}

// 短列表显示函数
void displayMessages() {
    if (count == 0) {
        printf("没有短消息。\n");
        return;
    }
    for (int i = 0; i < count; i++) {
        printf("%d: %s\n", i + 1, messages[i].content);
    }
}

// 阅读短消息函数
void readMessage(int index) {
    if (index < 1 || index > count) {
        printf("无效的短消息序号。\n");
        return;
    }
    printf("短消息内容: %s\n", messages[index - 1].content);
}

// 删除短消息函数
void deleteMessage(int index) {
    if (index < 1 || index > count) {
        printf("无效的短消息序号。\n");
        return;
    }
    for (int i = index; i < count; i++) {
        messages[i - 1] = messages[i];
    }
    count--;
}

// 消除所有短消息函数
void clearMessages() {
    count = 0;
}

// 短消息发送函数
void sendMessage(char *msg) {
    // 发送短消息的逻辑代码
    printf("发送短消息: %s\n", msg);
}

// 操作功能菜单函数
void showMenu() {
    printf("=== 短消息管理系统 ===");
    printf("1. 接收短消息\n");
    printf("2. 显示所有短消息\n");
    printf("3. 阅读短消息\n");
    printf("4. 删除短消息\n");
    printf("5. 消除所有短消息\n");
    printf("6. 发送短消息\n");
    printf("7. 退出\n");
    printf("请选择操作: ");
}

int main() {
    int choice, index;
    char msg[100];

    while (1) {
        showMenu();
        scanf("%d", &choice);
        switch (choice) {
            case 1:
                printf("请输入短消息内容: ");
                scanf("%s", msg);
                receiveMessage(msg);
                break;
            case 2:
                displayMessages();
                break;
            case 3:
                printf("请输入要阅读的短消息序号: ");
                scanf("%d", &index);
                readMessage(index);
                break;
            case 4:
                printf("请输入要删除的短消息序号: ");
                scanf("%d", &index);
                deleteMessage(index);
                break;
            case 5:
                clearMessages();
                printf("所有短消息已清空。\n");
                break;
            case 6:
                printf("请输入要发送的短消息内容: ");
                scanf("%s", msg);
                sendMessage(msg);
                break;
            case 7:
                printf("退出系统。\n");
                return 0;
            default:
                printf("无效的选择。\n");
        }
    }

    return 0;
}

总结

本文介绍了如何使用C语言实现一个简单的短消息管理系统,并提供了代码示例。该系统可以接收、存储、显示、删除和发送短消息,并提供操作功能菜单。希望本文能帮助您理解如何使用C语言实现简单的应用程序。

C语言实现短消息管理系统:接收、存储、显示、删除和发送

原文地址: https://www.cveoy.top/t/topic/pulL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录