店铺信息管理系统

#include<stdio.h>
#include<windows.h>
#include<stdlib.h>
#include<string.h>
#include<dos.h> 
#include<math.h>
#include<time.h>
typedef struct Node
{
	int ID;// 编号 
	char Name[50];// 店铺名称
	char name[50];//店长姓名 
	char dizhi[80];// 地址 
	int xiaoshou;// 年销售额 
	int chang;// 租金 
	int kuan;// 占地面积
	char shifou[5];//是否交租 
	int year;// 2022年
	int mouth;// 6月
	int day;// 29日 
	struct Node* next;
}node;
struct user
{
	char username[10];
	char password[7];
};
node list;
int Read_FILE(node* L);
int  Save_FILE(node* L);
void welcome();
void Add(node *L,node e);
void Add_Printf();
void Dele(node*L);
void Delete(node* s);
void Fix(node *L);
void Search(node* L);
node* Search_id(int id, node* L);
void Print(node* L);
void Print_Printf();
void out();
void gxy();
void jiaozu(node*L);
void jindutiao();
int t=0;
int main()
{
	system("color b4");
	printf("\n\n\n\n\t\t\t\t\t*___________________________________*\n");
	printf("\t\t\t\t\t|                                   |\n");
	printf("\t\t\t\t\t|               登  录              |\n");
	printf("\t\t\t\t\t|___________________________________|\n");
	printf("\t\t\t\t\t|                                   |\n");
	printf("\t\t\t\t\t|***********************************|\n");
	printf("\t\t\t\t\t|                                   |\n");
	printf("\t\t\t\t\t|-----请输入1跳转用  户登录界面-----|\n");
	printf("\t\t\t\t\t|                                   |\n");
	printf("\t\t\t\t\t|-----请输入2跳转新用户注册界面-----|\n");
	printf("\t\t\t\t\t|                                   |\n");
	printf("\t\t\t\t\t|***********************************|\n");
	printf("\t\t\t\t\t|___________________________________|\n");
	printf("\n\t\t\t\t\t请输入:");
	FILE *fp;
	fp=fopen("Zhanghu.txt","r");
	int i,j;
	struct user a;
	int b; scanf("%d",&b);
	char zhanghao[10],password1[7],password2[7];
	system("cls");
	if(b==1)
	{
		if(fp== NULL)
		{
		printf("\t\t\t\t\t\t文件为空,请先去注册!\n");
		t=0;
		}
		else
		{
		printf("\n\n\n\n\n\n\n\t\t\t\t\t\t请输入账号:"); scanf("%s",&zhanghao);
		printf("\n\t\t\t\t\t\t请输入密码(六位):"); scanf("%s",&password1);
		system("cls");
		while(!feof(fp))
		{
			fscanf(fp,"%s %s\n",a.username,a.password);  //读出    /
			if(strcmp(zhanghao,a.username)==0 && strcmp(password1,a.password)==0)
			{
				printf("\n\n\n\n\n\n\n\t\t\t\t\t\t登陆成功,欢迎使用!!\n");
				jindutiao();
				system("cls");
				t=1;
				break;
			}

		}	
		if(t==0)
		{
			printf("\t\t\t\t\t\t密码错误,请重新进入系统!");
		}
	 }
	 } 
	if(b==2)
	{
		printf("\n\n\n\n\n\n\n\t\t\t\t\t\t请输入新账号:"); scanf("%s",&zhanghao);
		fflush(stdin);             //清空缓存区 
		fp= fopen("Zhanghu.txt","a");
		printf("\n\t\t\t\t\t\t请输入新密码(六位):"); scanf("%s",&password1);
		printf("\n\t\t\t\t\t\t请再次输入新密码:"); scanf("%s",&password2);
		system("cls");
		if(strcmp(password1,password2)==0)
		{
		system("cls");
		fprintf(fp,"%s %s\n",zhanghao,password1);
		fclose(fp);
		printf("\n\n\n\n\n\n\n\t\t\t\t\t\t注册成功,欢迎使用!!\n");
		t=1;
		jindutiao();
		system("cls");
		}
		else
		{
		printf("\t\t\t\t\t\t注册失败,请重新进入系统!\n");
		t=0; 
		}
	}
	if(b<1 || b>2)
	{
		printf("\t\t\t\t\t\t输入有误,请重新进入系统!\n"); 
		t=0; 
	 } 
	int choice = 0;
	Read_FILE(&list);
	while (t)
	{
		welcome();
		scanf("%d", &choice);
		system("cls");
		switch (choice)
		{
		case 1:// 增加店铺信息
			Add_Printf();
			break;
		case 2:// 删除店铺信息
			Dele(&list);
			break;
		case 3:// 修改店铺信息
			Fix(&list);
			break;
		case 4:// 查询店铺信息
			Search(&list);
			break;
		case 5:// 输出店铺信息
			Print(&list);
			system("pause");
			break;
		case 6:
			jiaozu(&list);
			break;
		case 7: out();// 退出程序 
			break;
		default: printf("\n\n\n\n\n\n\n\t\t\t\t\t\t你审不审题?重新输!!\n");
		}
	}
	return 0;
}
void welcome() //菜单界面 
{
	system("cls");
	printf("\n\n\n\n\t\t\t\t\t***************************************\n");
	printf("\t\t\t\t\t|                                     |\n");
	printf("\t\t\t\t\t|★★★★★------菜 单------★★★★★|\n");
	printf("\t\t\t\t\t|                                     |\n"); 
	printf("\t\t\t\t\t|  1.增加店铺信息-----2.删除店铺信息  |\n");
	printf("\t\t\t\t\t|                                     |\n");
	printf("\t\t\t\t\t|-------------------------------------|\n");
	printf("\t\t\t\t\t|                                     |\n");
	printf("\t\t\t\t\t|  3.修改店铺信息-----4.查询店铺信息  |\n");
	printf("\t\t\t\t\t|                                     |\n");
	printf("\t\t\t\t\t|-------------------------------------|\n");
	printf("\t\t\t\t\t|                                     |\n");
	printf("\t\t\t\t\t|  5.显示店铺信息-----6.未交房租店铺  |\n");
	printf("\t\t\t\t\t|                                     |\n");
	printf("\t\t\t\t\t|-------------------------------------|\n");
	printf("\t\t\t\t\t|                                     |\n");
	printf("\t\t\t\t\t|            7.退 出 系 统            |\n");
	printf("\t\t\t\t\t|                                     |\n");
	printf("\t\t\t\t\t***************************************\n");
	printf("\t\t\t\t\t请输入菜单编号:");
}
int Read_FILE(node* L) //读取文件 
{
	FILE* pfRead = fopen("supermarket_information.txt", "r");
	node st;
	node* s;
	node* t = L;
	if (pfRead == NULL)
	{
		return 0;
	}
	while (fscanf(pfRead, "%d %s %s %s %d %d %d %d %d %d %s", &st.ID, st.Name, st.name,st.dizhi, &st.xiaoshou,&st.chang, &st.kuan,&st.year,&st.mouth,&st.day,st.shifou) != EOF)
	{
		s = (node*)malloc(sizeof(node));
		*s = st;
		t->next = s;
		t = s;
		t->next = NULL;
	}
	fclose(pfRead);
	return 1;
}
int  Save_FILE(node* L) // 保存文件 
{
	FILE* pfWrite = fopen("supermarket_information.txt", "w");
	if (pfWrite == NULL)
	{
		return 0;
	}
	node* p = L->next;
	while (p != NULL)
	{
		fprintf(pfWrite, "%d %s %s %s %d %d %d %d %d %d %s\n", p->ID, p->Name,p->name,p->dizhi, p->xiaoshou, p->chang, p->kuan,p->year,p->mouth,p->day,p->shifou);
		p = p->next;
	}
	fclose(pfWrite); 
	return 1;
}
void Add_Printf() //增加店铺信息 
{
	int n,ID,c;
	c=0;
	node* gxy;
	printf("\n\n\t\t\t\t\t请输入要增加的店铺数:");
	scanf("%d",&n);
	for(int i=0;i<n;++i){
	node st;
	printf("\t\t\t\t\t编号:");
	scanf("%d", &ID);
	gxy=Search_id(ID, &list);
	if (gxy != NULL)
	{
		printf("\n\n\n\n\n\n\n\t\t\t\t\t\tid重复!"); 
		Sleep(2000);
		break; 
	}
	st.ID=ID;
	printf("\t\t\t\t\t店铺名称:");
	scanf("%s", st.Name);
	printf("\t\t\t\t\t店长姓名:");
	scanf("%s", st.name);
	printf("\t\t\t\t\t地址:");
	scanf("%s", st.dizhi);
	printf("\t\t\t\t\t销售额(整数):");
	scanf("%d", &st.xiaoshou);
	printf("\t\t\t\t\t占地面积:");
	scanf("%d",&st.chang);
	printf("\t\t\t\t\t租金(月):");
	scanf("%d", &st.kuan);
	printf("\t\t\t\t\t到租日期:\n");
	printf("\t\t\t\t\t\t年:");
	scanf("%d", &st.year);
	printf("\t\t\t\t\t\t月:");
	scanf("%d", &st.mouth);
	printf("\t\t\t\t\t\t日:");
	scanf("%d", &st.day);
	printf("\t\t\t\t\t是否交租(y/n):");
	scanf("%s",st.shifou); 
	Add(&list, st);
	//system("cls");	
	printf("\n\n\n\n\n\n\n\t\t\t\t\t\t录入成功!!\n"); 
	Sleep(1000);
	system("cls");
	}
	system("cls");
}
void Add(node* L, node e) //在链表中增加 
{
	node* p = L;
	node* s = (node*)malloc(sizeof(node));
	*s = e;
	s->next = p->next;
	p->next = s;
	Save_FILE(L);
}
void Dele(node* L) //删除店铺信息 
{
	Print(&list);
	int id;
	node* p;
	printf("\n\n\n\n\n\n\n\t\t\t\t\t\t请输入要删除的店铺的编号:");
	scanf("%d", &id);
	node* st = Search_id(id, L);
	p = st;
	system("cls");
	if (st == NULL)
	{
		printf("\n\n\n\n\n\n\n\t\t\t\t\t\t查无此铺!\n");
		Sleep(2000);
		return;
	}
	st = st->next;
	printf("\n\t\t\t\t所删除信息为:\n");
	printf("\t\t\t\t\t___________________________________________________________________________\n");
	printf("\t\t\t\t\t|编号\t|店铺名称|店长姓名|店铺地址|年销售额|占地面积|每月租金| 到租期限 |\n");
	printf("\t\t\t\t\t|________________________________________________________________________|\n");
	printf("\t\t\t\t\t|%d\t|%-8s|%-8s|%-8s|%-8d|%-8d|%-8d|%4d.%2d.%2d|\n", st->ID,st->Name, st->name, st->dizhi, st->xiaoshou, st->chang, st->kuan,st->year,st->mouth,st->day);
	printf("\t\t\t\t\t|________________________________________________________________________|\n");
	printf("\n\n\t\t\t\t\t\t删除成功!!\n"); 
	Delete(p);
	Save_FILE(L);
	Sleep(3000);
}
void Delete(node* s) //从链表中删除 
{
	node* t = s->next;
	s->next = t->next;
	t->next = NULL;
	free(t);
}
void Fix(node* L) //修改店铺信息 
{
	int id;
	printf("\n\n\n\n\n\n\n\t\t\t\t\t\t请输入要修改的店铺的编号:");
	scanf("%d", &id);
	node* st = Search_id(id, L);
	system("cls");
	if (st == NULL)
	{
		printf("\n\n\n\n\n\n\n\t\t\t\t\t\t羊村你喜哥都查不出来!!\n");
		Sleep(2000);
		return;
	}
	st = st->next;
	int choice = 0;
		printf("\t\t\t___________________________________________________________________________________\n");
		printf("\t\t\t|编号\t|店铺名称|店长姓名|店铺地址|年销售额|占地面积|每月租金| 到租期限 |是否交租|\n");
		printf("\t\t\t|_________________________________________________________________________________|\n");
		printf("\t\t\t|%d\t|%-8s|%-8s|%-8s|%-8d|%-8d|%-8d|%4d.%2d.%2d|%-8s|\n",st->ID,st->Name, st->name, st->dizhi, st->xiaoshou, st->chang, st->kuan,st->year,st->mouth,st->day,st->shifou);
		printf("\t\t\t|_________________________________________________________________________________|\n");
 
		printf("\n\n\t\t\t\t\t修改店铺名称请扣1\n");
		printf("\t\t\t\t\t修改店长姓名请扣2\n");
		printf("\t\t\t\t\t修改地址请扣3\n");
		printf("\t\t\t\t\t修改销售额请扣4\n");
		printf("\t\t\t\t\t修改占地面积请扣5\n");  
		printf("\t\t\t\t\t修改每月租金请扣6\n");
		printf("\t\t\t\t\t修改到租期限请扣7\n");
		printf("\t\t\t\t\t修改交租情况请扣8\n");
		printf("\t\t\t\t\t嗯哼:");
		scanf("%d", &choice);
		system("cls");
		switch (choice)
		{
		case 1:
			printf("\n\n\n\n\n\n\n\t\t\t\t\t\t请输入店铺名称:");
			scanf("%s", st->Name);
			break;
		case 2:
			printf("\n\n\n\n\n\n\n\t\t\t\t\t\t请输入店长姓名:");
			scanf("%s",&st->name);
			break;
		case 3:
			printf("\n\n\n\n\n\n\n\t\t\t\t\t\t请输入地址:");
			scanf("%s", st->dizhi);
			break;
		case 4:
			printf("\n\n\n\n\n\n\n\t\t\t\t\t\t请输入销售额(整数):");
			scanf("%d",&st->xiaoshou);
			break; 
		case 5:
			printf("\n\n\n\n\n\n\n\t\t\t\t\t\t请输入占地面积:");
			scanf("%d",&st->chang);
			break;
		case 6:
			printf("\n\n\n\n\n\n\n\t\t\t\t\t\t请输入每月租金:");
			scanf("%d",&st->kuan);
			break;
		case 7:
			printf("\n\n\n\n\n\n\n\t\t\t\t\t\t请输入到租期限:\n");
			printf("年:");	scanf("%d",&st->year);
			printf("月:");	scanf("%d",&st->mouth);
			printf("日:");	scanf("%d",&st->day);
			break;
		case 8:
			printf("\n\n\n\n\n\n\n\t\t\t\t\t\t请输入交租情况(y/n):");
			scanf("%s",st->shifou);
			break;
		default: 
			printf("\n\n\n\n\n\n\n\t\t\t\t\t\t你审不审题?\n");
			Sleep(2000);
			return;
		}
		system("cls");
		printf("\n\n\n\n\n\n\n\t\t\t\t\t\t修改成功!!\n");
		Save_FILE(L);
		Sleep(2000);
}
void Search(node* L) //查询店铺信息 
{
	int id;
	node* st;
		printf("\n\n\n\n\n\n\n\t\t\t\t\t\t请输入要查询的编号:");
		scanf("%d", &id);
		st = Search_id(id, L);
		system("cls");
		if (st == NULL)
		{
			printf("\n\n\n\n\n\n\n\t\t\t\t\t\t查无此铺!\n");
			Sleep(2000); 
		}
		else
		{
			st = st->next;
			printf("\t\t\t\t\t___________________________________________________________________________\n");
			printf("\t\t\t\t\t|编号\t|店铺名称|店长姓名|店铺地址|年销售额|占地面积|每月租金| 到租期限 |\n");
			printf("\t\t\t\t\t|________________________________________________________________________|\n");
			printf("\t\t\t\t\t|%d\t|%-8s|%-8s|%-8s|%-8d|%-8d|%-8d|%4d.%2d.%2d|\n", st->ID,st->Name, st->name, st->dizhi, st->xiaoshou, st->chang, st->kuan,st->year,st->mouth,st->day);
			printf("\t\t\t\t\t|________________________________________________________________________|\n");
			system("pause");
		}
}
node* Search_id(int id, node* L) //从链表中寻找 
{
	node* p = L;
	
	while (p->next != NULL)
	{
		if (p->next->ID == id)
		{
			return p;
		}
		p = p->next;
	}
	return NULL;
}
void jiaozu(node*L)//查找未交租店铺 
{
	Print_Printf();
	node* p=L;
	while(p != NULL)
	{
		if(strcmp(p->shifou,"n")==0)
		{
			printf("\t\t\t|%d\t|%-8s|%-8s|%-8s|%-8d|%-8d|%-8d|%4d.%2d.%2d|%-8s|\n", p->ID,p->Name, p->name, p->dizhi, p->xiaoshou, p->chang, p->kuan,p->year,p->mouth,p->day,p->shifou);
			printf("\t\t\t|_________________________________________________________________________________|\n");
		}
		p=p->next;
	}
	system("pause");
}
void Print(node* L) //显示所有店铺信息 
{
	node* p = L->next;
	Print_Printf();
	if (p != NULL)
	{
		while (p != NULL)
		{
		
			printf("\t\t\t|%d\t|%-8s|%-8s|%-8s|%-8d|%-8d|%-8d|%4d.%2d.%2d|%-8s|\n", p->ID, p->Name,p->name, p->dizhi, p->xiaoshou, p->chang, p->kuan,p->year,p->mouth,p->day,p->shifou);
			printf("\t\t\t|_________________________________________________________________________________|\n");
			p = p->next;
		}
	}
}
void Print_Printf()
{
	printf("\t\t\t___________________________________________________________________________________\n");
	printf("\t\t\t|编号\t|店铺名称|店长姓名|店铺地址|年销售额|占地面积|每月租金| 到租期限 |是否交租|\n");
	printf("\t\t\t|_________________________________________________________________________________|\n");
}
void gxy() //退出时心形 
{
 int s=0;
 float x, y;
 for (x = 1.3; x >= -1.1; x -= 0.1)
 {
  for (y = -2; y <= 1.4; y += 0.053)
  {
   if (pow(x * x + y * y - 1, 3) - x * x * x * y * y <= 0)
   {
    s++;
    if (s % 4 == 1)printf("g");
    if (s % 4 == 2)printf("x");
    if (s % 4 == 3)printf("y");
    if (s % 4 == 0)printf("^");
    Sleep(1);
   }
   else
    printf(" ");
  }
  printf("\n");
 }
}
void out() //退出程序 
{
	int p;
	printf("\t\t\t\t\t你确定???????????\n");
	printf("\t\t\t\t\t确定退出请按1,返回菜单请按2\n");
	scanf("%d",&p);
	if(p==1)
	{
		t=0;
		system("cls");
		printf("\n\n\t\t\t\t再见再见!!\n"); 
		gxy();
		exit(0);
	}
	if(p==2) 
	printf("\n\n\n\n\n\n\t\t\t\t\t\t\t已取消退出\n"); 
 } 
void jindutiao() //登录成功进度条 
 {
 	int i,j;
 	printf("\n\t\t\t\t\t\t*");
 	for(i=0;i<19;i++)
 	{
 		printf("-");
 		Sleep(80);
	 }
	 printf("*");
	 Sleep(400);
 }

店铺信息管理系统

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值