精华内容
下载资源
问答
  • 实验室设备管理系统

    2019-03-23 10:09:25
    实验室设备管理系统
  • 实验室设备管理系统实验室设备管理系统实验室设备管理系统实验室设备管理系统实验室设备管理系统实验室设备管理系统实验室设备管理系统实验室设备管理系统实验室设备管理系统
  • JSP实验室设备管理系统 JSP实验室设备管理系统 JSP实验室设备管理系统
  • 实验室设备管理系统.7z
  • 使用Java制作的实验室设备管理系统
  • 实验室设备管理 系统

    千次阅读 2015-05-31 07:56:32
    printf("*****************************高校实验室设备管理系统*****************************"); printf("********************************************************************************\n\n\n\n\n"); ...
    # include <stdio.h>
    # include <string.h>
    # include <iostream>
    # include <stdlib.h>
    # include <algorithm>
    # include <windows.h>
    using namespace std;
    struct yonghu
    {
        char zhanghao[20];
        char name[20];
        char mima[20];
        char xibie[20];
    };
    
    struct guanli
    {
        char zhanghao[20];
        char mima[20];
        char name[20];
        char bumen[20];
    };
    
    struct shebei
    {
        char bianhao[20];
        char name[100];
        char shiyanshi[100];
        char leibie[100];
        char jianjie[100];
        char caozuo[1000];
    };
    struct yonghu a[100];
    struct guanli b[100];
    struct shebei c[100];
    
    int n1=0;
    int n2=0;
    int n3=0;
    int i;
    int q;
    bool yong=0;
    bool guan=0;
    
    
    void start();
    void menu1();
    void zhucaidan();
    void chaxun();
    void shebei();
    void gerenxinxi();
    void zhuce();
    void bianhaochaxun();
    void mingchengchaxun();
    void tuichu();
    void xiugaimima();
    void guanli();
    void yonghuguanli();
    void shebeiluru();
    void xiugaiyonghumima();
    void tianjiayonghu();
    void chaxunyonghu();
    
    
    void start() //开始界面
    {
        system("cls");//清屏
        system("color 1E"); //设置文字颜色为黄色 背景色蓝色
    	printf("\n\n\n\n\n\n");
    	printf("********************************************************************************");
    	printf("*****************************高校实验室设备管理系统*****************************");
    	printf("********************************************************************************\n\n\n\n\n");
    	printf("\t\t\t\t     \n");
    	printf("\t\t\t\t         \n\n\n\n");
    
    	printf("\t\t\t    ***按任意键进入***\n");
    
    }
    void menu1()  //登录注册界面 已完成
    {
        system("cls");
    	system("color 1F");
    	printf("\t\t\t\t***菜单***\n\n");
    	printf(">>>>>>>>>>>>>>>>>>>>>>>>>  1  登录      \n\n");
    	printf(">>>>>>>>>>>>>>>>>>>>>>>>>  2  注册  \n\n");
    	printf(">>>>>>>>>>>>>>>>>>>>>>>>>  3  退出      \n\n");
    
    }
    void xiugaimima()
    {
        char s1[20],s2[20];
        J:
        system("cls");
        printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    请输入新密码:  ");
        scanf("%s",s1);
        printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    请再一次输入新密码:  ");
        scanf("%s",s2);
        if(stricmp(s1,s2)==0)
        {
            if(yong)
            strcpy(a[i].mima,s1);
            else if(guan)
                 strcpy(b[q].mima,s1);
        printf("\n\n\n\n********************************************************************************");
    	printf("********************************恭喜您,修改成功!**********************************");
    	printf("********************************************************************************\n\n\n\n\n");
    	getchar();
    
    	gerenxinxi();
        }
        else
        {
             printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    两次输入不一致请重新输入!:  ");
             getchar();
             getchar();
             goto J;
        }
    }
    void guanli()
    {
      M:
        system("cls");
        printf("\n\n\n>>>>>>>>>>>>>>>>>>>>>>>>>  1  设备查找      \n\n");
    	printf(">>>>>>>>>>>>>>>>>>>>>>>>>  2  个人信息  \n\n");
    	printf(">>>>>>>>>>>>>>>>>>>>>>>>>  3  退出      \n\n");
    	int num=0;
        scanf("%d",&num);
        switch(num)
       {
        case 1: shebei();break;
        case 2: gerenxinxi();break;
        case 3:
        tuichu();
    //
    
    	break;
        default :printf("\t\t您输入的有误请重新输入!\t\t\n");
        getchar();
        goto M;
       }
    }
    void tuichu()//已完成
    {
        FILE*fp;   //声明fp是指针,用来指向FILE类型的对象
    if ((fp=fopen("yonghu","w"))==NULL) //打开职工列表文件为空
    {
        printf ("打开失败\n");
            exit(0);
    }
    
    for(int j=0;j<n1;j++)
      fprintf(fp,"%s %s %s %s\n",a[j].zhanghao,a[j].name,a[j].mima,a[j].xibie);
    
    
    fclose(fp);
    
    if ((fp=fopen("shebei","w"))==NULL) //打开职工列表文件为空
    {
        printf ("打开失败\n");
            exit(0);
    }
    
    for(int j=0;j<n3;j++)
      fprintf(fp,"%s %s %s %s %s %s\n",c[j].bianhao,c[j].name,c[j].shiyanshi,c[j].leibie,c[j].jianjie,c[j].caozuo);
    
    fclose(fp);
    
    if ((fp=fopen("guanliyuan","w"))==NULL) //打开职工列表文件为空
    {
        printf ("打开失败\n");
            exit(0);
    }
    
    for(int j=0;j<n2;j++)
      fprintf(fp,"%s %s %s %s\n",b[j].zhanghao,b[j].name,b[j].mima,b[j].bumen);
    
    fclose(fp);
    
        system("cls");//
        printf("\n\n\n\n********************************************************************************");
    	printf("**************************谢谢使用高校实验室设备管理系统************************");
    	printf("********************************************************************************\n\n\n\n\n");
    	system("pause");
    	exit(0);
    //
    
    }
    void denglu() //登录界面 已完成
    {
        int num=0;
        char s1[20],s2[20];
         B:
        system("cls");//
    
        printf("\n\n\n>>>>>>>>>>>>>>>>>>>>>>>>>    请输入账号:  ");
        scanf("%s",s1);
        i=0;
    
        for(;i<n1;i++)
            if(strcmp(a[i].zhanghao,s1)==0)
                break;
        q=0;
        for(;q<n2;q++)
         if(strcmp(b[q].zhanghao,s1)==0)
                break;
    
            if(i==n1&&q==n2)
            {
                printf(">>>>>>>>>>>>>>>>>>>>>>>>> 对不起没有该账号,请重新输入或者注册\n");
                getchar();
    
                goto B;
            }
    
    
      C:
          system("cls");
    	printf(">>>>>>>>>>>>>>>>>>>>>>>>>    请输入密码:  ");
    	scanf("%s",s2);
        if(strcmp(a[i].mima,s2)!=0&&strcmp(b[q].mima,s2)!=0)
        {
                printf(">>>>>>>>>>>>>>>>>>>>>>>>> 密码有误,请重新输入\n");
                Sleep(800);
                getchar();
                num++;
            if(num==3)
             {
            num=0;
            D:
                int X;
              printf(">>>>>>>>>>>>>>>>>>>>>>>>> 您的密码输错三次。继续登录请按:1,返回主菜单请按:0 \n");
              scanf("%d",&X);
              switch(X)
              {
                  case 0: zhucaidan();break;
                  case 1: goto B;break;
                  default:   printf(">>>>>>>>>>>>>>>>>>>>>>>>> 您输入的数字不正确,请重新输入数字 \n");
                  getchar();
                  Sleep(800);
                  goto D;
              }
              goto B;
              }
                goto C;
        }
        else if(i<n1)
        {
            system("cls");//
    
            printf("\tWELCOME  %s using laboratory equipment management system \n",a[i].name);
            getchar();
            getchar();
            yong=true;
            chaxun();
    
        }
        else if(q<n2)
        {
    
             system("cls");//
            printf(" \n\n\nWelcome to the administrator %s using laboratory equipment management system \n",b[q].name);
            guan=true;
            getchar();
            getchar();
            chaxun();
        }
    }
    void shebei() //已完成
    {
        G:
        system("cls");
        printf("********************************************************************************");
    	printf("********************************************************************************\n\n\n");
    	printf(">>>>>>>>>>>>>>>>>>>>>>>>>  1  按编号查询      \n\n");
    	printf(">>>>>>>>>>>>>>>>>>>>>>>>>  2  设备名称查询 \n\n");\
    	printf(">>>>>>>>>>>>>>>>>>>>>>>>>  3  返回上一层  \n\n");
    	printf(">>>>>>>>>>>>>>>>>>>>>>>>>  4  退出      \n\n");
    	int num;
    	scanf("%d",&num);
    	switch(num)
    	{
        case 1: bianhaochaxun();break;
        case 2: mingchengchaxun();break;
        case 3: chaxun();break;
        case 4:
        tuichu();
    	break;
        default :
        printf("\t\t您输入的有误请重新输入!\t\t\n");
        Sleep(800);
        getchar();
         goto G;
    
    	}
    
    
    }
    void xiugaiyongyumima()
    {
        char s[20],s1[20],s2[20];
        L:
        system("cls");
        printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>  请输入用户账号:      ");
        scanf("%s",s);
        int xx=0;
        for(;xx<n1;xx++)
            if(strcmp(a[xx].zhanghao,s)==0)
            break;
        if(xx==n1)
        {
            printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>  账号:%s不存在请重新输入!\n\n",s);
            getchar();
            goto L;
        }
        M:
        system("cls");
        printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>  请输入用户新密码:      ");
        scanf("%s",s1);
        printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>  请再一次输入用户的新密码:      ");
        scanf("%s",s2);
        if(strcmp(s1,s2)!=0)
        {
            printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>  两次输入不一致,请重新输入!\n");
            getchar();
            Sleep(800);
            goto M;
        }
        else
        {
        strcpy(a[xx].mima,s1);
        printf("\n\n\n\n********************************************************************************");
    	printf("********************************恭喜您,修改成功!**********************************");
    	printf("********************************************************************************\n\n\n\n\n");
    	getchar();
    	getchar();
    	yonghuguanli();
        }
    
    
    
    
    }
    void tianjiayonghu()
    {
      LL:
      bool flag=0;
      system("cls");
      char  s1[20];
      printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    请输入用户账号    :  ");
      scanf("%s",s1);
      int qq=0;
      for(;qq<n1;qq++)
        if(strcmp(a[qq].zhanghao,s1)==0)
        {
            flag=1;
            break;
        }
        if(flag)
      {
          printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    该用户账号已存在,请重新输入用户账号!  ");
          getchar();
          Sleep(800);
          goto LL;
    
      }
      else
      {
          strcpy(a[n1].zhanghao,s1);
          printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    请输入用户的名字  :  ");
          scanf("%s",a[n1].name);
          printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    请输入用户的密码  :  ");
          scanf("%s",a[n1].mima);
          printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    请输入用户系别    :   ");
          scanf("%s",a[n1].xibie);
    
          AA:
            system("cls");
          printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    确定添加请按:1,取消添加请按:2!");
          int x;
          scanf("%d",&x);
          switch(x)
          {
              case 1:
          n1=n1+1;
          printf("\n\n\n\n********************************************************************************");
    	  printf("********************************恭喜您,添加成功!**********************************");
    	  printf("****************************************************************************\n\n\n\n\n");
    	  break;
              case 2:
          printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    已取消添加!");
          getchar();
           break;
          default:printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    输入的数字不正确,请重新输入数字!");
          getchar();
          Sleep(800);
          goto AA;
          }
          getchar();
          yonghuguanli();
    
      }
    
    }
    void gerenxinxi() //已完成
    {
        if(yong)
        {
        system("cls");
        printf("********************************************************************************");
        printf("\n*************姓名        账号              密码       系别*********************");
        printf("\n*************%s      %s     %s     %s\n",a[i].name,a[i].zhanghao,a[i].mima,a[i].xibie);
    	printf("********************************************************************************\n\n\n\n\n");
    	getchar();
    	getchar();
        }
        else if(guan)
        {
        system("cls");
        printf("********************************************************************************");
        printf("\n*************姓名        账号              密码       部门*********************");
        printf("\n*************%s      %s     %s     %s\n",b[q].name,b[q].zhanghao,b[q].mima,b[q].bumen);
    	printf("********************************************************************************\n\n\n\n\n");
    	getchar();
    	getchar();
        }
    	F:
    	system("cls");
        printf(">>>>>>>>>>>>>>>>>>>>>>>>>  1  返回主菜单      \n\n");
    	printf(">>>>>>>>>>>>>>>>>>>>>>>>>  2  返回上一层  \n\n");
    	printf(">>>>>>>>>>>>>>>>>>>>>>>>>  3  修改密码  \n\n");
    	printf(">>>>>>>>>>>>>>>>>>>>>>>>>  4  退出      \n\n");
    	int num;
    	scanf("%d",&num);
    	switch(num)
    	{
        case 1: zhucaidan();break;
        case 2: chaxun();break;
        case 3: xiugaimima();break;
        case 4:
       tuichu();
    //
    	break;
        default :printf("\t\t您输入的有误请重新输入!\t\t\n");getchar();goto F;
    
    	}
    
    }
    void zhuce()// 已完成
    {
     bool flag=0;
    
     int cou=0;
     char s1[20],s2[20],s3[20];
     I:
        system("cls");
     printf("\n\n\n>>>>>>>>>>>>>>>>>>>>>>>>>    请输入账号:  ");
    
     scanf("%s",s3);
     for(int j=0;j<n1;j++)
        if(strcmp(a[j].zhanghao,s3)==0)
     {
         printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>   您的账号已存在,请直接登录!  ");
         getchar();
         getchar();
         denglu();
    
     }
      strcpy(a[n1].zhanghao,s3);
    
         H:
         if(flag)
            system("cls");
     printf("\n\n\n>>>>>>>>>>>>>>>>>>>>>>>>>    请输入密码:  ");
      scanf("%s",s1);
      printf("\n\n\n>>>>>>>>>>>>>>>>>>>>>>>>>    请再一次输入密码:  ");
       scanf("%s",s2);
       if(stricmp(s1,s2)==0)
        strcpy(a[n1].mima,s1);
       else
       {
            printf("\n\n\n>>>>>>>>>>>>>>>>>>>>>>>>>    两次密码不一致请重新输入!  ");
            cou++;
            if(cou==3)
            {
                 printf("\n\n\n>>>>>>>>>>>>>>>>>>>>>>>>>    输入错误三次请重新注册!  ");
                 getchar();
                 cou=0;
                 goto I;
            }
            flag=1;
            goto H;
       }
        printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    请输入姓名:  ");
        scanf("%s",a[n1].name);
        printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    请输入系别:  ");
        scanf("%s",a[n1].xibie);
        system("cls");
        printf("\n\n\n\n********************************************************************************");
    	printf("********************************恭喜您,注册成功!**********************************");
    	printf("****************************************************************************\n\n\n\n\n");
      getchar();
      getchar();
      n1=n1+1;
          getchar();
     denglu() ;
     }
    
    void bianhaochaxun() //已完成
    {
      char s1[20];
      int cun=0;
    
      K:
          system("cls");
         printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    请输入设备编号:  ");
         scanf("%s",s1);
         int  jj=0;
         for(;jj<n3;jj++)
            if(strcmp(c[jj].bianhao,s1)==0)
            break;
         if(jj==n3)
         {
               printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    不存在该编号的设备! ");
               printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    请重新输入设备编号!");
               Sleep(800);
               getchar();
               cun++;
               if(cun==3)
               {
                    printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    您已输错多次,建议您按名称查询! ");
                    getchar();
                    shebei();
               }
               goto K;
    
         }
         system("cls");
          printf("设备编号  : %s\n设备名称  : %s\n设备实验室: %s\n设备类别  : %s\n设备简介  :%s\n设备操作  :%s\n",c[jj].bianhao,c[jj].name,c[jj].shiyanshi,c[jj].leibie,c[jj].jianjie,c[jj].caozuo);
         getchar();
         getchar();
        shebei();
    
    }
    void yonghuchaxun()
    {
        char s[20];
        B:
            system("cls");
      printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    请输入用户账号:");
      scanf("%s",s);
      int ii=0;
      for(;ii<n1;ii++)
        if(strcmp(a[ii].zhanghao,s)==0)
        break;
      if(ii==n1)
      {
            printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    没有该用户,请重新输入!\n ");
            getchar();
            goto B;
      }
      else
      {
        system("cls");
        printf("********************************************************************************");
        printf("\n*************姓名        账号              密码       系别*********************");
        printf("\n*************%s      %s     %s       %s\n",a[ii].name,a[ii].zhanghao,a[ii].mima,a[ii].xibie);
    	printf("********************************************************************************\n\n\n\n\n");
    	getchar();
    	getchar();
    	yonghuguanli();
      }
    }
    void yonghuguanli()
    {
        N:
        system("cls");
      printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    添加用户请按     :1");
      printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    修改用户密码请按 :2 ");
      printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    返回上一层请按   :3 ");
      printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    查询用户请按     :4 ");
      printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    退出请按         :5 \n");
     int num=0;
        scanf("%d",&num);
        switch(num)
       {
        case 1: tianjiayonghu();break;
        case 2: xiugaiyongyumima();break;
        case 3: chaxun();break;
        case 4: yonghuchaxun();break;
        case 5:
        tuichu();
    	break;
        default :printf("\t\t您输入的有误请重新输入!\t\t\n");getchar();goto N;
         }
    }
    void shebeiluru()
    {
        char s1[20];
    WW:
        system("cls");
     printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    请输入设备编号: ");
     scanf("%s",s1);
     int xx=0;
     for(;xx<n3;xx++)
        if(strcmp(c[xx].bianhao,s1)==0)
        break;
     if(xx<n3)
     {
         printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>   该编号的设备已存在,请重新输入! ");
         getchar();
         goto WW;
     }
     else if(xx==n3)
     {
         strcpy(c[n3].bianhao,s1);
         printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    请输入设备名称        :");
         scanf("%s",s1);
         strcpy(c[n3].name,s1);
         printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    请输入设备所在的实验室: ");
         scanf("%s",s1);
         strcpy(c[n3].shiyanshi,s1);
         printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    请输入设备类别        :");
         scanf("%s",s1);
         strcpy(c[n3].leibie,s1);
         printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    请输入简介            : ");
         scanf("%s",s1);
         strcpy(c[n3].jianjie,s1);
         printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    请输入设备的操作      : ");
         scanf("%s",s1);
         strcpy(c[n3].caozuo,s1);
         n3=n3+1;
         system("cls");
         printf("\n\n\n\n********************************************************************************");
    	 printf("********************************恭喜您,录入成功!**********************************");
    	printf("*****************************************************************************\n\n\n\n\n");
        getchar();
        getchar();
        chaxun();
     }
    
    }
    void mingchengchaxun() //已完成
    {
      char s1[20];
      int cun=0;
    
      K:
        system("cls");
         printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    请输入设备名称:  ");
         scanf("%s",s1);
         int  jj=0;
         for(;jj<n3;jj++)
            if(strcmp(c[jj].name,s1)==0)
            {
            system("cls");
            printf("设备名称  : %s\n设备编号  : %s\n设备实验室: %s\n设备类别  : %s\n设备简介  :%s\n设备操作  :%s\n",c[jj].name,c[jj].bianhao,c[jj].shiyanshi,c[jj].leibie,c[jj].jianjie,c[jj].caozuo);
            getchar();
           getchar();
           shebei();
    
    
            }
         if(jj==n3)
         {
              printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    不存在该名称的设备! ");
               printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    请重新输入设备名称!");
               Sleep(800);
               getchar();
               cun++;
               if(cun==3)
               {
                    printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>    您已输错多次,建议您了解后再查询! ");
                    Sleep(800);
                    getchar();
                    Sleep(800);
                    shebei();
               }
               goto K;
    
         }
    
    }
    void  chaxun() //已完成
    {
        if(yong)
        {
        E:
        system("cls");
        printf("\n\n\n>>>>>>>>>>>>>>>>>>>>>>>>>  1  设备查找      \n\n");
    	printf(">>>>>>>>>>>>>>>>>>>>>>>>>  2  个人信息  \n\n");
    	printf(">>>>>>>>>>>>>>>>>>>>>>>>>  3  退出      \n\n");
    	int num=0;
        scanf("%d",&num);
        switch(num)
       {
        case 1: shebei();break;
        case 2: gerenxinxi();break;
        case 3:
        tuichu();
    //
    
    	break;
        default :
        printf("\t\t您输入的有误请重新输入!\t\t\n");
        Sleep(800);
        getchar();
        goto E;
         }
        }
        else if(guan)
        {
        N:
        system("cls");
        printf("\n\n\n>>>>>>>>>>>>>>>>>>>>>>>>>  1  设备查找      \n\n");
    	printf(">>>>>>>>>>>>>>>>>>>>>>>>>  2  个人信息  \n\n");
        printf(">>>>>>>>>>>>>>>>>>>>>>>>>  3  用户管理  \n\n");
        printf(">>>>>>>>>>>>>>>>>>>>>>>>>  4  设备录入  \n\n");
    	printf(">>>>>>>>>>>>>>>>>>>>>>>>>  5  退出      \n\n");
    	int num=0;
        scanf("%d",&num);
        switch(num)
       {
        case 1: shebei();break;
        case 2: gerenxinxi();break;
        case 3: yonghuguanli();break;
        case 4: shebeiluru();break;
        case 5:
        tuichu();
    	break;
        default :
            printf("\t\t您输入的有误请重新输入!\t\t\n");
            Sleep(800);
            getchar();
            goto N;
         }
        }
    
    }
    void zhucaidan() //已完成
    {
    int num;
        A:
    menu1();
    scanf("%d",&num);
    switch(num)
    {
    case 1: denglu();break;
    case 2: zhuce();break;
    case 3:
       tuichu();
    	break;
    default :
        printf("\t\t您输入的有误请重新输入!\t\t\n");
        Sleep(800);
        getchar();
        goto A;
    }
    
    }
    int main()
    {
    FILE*fp;   //声明fp是指针,用来指向FILE类型的对象
    if ((fp=fopen("yonghu","r"))==NULL) //打开职工列表文件为空
    {
        printf ("打开失败\n");
            exit(0);
    }
    //cout<<n1<<endl;
    do
    {
      fscanf(fp,"%s%s%s%s",a[n1].zhanghao,a[n1].name,a[n1].mima,a[n1].xibie);
       n1++;
       //cout<<n1<<endl;
    }
    while(feof(fp)==0);  //检测流上的文件结束符
    fclose(fp);
    
    if ((fp=fopen("shebei","r"))==NULL) //打开职工列表文件为空
    {
        printf ("打开失败\n");
            exit(0);
    }
    
    do
    {
      fscanf(fp,"%s%s%s%s%s%s",c[n3].bianhao,c[n3].name,c[n3].shiyanshi,c[n3].leibie,c[n3].jianjie,c[n3].caozuo);
       n3++;
    }
    while(feof(fp)==0);  //检测流上的文件结束符
    fclose(fp);
    
    if ((fp=fopen("guanliyuan","r"))==NULL) //打开职工列表文件为空
    {
        printf ("打开失败\n");
            exit(0);
    }
    
    do
    {
      fscanf(fp,"%s%s%s%s",b[n2].zhanghao,b[n2].name,b[n2].mima,b[n2].bumen);
       n2++;
    }
    while(feof(fp)==0);  //检测流上的文件结束符
    fclose(fp);
    
    start();
    //cout<<n1<<endl;
    //for(int qq=0;qq<n1;qq++)
        //printf("%s %s %s %s\n",a[qq].zhanghao,a[qq].name,a[qq].mima,a[qq].xibie);
    getchar();
    zhucaidan();
    
    return 0;
    }
    

    展开全文
  • 我刚做的实验室设备管理系统,包含论文 源码 设计 欢迎指摘
  • 实验室设备管理系统SQL代码 课程设计时的SQL代码,不是很完整,仅供参考。 完整的实验室设备管理系统设计代码包括界面设计(使用的是C#)上传到了我的资源中。 ***界面截图 *** create database 实验室设备管理...

    实验室设备管理系统SQL代码

    课程设计时的SQL代码,不是很完整,仅供参考。
    完整的实验室设备管理系统设计代码包括界面设计(使用的是C#)上传到了我的资源中点此跳转
    以 C#+VS2019 作为开发环境, 采用 SqlServer 作为后台数据库管理系统, 开发了一款基于 C / S 结构的实验室设备管理系统。该系统分为管理员功能模块、 普通用户功能模块和设备维护员三个部分。
    管理员模块实现用户信息管理、设备类别、信息、 购买、维修、报废管理等功能;普通用户模块实现借用申请、申请结果查看、借用历史查询等功能。
    ***界面截图 ***
    在这里插入图片描述
    在这里插入图片描述

    create database 实验室设备管理系统
    on
    primary
    (
    	name = '实验室设备管理_data',
    	filename = 'E:\SqlServerData\实验室设备管理系统\实验室设备管理_data.mdf',
    	size = 5MB,
    	maxsize = 100MB,
    	filegrowth = 5%
    )
    log on
    (
    	name = '实验室设备管理_log',
    	filename = 'E:\SqlServerData\实验室设备管理系统\实验室设备管理_log.ldf',
    	size = 5MB,
    	maxsize = 100MB,
    	filegrowth = 5%
    )
    
    use 实验室设备管理系统
    
    create table 用户
    (
    	用户ID char(8) primary key,
    	用户名 nvarchar(10) not null,
    	用户密码 varchar(16) not null,
    	用户权限 int not null check (用户权限 <=3 and 用户权限 >= 1)
    )
    
    
    alter table 用户 drop 用户权限
    alter table 用户 add 用户权限 int not null check (用户权限 <=3 and 用户权限 >= 0)
    alter table 用户 add 电话 char(11) unique not null
    
    create table 设备信息
    (
    	设备编号 char(8) primary key,
    	设备名称 nvarchar(20) unique not null,
    	型号 nvarchar(10),
    	类别 nvarchar(5) default '计算机' check(类别 in('计算机','生物','物理','化学')), 
    	规格 nvarchar(10),
    	总数量 int check(总数量>=0),
    	当前剩余数量 int check(当前剩余数量 >=0 ),
    	生产厂家 nvarchar(10) not null
    )
    drop table 购买设备信息
    create table 购买设备信息
    (
    	购买ID int primary key identity(1,1),
    	设备编号 char(8) ,
    	实验室编号 char(8),
    	设备名称 nvarchar(20) unique not null,
    	型号 nvarchar(10),
    	类别 nvarchar(5) default '计算机' check(类别 in('计算机','生物','物理','化学')), 
    	购买日期 datetime default(getdate()) not null,
    	规格 nvarchar(10),
    	数量 int check(数量>=0),
    	单价 money not null,
    	购买人 nvarchar(10) not null,
    	生产厂家 nvarchar(10) not null,
    
    	foreign key(设备编号) references 设备信息(设备编号),
    	foreign key(实验室编号) references 实验室(实验室编号),
    )
    
    create table 实验室
    (
    	实验室编号 char(8) primary key,
    	实验室名称 nvarchar(10) unique not null,
    	实验室地址 nvarchar(10) unique not null
    
    )
    
    create table 设备详细编号
    (
    	设备编号 char(8) ,
    	设备ID   char(8) ,
    	实验室编号 char(8),
    	设备情况 nvarchar(5) default '正常' check(设备情况 in('正常','维修','报废'))
    	primary key (设备编号,设备ID),
    	foreign key (设备编号) references 设备信息(设备编号),
    	foreign key (实验室编号) references 实验室(实验室编号),
    )
    
    alter  table 设备详细编号 add 设备情况 nvarchar(5) default '正常' check(设备情况 in('正常','维修','报废'))
    update 设备详细编号 set 设备情况='正常'
    
    
    drop table 报修 
    create table 报修
    (
    	报修ID int primary key identity(1,1),
    	设备编号 char(8) ,
    	设备ID   char(8) ,
    	报修原因 nvarchar(30),
    	报修日期 datetime default(getdate()) not null,
    	维修日期 datetime ,
    	维修人员 nvarchar(10),
    	维修费用 money,
    	是否修复 bit default 0,
    	
    	foreign key(设备编号,设备ID) references 设备详细编号(设备编号,设备ID),
    )
    
    create table 报废
    (
    	报废ID int primary key identity(1,1),
    	设备编号 char(8) ,
    	设备ID   char(8) ,
    	报废原因 nvarchar(30),
    	报废日期 datetime default(getdate()) not null,
    	报废人员 nvarchar(10) not null,
    	
    	foreign key(设备编号,设备ID) references 设备详细编号(设备编号,设备ID),
    )
    
    create trigger 购买设备
    on 购买设备信息
    instead of insert
    as
    begin
    --设备信息表的插入变量
    	declare @EquipmentID as char(8)
    	declare @LaboratoryID as char(8)
    	declare @EquipmentName as nvarchar(20)
    	declare @Model as nvarchar(10)
    	declare @type as nvarchar(10)
    	declare @guige as nvarchar(10)
    	declare @count as int
    	declare @maker as nvarchar(20)
    --设备大小号插入变量
    	declare @pre_count as int
    	declare @now_count as int
    
    	select @EquipmentID=inserted.设备编号,@LaboratoryID=inserted.实验室编号,@EquipmentName=inserted.设备名称,@Model=inserted.型号,@type=inserted.类别,@guige=inserted.规格,@count=inserted.数量,@maker=inserted.生产厂家 from inserted
    
    	if not exists(select * from 设备信息 where @EquipmentID=设备编号)
    	begin
    		insert into 设备信息(设备编号,设备名称,型号,类别,规格,总数量,当前剩余数量,生产厂家) values(@EquipmentID,@EquipmentName,@Model,@type,@guige,@count,@count,@maker)
    	end
    	else
    	begin
    		update 设备信息 set 总数量=总数量+@count,当前剩余数量=当前剩余数量+@count where @EquipmentID=设备编号
    	end
    
    	select @pre_count=count(*) from 设备详细编号 where @EquipmentID=设备详细编号.设备编号
    	set @now_count=@pre_count+@count
    	set @pre_count=@pre_count+1
    	while @pre_count<=@now_count
    	begin
    		insert into 设备详细编号(设备编号,设备ID,实验室编号) values(@EquipmentID,@pre_count,@LaboratoryID)
    		set @pre_count = @pre_count+1
    	end
    
    	insert into 购买设备信息(设备编号,实验室编号,设备名称,型号,类别,购买日期,规格,数量,单价,购买人,生产厂家) select 设备编号,实验室编号,设备名称,型号,类别,购买日期,规格,数量,单价,购买人,生产厂家 from inserted
    
    end
    
    
    alter trigger 报修操作
    on 报修
    after insert
    as
    begin
    	declare @EquipmentID as char(8)
    	declare @EquipmentID2 as char(8)
    
    	select @EquipmentID=inserted.设备编号,@EquipmentID2=inserted.设备ID from inserted
    
    	update 设备详细编号 set 设备情况='维修' where @EquipmentID=设备编号 and @EquipmentID2=设备ID
    	update 设备信息 set 当前剩余数量=当前剩余数量-1 where @EquipmentID=设备编号
    
    end
    
    --select * from 报修
    --select * from 报废
    --select * from 设备信息
    --select * from 设备详细编号
    drop trigger 报废操作
    create trigger 报废操作
    on 报废
    after insert
    as
    begin
    	
    	declare @EquipmentID as char(8)
    	declare @EquipmentID2 as char(8)
    
    	select @EquipmentID=inserted.设备编号,@EquipmentID2=inserted.设备ID from inserted
    	if '正常'=(select 设备情况 from 设备详细编号 where @EquipmentID=设备编号 and @EquipmentID2=设备ID)
    	begin
    		update 设备信息 set 当前剩余数量=当前剩余数量-1 where @EquipmentID=设备编号
    	end
    	update 设备详细编号 set 设备情况='报废' where @EquipmentID=设备编号 and @EquipmentID2=设备ID
    
    end
    
    alter trigger 设备借用
    on 设备详细编号
    after update
    as
    begin
    	declare @EquipmentID as char(8)
    	declare @EquipmentState as nvarchar(5)
    	
    	select @EquipmentID=inserted.设备编号,@EquipmentState=inserted.设备情况 from inserted
    	if @EquipmentState='使用中'
    	begin
    	update 设备信息 set 当前剩余数量=当前剩余数量-1 where @EquipmentID=设备编号
    	end
    	if @EquipmentState='正常'
    	begin
    	update 设备信息 set 当前剩余数量=当前剩余数量+1 where @EquipmentID=设备编号
    	end
    end
    
    select * from 设备详细编号  and 设备情况='正常'
    
    select s1.设备编号,s1.设备ID,s1.实验室编号,s2.设备名称 from 设备详细编号 as s1 join 设备信息 as s2 on s1.设备编号=s2.设备编号 where s1.用户ID = '20180002'
    
    select s1.设备编号,s1.设备ID,s2.设备名称,s2.类别,s2.生产厂家,s1.报修原因,s1.报修日期 from 报修 as s1 join 设备信息 as s2 on s1.设备编号=s2.设备编号
    where s1.是否修复=0
    
    alter trigger 修理完成
    on 报修
    after update
    as
    begin
    	declare @EquipmentID as char(8)--大号
    	declare @EquipemntNo as char(8)--小号
    	
    	select @EquipmentID=inserted.设备编号,@EquipemntNo=inserted.设备ID from inserted
    
    	update 设备信息 set 当前剩余数量=当前剩余数量+1 where @EquipmentID=设备编号
    	update 设备详细编号 set 设备情况='正常' where @EquipmentID=设备编号 and @EquipemntNo=设备ID
    
    
    end
    
    update 报修 set 维修日期=GETDATE(),维修人员='',维修费用='',是否修复=1 where 设备编号='' and 设备ID=''
    
    select s1.报修ID,s1.设备编号,s1.设备ID,s2.设备名称,s1.报修日期,s1.维修日期,s1.维修费用,s1.报修原因 from 报修 as s1 join 设备信息 as s2 on s1.设备编号=s2.设备编号 where s1.是否修复=1 and 维修人员='赵一'
    
    select * from 用户 where 用户权限<>'1'
    
    delete  报修
    delete  报废
    delete  购买设备信息
    delete  设备详细编号
    delete  设备信息
    
    展开全文
  • 实验室设备管理系统的设计与实现

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 633
精华内容 253
关键字:

实验室设备管理系统