我是靠谱客的博主 高高太阳,最近开发中收集的这篇文章主要介绍C语言————密码本,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一个练手的小项目

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <malloc.h>

void Swindow();	//设置控制台长宽
void Menu();//主菜单目录
void addsite();//添加用户
void deletesite();//删除用户
void altersite();//修改信息
void findsite();//查看单一站点
void allsite();//查看所有站点信息
void savefile();//保存文件


typedef struct _SITE
{
	char SiteArr[20];
	char PassArr[20];
}SITE;
SITE ARR[20];
int g_num = 0;			//添加信息计数

int main()
{
	Swindow();	//设置控制台
	Menu();//主菜单目录
	return 0;
}

void Swindow()//设置控制台长宽
{
	system("mode con cols=36 lines=30");
	system("title PasswordBook");
	system("color F0");
}

void addsite()//添加用户
{
	printf("************************************n");
	printf("请输入你要保存的站点名称n");
	printf("************************************n");
	scanf_s("%s", ARR[g_num].SiteArr, 20);
	printf("************************************n");
	printf("请输入你要保存的站点密码n");
	printf("************************************n");
	scanf_s("%s", ARR[g_num].PassArr, 20);
	printf("添加成功!n");
	g_num++;
	savefile();
	system("pause");

}
void deletesite()//删除用户
{
	char ch1[20] = { 0 };
	printf("************************************n");
	printf("请输入需要删除的站点名称n");
	printf("************************************n");
	scanf_s("%s", ch1, 20);
	for (int i = 0; i < g_num; i++)
	{
		if ((strcmp(ARR[i].SiteArr, ch1)) == 0)
		{
			printf("你现在要删除的是站点%s n", ARR[i].SiteArr);

			for (int j = i; j < g_num; j++)
			{
				strcpy_s(ARR[j].SiteArr, 20, ARR[j + 1].SiteArr);
				strcpy_s(ARR[j].PassArr, 20, ARR[j + 1].PassArr);
			}

			break;
		}
	}
	g_num--;
	savefile();
	printf("删除成功!n");
	system("pause");
}

void altersite()//修改信息
{
	char ch2[20] = { 0 };
	printf("************************************n");
	printf("请输入需要修改的站点名称n");
	printf("************************************n");
	scanf_s("%s", ch2, 20);
	for (int i = 0; i < g_num; i++)
	{
		if ((strcmp(ARR[i].SiteArr, ch2)) == 0)
		{
			printf("************************************n");
			printf("你现在修改的是站点%sn", ARR[i].SiteArr);
			printf("************************************n");
			printf("请输入站点名称n");
			printf("************************************n");
			scanf_s("%s", ARR[i].SiteArr, 20);
			printf("************************************n");
			printf("请输入站点密码 n");
			printf("************************************n");
			scanf_s("%s", ARR[i].PassArr, 20);
			printf("修改成功!n");
			system("pause");
			break;
		}
		if ((strcmp(ARR[g_num - 1].SiteArr, ch2)) != 0)
		{
			printf("************************************n");
			printf("未能找到站点。n");
			system("pause");
			break;
		}
	}
	savefile();
}
void findsite()//搜索站点
{
	char ch[20] = { 0 };
	int a = 0;
	printf("************************************n");
	printf("请输入需要查看的站点名称n");
	scanf_s("%s", ch, 20);
	printf("************************************n");
	for (int i = 0; i < g_num; i++)
	{
		if ((strcmp(ARR[i].SiteArr, ch)) == 0)
		{

			printf("站点:%sn", ARR[i].SiteArr);
			printf("密码:%sn", ARR[i].PassArr);
			printf("************************************n");
			a++;
		}

	}
	system("pause");
	if (a == 0)
	{
		printf("************************************n");
		printf("抱歉,未能找到站点信息。");
		system("pause");
	}

}
void allsite()//查看所有站点信息
{

	FILE *fFile2 = NULL;
	fopen_s(&fFile2, "D:\111.txt", "r+");
	fread(&g_num, 4, 1, fFile2);
	fread(ARR, (sizeof(SITE)), g_num, fFile2);
	fclose(fFile2);
	printf("************************************n");
	printf("当前共存储了 %d 条信息。n", g_num);
	for (int i = 0; i < g_num; i++)
	{
		printf("************************************n");
		printf("站点:%sn", ARR[i].SiteArr);
		printf("密码:%sn", ARR[i].PassArr);
	}
	printf("************************************n");
	system("pause");
}
void savefile()//保存文件
{
	FILE *fFile1 = NULL;
	fopen_s(&fFile1, "D:\111.txt", "w+");
	fwrite(&g_num, 4, 1, fFile1);
	fwrite(ARR, (sizeof(SITE)), g_num, fFile1);
	fclose(fFile1);
}
void Menu()//主菜单
{
	int i = 0;

	while (true)
	{
		printf("************************************n");
		printf("*       请选择你想使用的操作:     *n");
		printf("*           1 添加用户             *n");
		printf("*           2 删除用户             *n");
		printf("*           3 信息修改             *n");
		printf("*           4 查找用户             *n");
		printf("*           5 查看所有             *n");
		printf("*           6 退出程序             *n");
		printf("************************************n");
		scanf_s("%d", &i);

		system("cls");
		switch (i)
		{
		case 1:
		{
			addsite();

			break;
		}
		case 2:
		{
			deletesite();
			break;
		}
		case 3:
		{
			altersite();
			break;
		}
		case 4:
		{
			findsite();
			break;
		}
		case 5:
		{
			allsite();
			break;
		}
		case 6:
		{
			return;

		}

		}

		system("cls");
	}
}

最后

以上就是高高太阳为你收集整理的C语言————密码本的全部内容,希望文章能够帮你解决C语言————密码本所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部