实验室设备管理 系统

# 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;
}

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
#include "stdio.h" #include "stdlib.h" #include "string.h" struct shebei { char ID[10]; char name[15]; char kind[15]; char over[15]; char yesno[10]; char time[10]; char price[10]; }; typedef struct node { struct shebei data; struct node *next; //建立一个链表。 }Node; void Add(Node *equip) //添加记录 { Node *p,*r,*s; char id[10]; //先用于输入ID,也用于判断是否跳出循环 r=equip; s=equip->next; //使s为第一个有用的结点 while(r->next!=NULL) //这个循环的作用是使r为最后一个有用的结点 r=r->next; //将指针置于最末尾 while(1) { printf(">>>>>>>>>>提示:输入0则返回主菜单!\n"); printf("\n请你输入设备ID号:"); scanf("%s",id); if(strcmp(id,"0")==0) break; p=(Node *)malloc(sizeof(Node)); //申请空间 strcpy(p->data.ID,id); printf("\n请输入设备名称:"); scanf("%s",p->data.name); printf("\n请输入设备种类:"); scanf("%s",p->data.kind); printf("\n请输入报废日期:"); scanf("%s",&p->data.over); printf("\n请输入设备是否报废:"); scanf("%s",&p->data.yesno); printf("\n请输入设备购买时间:"); scanf("%s",&p->data.time); printf("\n请输入设备价格:"); scanf("%s",&p->data.price); printf(">>>>>>>>>>提示:已经完成一条记录的添加。\n"); p->next=NULL; r->next=p; //这一步是必需的,将p与先前的链表连起来构成一条新链表 r=p; //也是必需的.将r 又重设为新链的最后一个有用结点 } } void Modify(Node *equip)//修改 { Node *p; char find[20]; if(!equip->next) { printf("\n>>>>>>>>>>提示:没有资料可以修改!\n"); return; } printf("请输入要修改的设备ID号:"); scanf("%s",find); p=equip->next; while(p!=NULL) { if(strcmp(p->data.ID,find)==0) //如果找到的话返回的是符合要求 break; p=p->next; } if(p) //若找到 { int x; while(1) { printf("完成修改请输入0否则输入任意数再进行修改:"); scanf("%d",&x); if(x==0) {break;} printf("请输入新设备号(原来是 %s ):",p->data.ID); scanf("%s",p->data.ID); printf("请输入新设备名称(原来是 %s ):",p->data.name); scanf("%s"
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

&小鹏鹏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值