C语言实现国家湿地公园简要信息系统!(至少5个公园)求!求解!
定义一共结构体保存信息,然后可以增加、删除、查询、修改等操作了
代码如下:
#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;
}
设置5个函数,每个函数显示一个公园的简要信息
mark