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

📄 unit.h

📁 一个典型的小区消息管理系统
💻 H
字号:
////////////////////////////////////////////////////////////////////////////////////////////////////////




typedef struct
{
	char admin_name[MAX_MENU_LEN];
	char admin_code[MAX_MENU_LEN];
	int  a;//用户组个数
	int  num; //用户个数
	char user[100][MAX_USER_LEN];
		
}admin;
 



////////////////////////////////////////////////////////////////////////////////////////////////////////
typedef struct   //收件箱结构体定义
{ 
	FILE *fp;
    char send_time[MAX_USER_LEN];
    char sender_name[MAX_USER_LEN];
    int  flag;//标记信件状态已读或未读(初始化为0)
 }User_Rec_Box;

////////////////////////////////////////////////////////////////////////////////////////////////////////


typedef struct user     //用户结构体定义
{ 
	char user_name[MAX_USER_LEN];
    char user_code[MAX_USER_LEN];
    char gname[MAX_USER_LEN];   //用户所在的组名
	int count;  //记录收到的信件数(初始化值为-1)
    User_Rec_Box  info_box[MAX_INFO_NUM][MAX_INFO_LEN];
    struct user *next;//指向同一组的下一个用户
}User_Item;


////////////////////////////////////////////////////////////////////////////////////////////////////////


typedef struct usergroup
{
	char group_name[MAX_USER_LEN];//组名
    int b;//用户组中用户个数
    struct usergroup *glink; //指向下一个用户组的指针
    User_Item  *ulink; //指向组里的第一个用户的指针
}User_Group;


////////////////////////////////////////////////////////////////////////////////////////////////////////
 int change_user_group(User_Group *head,admin *adpt)
 {
	 CLS;
	User_Group *gp=head->glink;
	User_Item *up,*p;
	char uname[MAX_USER_LEN];
	while(gp)
    {
       printf("用户组%s:\n",gp->group_name);
       up=gp->ulink;
       while(up)
	   {
          printf("用户%s",up->user_name);
          up=up->next;
       }
	  gp=gp->glink;
    } 

    message(INFO,"请输入你要转移的用户名称:",NULL);
	gets(uname);
	gp=head->glink;
	  while(gp)
       {
	     up=gp->ulink;
         while(up)
         {
			   if(!strcmp(uname,up->user_name))
				{   
			       if(up==gp->ulink)
		           {
		            gp->ulink=up->next;
					 
				     message(INFO,"该用户已从原组删除!",WC);
					}
		           else
				   {
			         p->next=up->next;
				     message(INFO,"该用户已从原组删除!",WC);
				     return 1;
				   }
				 }
		           p=up;
		           up=up->next;
           }
		 
         gp=gp->glink;
	  }
   if(!gp) 
   {
	   message(ERROR,"该用户名不存在,转移用户失败!",WC); 
   }  
   message(INFO,"请选择你要转入的组",WC);
   gets(uname);
   gp=head->glink;
   while(gp)
   {
	   if(strcmp(gp->group_name,uname)==0)
	   { 
		   p=gp->ulink;
	       gp->ulink=up;
		   up->next=p;
	   }
	   gp=gp->glink;
		   
   }
  if(!gp) 
   {
	   message(ERROR,"该用组不存在,转移用户失败!",WC); 
   }  
   
   return 1;
 
 }
 

⌨️ 快捷键说明

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