zoukankan      html  css  js  c++  java
  • 存包练习

    要求:根据提示存取包裹,并可随时退回主菜单。

      1 #include<stdio.h>
      2 #include<stdlib.h>
      3 #include<time.h>
      4 #define N 28
      5 void menu();
      6 void insert();
      7 void del();
      8 void password(int id);
      9 int box[N]={0},sum=0;
     10 int main()
     11 {
     12     int x;
     13     while(1)
     14     {
     15         menu();
     16         scanf("%d",&x);
     17         fflush(stdin);//清理内存
     18         switch(x)
     19         {
     20         case 1:insert();break;
     21         case 2:del();break;
     22         case 0:exit(0);
     23         }
     24     }
     25     return 0;    
     26 }
     27 void del()
     28 {
     29     int id,pa;
     30     while(1)
     31     {
     32         printf("取箱号:");
     33         scanf("%d",&id);
     34         fflush(stdin);
     35         if(id==0) return;
     36         if(box[id-1]==0) printf("箱子为空,重找!
    ");
     37         else break;
     38     }
     39     while(1)
     40     {
     41         printf("您的密码:");
     42         scanf("%d",&pa);
     43         fflush(stdin);
     44         if(pa==0) return;
     45         if(pa!=box[id-1]) printf("密码错误,重输,必要时联系管理员!
    "); 
     46         else break;
     47     }
     48     box[id-1]=0;
     49     sum--;
     50 }
     51 void insert()
     52 {
     53     int id;
     54     srand((unsigned)time(NULL));
     55     while(1)
     56     {
     57         printf("箱号:");
     58         scanf("%d",&id);
     59         fflush(stdin);
     60         if(id==0) return;
     61         //查找id是否已存在
     62         if(box[id-1]!=0) printf("该箱已满,重选!
    ");
     63         else break;
     64     }
     65     sum++;
     66     do
     67     {
     68         box[id-1]=rand();
     69     }while(box[id-1]<10000);//得到5位密码
     70     password(id);
     71     printf("密码:%d
    ",box[id-1]);
     72     system("pause");
     73 }
     74 void password(int id)
     75 {
     76     FILE *fp;
     77     //取当前系统时间
     78     time_t t=time(NULL);
     79     char *time=ctime(&t);
     80     fp=fopen("password.txt","a");
     81     fprintf(fp,"id=%d,password=%d,time=%s",id,box[id-1],time);
     82     fclose(fp);
     83 }
     84 void menu()
     85 {
     86     system("cls");
     87     int i,j,count=0;
     88     printf("			┌──────────────┐
    ");
     89     printf("			│      超市存=★=包系统      │
    ");
     90     printf("			├──────────────┤
    ");
     91     for(j=0;j<N/7;j++)
     92     {
     93         //箱子
     94         printf("");
     95         for(i=j*7;i<j*7+7;i++)
     96         {    
     97             if(box[i]==0) printf("");
     98             else printf("");
     99         }
    100         printf("");
    101         //箱号
    102         printf("");
    103         for(i=j*7;i<j*7+7;i++)
    104         {
    105             printf(" %2d ",i+1);
    106         }
    107         printf("");
    108     }
    109     printf("			├──────────────┤
    ");
    110     printf("			│【1】存包【2】取包【0】退出 │
    ");
    111     printf("			│     请按照相应提示操作     │
    ");
    112     printf("			│         并记住密码         │
    ");
    113     printf("			│    忘记密码与管理员联系    │
    ");
    114     printf("			└──────────────┘
    ");
    115     printf("                                  已经存包:%d
    ",sum);
    116     printf("                                  剩余数:%d
    ",28-sum);
    117     printf("按相应数字键,回车确认:");
    118 }
    View Code
  • 相关阅读:
    在xp中用sc命令安装自己写的服务的具体步骤
    .net中导出excel数据不全的解决方案
    转载:20092010年中国商业智能市场分析
    xp发布多维数据集过程
    .net中导出excel时不能自动显示网格线的解决方案
    .net中访问多维数据集报错
    在xp中用DOS添加服务时,输入SC命令提示不可用的解决方案
    jenkins在奴隶机上安装dotnetsdk
    .NET Core 使用jenkins发布代码
    jenkins添加linux方法
  • 原文地址:https://www.cnblogs.com/kuangdaoyizhimei/p/3193877.html
Copyright © 2011-2022 走看看