C语言实现国家湿地公园简要信息系统!(至少5个公园)求!求解!
3条回答 默认 最新
- qfl_sdu 2022-06-14 21:35关注
定义一共结构体保存信息,然后可以增加、删除、查询、修改等操作了
代码如下:
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAXNMB 100 typedef struct _datainfo { char name[20]; //名称 char addr[20]; //地点 char info[200]; //简介 }Datainfo; const char* g_username = "admin"; //用户名 const char* g_pwd = "123456"; //密码 //登录 int login() { char name[20], pwd[10]; int tms = 0; system("cls"); printf("-----------------欢迎使用湿地公园管理系统--------------------\n"); printf("请输入用户名:"); while (1) { scanf("%s", name); tms++; if (strcmp(name, g_username) == 0) break; else { if (tms == 3) //最多3次 { printf("输出超过3次,请稍后再试!!\n"); system("pause"); return 0; } else printf("用户名错误,请重新输入:"); } } tms = 0; printf("请输入密码:"); while (1) { scanf("%s", pwd); tms++; if (strcmp(pwd, g_pwd) == 0) { printf("登录成功!!\n"); system("pause"); return 1; } else { if (tms == 3) { printf("输出错误次数超过3次,请稍后重试!\n"); system("pause"); return 0; } else printf("密码错误,请从新输入:"); } } } //增加数据 void addInfo(Datainfo a[], int* nmb) { system("cls"); printf("请输入公园名称:"); scanf("%s", a[*nmb].name); printf("请输入公园地址:"); scanf("%s", a[*nmb].addr); printf("请输入公园简介:"); scanf("%s", a[*nmb].info); *nmb += 1; printf("添加成功!\n"); system("pause"); } //删除数据 void deleteInfo(Datainfo a[], int* nmb) { int i, j; char name[20] = { 0 }; system("cls"); if (*nmb == 0) { printf("当前暂无公园信息,请先添加\n"); system("pause"); return; } printf("请输入要删除的公园名称:"); scanf("%s", name); for (i = 0; i < *nmb; i++) { if (strcmp(name, a[i].name) == 0) { for (j = i; j < *nmb - 1; j++) a[j] = a[j + 1]; *nmb -= 1; printf("删除成功!\n"); break; } } if (i == *nmb) printf("未找到该公园!\n"); system("pause"); } //修改 void changeInfo(Datainfo a[], int nmb) { int i; char name[20] = { 0 }; system("cls"); if (nmb == 0) { printf("当前暂无公园信息,请先添加\n"); system("pause"); return; } printf("请输入要修改信息的公园名称:"); scanf("%s", name); for (i = 0; i < nmb; i++) { if (strcmp(name, a[i].name) == 0) { printf("请输入公园名称:"); scanf("%s", a[i].name); printf("请输入公园地址:"); scanf("%s", a[i].addr); printf("请输入公园简介:"); scanf("%s", a[i].info); printf("修改成功!\n"); break; } } if (i == nmb) printf("未找到该公园!\n"); system("pause"); } //查找 void searchInfo(Datainfo a[], int nmb) { int i; char name[20] = { 0 }; system("cls"); if (nmb == 0) { printf("当前暂无公园信息,请先添加\n"); system("pause"); return; } printf("请输入要查询的公园名称:"); scanf("%s", name); for (i = 0; i < nmb; i++) { if (strcmp(name, a[i].name) == 0) { printf("公园名称:%s\n", a[i].name); printf("公园地址:%s\n", a[i].addr); printf("公园简介:%s\n", a[i].info); break; } } if (i == nmb) printf("未找到该公园!\n"); system("pause"); } //显示所有信息 void ShowAll(Datainfo a[], int n) { int i; system("cls"); for (i = 0; i < n; i++) { printf("公园名称:%s\n", a[i].name); printf("公园地址:%s\n", a[i].addr); printf("公园简介:%s\n", a[i].info); printf("------------------------------------\n"); } system("pause"); } int main() { int choise; Datainfo a[MAXNMB]; int nmb = 0; if (!login()) return 0; while (1) { system("cls"); printf("-----------------湿地公园管理系统--------------------\n"); printf(" 1.添加公园\n"); printf(" 2.修改公园信息\n"); printf(" 3.删除公园信息\n"); printf(" 4.查询公园信息\n"); printf(" 5.显示所有公园信息\n"); printf(" 0.退出系统\n"); printf("请选择:"); scanf("%d", &choise); switch (choise) { case 0:return 0; case 1:addInfo(a, &nmb); break; case 2:changeInfo(a, nmb); break; case 3:deleteInfo(a, &nmb); break; case 4:searchInfo(a, nmb); break; case 5:ShowAll(a, nmb); break; } } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用
悬赏问题
- ¥15 使用yolov5-7.0目标检测报错
- ¥15 对于这个问题的解释说明
- ¥200 询问:python实现大地主题正反算的程序设计,有偿
- ¥15 smptlib使用465端口发送邮件失败
- ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
- ¥15 对于squad数据集的基于bert模型的微调
- ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
- ¥20 steam下载游戏占用内存
- ¥15 CST保存项目时失败
- ¥20 java在应用程序里获取不到扬声器设备