⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 网络会所管理系统.cpp

📁 一个简单的网络会所管理系统。功能不多
💻 CPP
字号:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct machine
{
  int id;
  int type;
  char morle[10];
  char player[20];                       
};
struct user
{
  int id;
  char name[20];
  char pwd[10];
};
void adduser()
{
	system("cls");
    struct user p;
	FILE *fp;
	if((fp=fopen("user.tex","ab"))==NULL)
	{
		printf("无法打开文件!");
		exit(0);
	}
	printf("\n请输入该会员的编号(数字):");
	scanf("%d",&p.id);
	printf("\n输入该会员的真实姓名(中文):");
	scanf("%s",p.name);
	printf("\n请输入该用户名的密码:");
	scanf("%s",p.pwd);
	fwrite(&p,sizeof(struct user),1,fp);
    fclose(fp);
}
void deluser()
{
    system("cls");
	int a,i=-1,j=0;
	struct user b,*p;
	FILE *fp;
	printf("请输入你要删除用户的编号");
	scanf("%d",&a);
    if((fp=fopen("user.tex","rb"))==NULL)
	{
		printf("无法打开文件!");
		exit(0);
	}
	rewind(fp);
	while(!feof(fp))
	{   	
		fread(&b,sizeof(struct user),1,fp);
		i++;     
	}
	p=(struct user *)calloc(i-1,sizeof(struct user));
	rewind(fp);
	while(!feof(fp))
	{   
		
		fread(&p[j],sizeof(struct user),1,fp);
		if(p[j].id==a)
			j--;
		j++;
        if(j==i-1)
		 break;
	}
	fclose(fp);
    if((fp=fopen("user.tex","wb"))==NULL)
	{
		printf("无法打开文件!");
		exit(0);
	}
	rewind(fp);
	for(i=0;i<j;i++)
	fwrite(&p[i],sizeof(struct user),1,fp);
	fclose(fp);
}
void displayuser()
{
	system("cls");
    FILE *fp;
	struct user p;
    if((fp=fopen("user.tex","rb"))==NULL)
	{
		printf("无法打开文件!");
		exit(0);
	} 
	fseek(fp,0,2);
	int u=ftell(fp);
	rewind(fp);
	printf("会员编号\t用户名\t密码\n");
    while(!feof(fp))
	{
		fread(&p,sizeof(struct user),1,fp);
		printf("%d\t%s\t%s\n",p.id,p.name,p.pwd);
		if(u-ftell(fp)<sizeof(struct user))
			break;
	}
    fclose(fp);
}
int findmach()
{
	FILE *fp;
	int a;
	struct machine p;
	printf("请输入需要机器的类型:1.普通型 2.贵宾型\n");
	scanf("%d",&a);
    if((fp=fopen("mach.tex","rb"))==NULL)
	{
		printf("无法打开文件!");
		exit(0);
	}
	fseek(fp,0,2);
	int u=ftell(fp);
	rewind(fp);
	while(!feof(fp))
	{
		fread(&p,sizeof(struct machine),1,fp);
		if(p.type==a&&strcmp(p.morle,"close")==0)
		   return p.id;
		if(u-ftell(fp)<sizeof(struct machine))
           break;
	}
	fclose(fp);
    printf("\n抱歉!没有适合的机器!");
    return 0;
    
}
void openmach()
{
    FILE *fp;
	struct machine p;
	int n;
	n=findmach();
	if(n==0)
	exit(0);
    if((fp=fopen("mach.tex","rb+"))==NULL)
	{
		printf("无法打开文件!");
		exit(0);
	}
	fseek(fp,0,2);
	int u=ftell(fp);
	rewind(fp);
	while(!feof(fp))
	{
		fread(&p,sizeof(struct machine),1,fp);
		if(p.id==n)
		{
		 fseek(fp,-sizeof(struct machine),1);
		 strcpy(p.morle,"open");
		 printf("第%d号机已经打开,欢迎使用",p.id);
		 fwrite(&p,sizeof(struct machine),1,fp);
         break;
		}
		if(u-ftell(fp)<sizeof(struct user))
			break;
	}
    fclose(fp);
}
void closemach()
{
	FILE *fp;
	int n;
	struct machine p;
	printf("输入你要关闭的机器:");
	scanf("%d",&n);
    if((fp=fopen("mach.tex","rb+"))==NULL)
	{
		printf("无法打开文件!");
		exit(0);
	}
    fseek(fp,-1,2);
	int u=ftell(fp);
	rewind(fp);
	while(!feof(fp))
	{
		fread(&p,sizeof(struct machine),1,fp);
		if(p.id==n)
		{
		 fseek(fp,-sizeof(struct machine),1);
		 strcpy(p.morle,"close");
		 fwrite(&p,sizeof(struct machine),1,fp);
         break;
		}
		if(u-ftell(fp)<sizeof(struct machine))
			break;
	}
    fclose(fp);
}
void addmach()
{
	system("cls");
    struct machine p;
	FILE *fp;
	if((fp=fopen("mach.tex","ab"))==NULL)
	{
		printf("无法打开文件!");
		exit(0);
	}
	fflush(stdin);
	printf("\n请输入该机器的编号(数字):");
	scanf("%d",&p.id);
	printf("\n请输入该机器的类型:");
	scanf("%d",&p.type);
	printf("%d",p.id);
    strcpy(p.morle,"close");
    strcpy(p.player,"guest");
	fwrite(&p,sizeof(struct machine),1,fp);
    fclose(fp);
}
void delmach()
{   
	int n;
	system("cls");
    struct machine p;
	FILE *fp,*fp1;
	printf("请输入你要删除的机器的编号:");
	scanf("%d",&n);
	if((fp=fopen("mach.tex","rb"))==NULL)
	{
		printf("无法打开文件!");
		exit(0);
	}
    fseek(fp,-1,2);
	int u=ftell(fp);
	rewind(fp);
    while(!feof(fp))
	{
		fread(&p,sizeof(struct machine),1,fp);
		if(p.id==n)
			break; 
		if(u-ftell(fp)<sizeof(struct machine))
        {
		printf("没有这个编号的机器!");
		exit(0);
		}
	}
    fp1=fp-sizeof(struct machine);
	while(!feof(fp))
    {
      fread(&p,sizeof(struct machine),1,fp);
      fwrite(&p,sizeof(struct machine),1,fp1);
      if(u-ftell(fp)<sizeof(struct machine))
		  break;
	}   
    fclose(fp);
    fclose(fp1);
}
void displaymach()
{
	system("cls");
    FILE *fp;
	struct machine p;
    if((fp=fopen("mach.tex","rb"))==NULL)
	{
		printf("无法打开文件!");
		exit(0);
	} 
	fseek(fp,0,2);
	int u=ftell(fp);
	rewind(fp);
	printf("机器编号\t机器类型\t状态\t使用者\n");
    while(!feof(fp))
	{
		fread(&p,sizeof(struct machine),1,fp);
		printf("%d\t\t%d\t\t%s\t%s\n",p.id,p.type,p.morle,p.player);
		if(u-ftell(fp)<sizeof(struct machine))
			break;
	}
    fclose(fp);
}
void main()
{
	char ch;
	int choice;
    printf("\n\n\n                        ■■■■■■■■■■■■■■■■■■■\n");
	printf("                        ■                                  ■\n");
	printf("                        ■                                  ■\n");
	printf("                        ■ ★★  欢迎使用网吧操作系统  ★★ ■\n"); 
    printf("                        ■                                  ■\n");
    printf("                        ■                                  ■\n");
    printf("                        ■                →冰河木马小组←  ■\n");
    printf("                        ■                                  ■\n");
    printf("                        ■小组成员:柳旺.胡杨.王博之. 王雅瑾■\n");
	printf("                        ■                                  ■\n");
	printf("                        ■■■■■■■■■■■■■■■■■■■\n");
	printf("                                                            \n");
	printf("                                                            \n");
	printf("                                                            \n");
	printf("                                                            \n");
    printf("                    请任意按键进入操作系统........................\n");
	getchar();
do{                 
		system("cls");   
		printf("\n\n\n\n                  §☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆§\n");
	    printf("                  ※             用户操作                 ※\n");
		printf("                  ※            1、 添加会员              ※\n");
		printf("                  ※            2、 删除会员              ※\n");
		printf("                  ※            3、 查询会员名单          ※\n");
		printf("                  ※〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓※\n");
	    printf("                  ※             计算机操作               ※\n");
        printf("                  ※            4、 开启使用机器          ※\n");
        printf("                  ※            5、 关闭使用机器          ※\n");
        printf("                  ※            6、 添加机器              ※\n");
        printf("                  ※            7、 删除机器              ※\n");
		printf("                  ※            8、 查询机器使用状况      ※\n");
	    printf("                  §☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆§\n");
		printf("\n                      ①用户操作:1-3\t②计算机操作:4-8\n\t\t\t\t\t");
		scanf("%d",&choice);

		switch(choice)
		{
		case 1:adduser();break;
		case 2:deluser();break;
		case 3:displayuser();break;
		case 4:openmach();break;
		case 5:closemach();break;
		case 6:addmach();break;
		case 7:delmach();break;
		case 8:displaymach();break;
		default:printf("没有这个功能!");
			    break;
		}
		printf("是否继续(Y)");	
		fflush(stdin);
		ch=getchar();
}while(ch=='y'||ch=='Y');
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -