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无用
悬赏问题
- ¥500 把面具戴到人脸上,请大家贡献智慧
- ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
- ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
- ¥30 c#打开word开启修订并实时显示批注
- ¥15 如何解决ldsc的这条报错/index error
- ¥15 VS2022+WDK驱动开发环境
- ¥30 关于#java#的问题,请各位专家解答!
- ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
- ¥20 pcf8563时钟芯片不启振
- ¥20 pip2.40更新pip2.43时报错