c语言机房失物认领系统
时间: 2023-06-02 10:03:13 浏览: 158
c#失物招领系统
这是一个简单的C语言机房失物认领系统,它可以让用户查看已经丢失的物品列表、提交失物信息、认领失物等。
```c
#include <stdio.h>
#include <string.h>
#define MAX_ITEMS 100 //最大物品数量
struct item //物品结构体
{
char name[50]; //物品名称
char description[100]; //物品描述
char contact[50]; //联系方式
int is_lost; //是否丢失,1表示丢失,0表示未丢失
};
struct item items[MAX_ITEMS]; //物品数组
int items_count = 0; //当前已经添加的物品数量
//打印菜单
void print_menu()
{
printf("请选择操作:\n");
printf("1. 查看已经丢失的物品列表\n");
printf("2. 提交失物信息\n");
printf("3. 认领失物\n");
printf("4. 退出\n");
}
//查看已经丢失的物品列表
void list_items()
{
printf("已经丢失的物品列表:\n");
printf("%-20s%-30s%-20s\n", "物品名称", "物品描述", "联系方式");
for(int i = 0; i < items_count; i++)
{
if(items[i].is_lost)
{
printf("%-20s%-30s%-20s\n", items[i].name, items[i].description, items[i].contact);
}
}
}
//提交失物信息
void add_item()
{
if(items_count >= MAX_ITEMS)
{
printf("系统已经达到最大容量,无法添加新物品!\n");
return;
}
printf("请输入物品名称:");
scanf("%s", items[items_count].name);
printf("请输入物品描述:");
scanf("%s", items[items_count].description);
printf("请输入联系方式:");
scanf("%s", items[items_count].contact);
items[items_count].is_lost = 1; //默认为丢失状态
items_count++; //物品数量加1
printf("物品已经成功添加!\n");
}
//认领失物
void claim_item()
{
char name[50];
printf("请输入要认领的物品名称:");
scanf("%s", name);
int found = 0; //是否找到该物品
for(int i = 0; i < items_count; i++)
{
if(strcmp(items[i].name, name) == 0 && items[i].is_lost)
{
printf("请输入您的联系方式:");
scanf("%s", items[i].contact);
items[i].is_lost = 0;
printf("您已经成功认领该物品!\n");
found = 1;
break;
}
}
if(!found)
{
printf("未找到该物品或该物品不是丢失状态!\n");
}
}
int main()
{
int choice;
do
{
print_menu();
scanf("%d", &choice);
switch(choice)
{
case 1:
list_items();
break;
case 2:
add_item();
break;
case 3:
claim_item();
break;
case 4:
printf("感谢使用本系统,再见!\n");
break;
default:
printf("无效的操作,请重新选择!\n");
break;
}
} while(choice != 4);
return 0;
}
```
这个程序定义了一个`item`结构体,用于表示一个物品的信息。它包括物品名称、物品描述、联系方式和是否丢失的状态。然后定义了一个物品数组`items`,用于存储所有的物品信息。
程序提供了三个操作:查看已经丢失的物品列表、提交失物信息和认领失物。用户可以通过菜单选择要执行的操作。每个操作都是通过调用不同的函数来实现的。其中,提交失物信息需要用户输入物品名称、物品描述和联系方式,程序将自动将该物品的状态设置为丢失状态。而认领失物需要用户输入要认领的物品名称,程序将查找该物品,并将其状态设置为未丢失状态,同时要求用户输入自己的联系方式。
程序中还定义了一些常量,如最大物品数量等,以及一个记录当前物品数量的变量`items_count`。这些常量和变量都是为了方便程序的管理和维护。
阅读全文