C语言实验设备管理系统

增删改查基本操作


#include <stdio.h>
#include<stdlib.h>
#include<string.h>
#define K 100

typedef struct message
{
    char num[20];     //设备编号 
    char kind[20];    //设备种类 
    char name[20];    //设备名称 
    char gdate[20];   //购入日期 
    char scarp[20];   //是否报废 
    char bdate[20];   //报废日期 
    char qita[20];  //其他信息 
}Message;

Message sebei[K];//全局变量,设备信息数组
static int Amount=0;//Amount变量用来保存当前设备数量
    
//声明部分
int pan_duan(int a,int b);//判断输入数值是否合理
void menu_show();//用来显示菜单 
void Xinxi_Luru();//信息录入 
void Xinxi_Liulan();//信息浏览 
void Xinxi_Zuijia();//信息追加 
void Xinxi_Xiugai();//信息修改 
void Xinxi_Shanchu();//信息删除 
void Xinxi_Chaxun();//信息查询 
int main() 
{    
    int m; //用来保存用户键盘输入的选项
    while(1)
    {
        menu_show();
        m=pan_duan(0,6);     
    switch(m)
        {
        case 1:
            {
            system("cls");//调用系统cls命令,实现清空屏幕的功能
            Xinxi_Luru();//信息录入     
            break;
            }
        case 2:
           {
            system("cls");
            Xinxi_Liulan();//信息浏览 
            break;
            }
        case 3:
           {
            system("cls");
            Xinxi_Zuijia();//信息追加
            break;
            }
        case 4:
           {
            system("cls");
            Xinxi_Xiugai();//信息修改
            break;
            }    
        case 5:
            {
            system("cls");
            Xinxi_Shanchu();//信息删除 
            break;
            }
        case 6:
            {
        system("cls");
            Xinxi_Chaxun();//信息查询
            break;
            }
        case 0:
            {
            printf("谢谢你的使用,再见!\n");
            system("pause");//调用系统pause命令,实现在命令行上输出一行文字,等待用户按一个键,然后返回。
            exit(0);  //正常结束程序运行
            break;
            }
        default: printf("Error!\n"); break;
        }
    
    }
    return 0;
}

void menu_show()       //系统界面函数 
{
    system("cls");
    printf("   欢迎进入实验设备管理系统!\n");
    printf("请输入您选择的操作(0~6):\n");
    printf("===========================\n");
    printf("   1. 实验设备信息的录入\n");
    printf("   2. 实验设备信息的浏览\n");
    printf("   3. 实验设备信息的追加\n");
    printf("   4. 实验设备信息的修改\n");
    printf("   5. 实验设备信息的删除\n");
    printf("   6. 实验设备信息的查询\n");
    printf("   0. 退出管理系统\n");
    printf("===========================\n");
}

int pan_duan(int a,int b) //用来判断键盘输入,将一个介于0到5之间的整数值返回,若输入的值不在[0,5]之间,则显示欢迎界面,重新输入.
{
    int p;
    scanf("%d",&p);
    while(p<a||p>b)
    {
        system("cls");
        printf("你输入错误!  (范围 %ld~%ld)\n",a,b);
        system("pause");
        printf("请重新输入:");
        return;
    }
    return p;
}

void Xinxi_Luru()//录入 
{
    int b,i=0;
    while(1)
    {
     printf("请输入设备编号:");
     scanf("%s",&sebei[Amount].num);
     printf("请输入设备种类:");
     scanf("%s",&sebei[Amount].kind);
       printf("请输入设备名称:");
     scanf("%s",&sebei[Amount].name);
     printf("请输入设备购入日期:");
     scanf("%s",&sebei[Amount].gdate);
     printf("请输入设备是否报废:");
     scanf("%s",&sebei[Amount].scarp);
     printf("请输入设备报废日期:");
     scanf("%s",&sebei[Amount].bdate);
     Amount++;
     printf("返回上一级请输入[0],继续录入请输入[1]:");
     scanf("%d",&b);
     if(b==0)
     return;
    }
}

void Xinxi_Liulan()//浏览 
{
    int b; 
    while(1)
    {
        int i;
        printf("编号    种类    名称    购入日期    是否报废    报废日期        其他\n");
        for(i=0;i<Amount;i++)
        {
         printf("%s    %s    %s    %s        %s        %s        %s",sebei[i].num,sebei[i].kind,sebei[i].name,sebei[i].gdate,sebei[i].scarp,sebei[i].bdate,sebei[i].qita);
         printf("\n");
        }
         printf("返回上一级请输入[0]");
        scanf("%d",&b);
        if(b==0)
        return;
    }
     
} 

void Xinxi_Zuijia()//信息追加 
{
    
    int i,b;
    char p[20];
while(1) 
    {
    system("cls");
    printf("请输入编号:");
    scanf("%s",p);    
    for(i=0;i<Amount;i++)
    {    
    if(strcmp(p,sebei[i].num)==0) 
        {
         printf("请输入追加信息:");
         scanf("%s",&sebei[i].qita);
      break;   
        }
    
    }
        if( i==Amount)
        {
        printf("无此设备\n");
        } 
        system("pause");      
    printf("返回上一级请输入[0],继续录入请输入[1]:");
    scanf("%d",&b);
    if(b==0)
    return; 
    }                        
}                


void Xinxi_Chaxun()//查询 
{
    int k,i;
    char o[20],p[20];
    while(1)
    {
    system("cls");    
    printf("请输入您选择的操作:\n");
    printf("===========================\n");
    printf("   1. 按编号查询\n");
    printf("   2. 按名称查询\n");
    printf("   0. 返回\n");    
    printf("===========================\n");
    k=pan_duan(0,2);
        switch(k)
        {
        case 1:
            {
                system("cls");
                printf("请输入编号:");
                scanf("%s",o);    
                for(i=0;i<Amount;i++)
                {
                    if(strcmp(o,sebei[i].num)==0)
                    {
                    printf("编号    种类    名称    购入日期    是否报废    报废日期        其他\n");
                    printf("%s    %s    %s    %s        %s        %s        %s\n",sebei[i].num,sebei[i].kind,sebei[i].name,sebei[i].gdate,sebei[i].scarp,sebei[i].bdate,sebei[i].qita);
                    break;
                    }                
                }
                 if(i==Amount)
                 {
                printf("无此设备\n");       
                 } 
                 system("pause");
            break;
            }
        case 2:
            {
                system("cls");
                printf("请输入名称:");
                scanf("%s",p);    
                for(i=0;i<Amount;i++)
                {    
                    if(strcmp(p,sebei[i].name)==0) 
                    {
                    printf("编号    种类    名称    购入日期    是否报废    报废日期        其他\n"); 
                    printf("%s    %s    %s    %s        %s        %s        %s\n",sebei[i].num,sebei[i].kind,sebei[i].name,sebei[i].gdate,sebei[i].scarp,sebei[i].bdate,sebei[i].qita);
                   break;
                   }
                }                                    
               if(i==Amount)
                 {
                     printf("无此设备\n");
                    } 
                      system("pause"); 
            break;    
            }    
        case 0:
            {
            break;
            }
            default: printf("Error!\n"); break;    
        }
        if(k==0)
        return;
    }
}
            
        
   
void Xinxi_Shanchu()
    {
        int i,j,b;
        char o[20]; 
       
            while(1) 
            
            {
                system("cls");
                printf("请输入想要删除的设备编号:");
               scanf("%s",o); 
                for(i=0;i<Amount;i++)
                {
                    if(strcmp(o,sebei[i].num)==0)
                    {
                    printf("编号    种类    名称    购入日期    是否报废    报废日期    其他\n");
                    printf("%s    %s    %s    %s        %s        %s        %s\n",sebei[i].num,sebei[i].kind,sebei[i].name,sebei[i].gdate,sebei[i].scarp,sebei[i].bdate,sebei[i].qita);
                    for(j=i;j<Amount-1;++j)
                        {
                        sebei[j]=sebei[j+1];
                        }  
                    Amount--;
                    system("pause");
                    break;
                     } 
                     }            
                    if(i--==Amount)
                    {
                     printf("无此设备\n");       
                    }    
                 
            printf("返回上一级请输入[0],继续删除请输入[1]:");
            scanf("%d",&b);
            if(b==0)
            return;                   
            }
        
    }
  
  
void Xinxi_Xiugai()
{
    int i,b;
    char p[20];
while(1) 
    {
    system("cls");
    printf("请输入编号:");
    scanf("%s",p);    
    for(i=0;i<Amount;i++)
    {    
    if(strcmp(p,sebei[i].num)==0) 
        {
         printf("请输入更改后的设备编号:");
         scanf("%s",&sebei[i].num);
         printf("请输入更改后的设备种类:");
         scanf("%s",&sebei[i].kind);
           printf("请输入更改后的设备名称:");
         scanf("%s",&sebei[i].name);
         printf("请输入更改后的设备购入日期:");
         scanf("%s",&sebei[i].gdate);
         printf("请输入更改后的设备是否报废:");
         scanf("%s",&sebei[i].scarp);
         printf("请输入更改后的设备报废日期:");
         scanf("%s",&sebei[i].bdate);
         system("pause"); 
         break;
        }
    }
        if(i==Amount)
         {
        printf("无此设备\n");       
         }     
    printf("返回上一级请输入[0],继续录入请输入[1]:");
    scanf("%d",&b);
    if(b==0)
    return; 
    }
}    
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

安于长情_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值