用C语言制作一个留言板菜单具有引导功能分别进入发布、搜索、修改、删除功能
时间: 2023-07-10 12:36:58 浏览: 50
好的,以下是一个简单的留言板菜单代码,实现了发布、搜索、修改、删除功能:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_MSG 100 // 最大留言数量
#define MAX_LEN 100 // 最大留言长度
// 留言结构体
typedef struct message {
int id; // 留言编号
char content[MAX_LEN]; // 留言内容
} Message;
// 全局变量
Message messages[MAX_MSG]; // 留言数组
int msg_count = 0; // 留言数量
// 函数声明
void show_menu(); // 显示菜单
void add_message(); // 发布留言
void search_message(); // 搜索留言
void edit_message(); // 修改留言
void delete_message(); // 删除留言
int main() {
int choice;
while (1) {
show_menu();
printf("请输入您的选择: ");
scanf("%d", &choice);
switch (choice) {
case 1:
add_message();
break;
case 2:
search_message();
break;
case 3:
edit_message();
break;
case 4:
delete_message();
break;
case 5:
printf("感谢使用留言板程序,再见!\n");
exit(0);
default:
printf("无效的选择,请重新输入。\n");
break;
}
}
return 0;
}
void show_menu() {
printf("\n--- 留言板菜单 ---\n");
printf("1. 发布留言\n");
printf("2. 搜索留言\n");
printf("3. 修改留言\n");
printf("4. 删除留言\n");
printf("5. 退出程序\n");
}
void add_message() {
char content[MAX_LEN];
if (msg_count >= MAX_MSG) {
printf("留言板已满,无法继续发布留言。\n");
return;
}
printf("请输入留言内容(最多%d个字符):\n", MAX_LEN);
scanf("%s", content);
Message new_msg;
new_msg.id = msg_count + 1;
strcpy(new_msg.content, content);
messages[msg_count] = new_msg;
msg_count++;
printf("留言发布成功!\n");
}
void search_message() {
char keyword[MAX_LEN];
printf("请输入要搜索的关键字:\n");
scanf("%s", keyword);
int found = 0;
for (int i = 0; i < msg_count; i++) {
if (strstr(messages[i].content, keyword)) {
printf("留言编号:%d\n", messages[i].id);
printf("留言内容:%s\n", messages[i].content);
found = 1;
}
}
if (!found) {
printf("没有找到匹配的留言。\n");
}
}
void edit_message() {
int id;
char new_content[MAX_LEN];
printf("请输入要修改的留言编号:\n");
scanf("%d", &id);
if (id <= 0 || id > msg_count) {
printf("无效的留言编号,请重新输入。\n");
return;
}
printf("请输入新的留言内容:\n");
scanf("%s", new_content);
strcpy(messages[id - 1].content, new_content);
printf("留言修改成功!\n");
}
void delete_message() {
int id;
printf("请输入要删除的留言编号:\n");
scanf("%d", &id);
if (id <= 0 || id > msg_count) {
printf("无效的留言编号,请重新输入。\n");
return;
}
for (int i = id - 1; i < msg_count - 1; i++) {
messages[i] = messages[i + 1];
messages[i].id--;
}
msg_count--;
printf("留言删除成功!\n");
}
```
这个程序使用了一个留言结构体来存储每个留言的编号和内容,可以实现发布、搜索、修改、删除留言的功能。注意,这只是一个简单的示例,实际应用中需要考虑更多的细节和安全性问题。