概述
一个练手的小项目
#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语言————密码本所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复