• hdu 1497(图书管理系统模拟)


    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1497

    思路:就是一个简单的图书管理系统模拟,book的布尔值显示是否在图书馆;如果有一个人还书,那么那个人的拥有书的信息也要修改。

    View Code
     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 using namespace std;
     6 #define MAXN 100000+10
     7 bool book[MAXN];
     8 int n,m;
     9 struct Person{
    10     int book[11];
    11     int _count;
    12 }Per[MAXN/10];
    13 
    14 
    15 int main(){
    16     int _case;
    17     while(~scanf("%d%d",&n,&m)){
    18         memset(book,true,sizeof(book));
    19         memset(Per,0,sizeof(Per));
    20         scanf("%d",&_case);
    21         while(_case--){
    22             char str[10];
    23             scanf("%s",str);
    24             int x,y;
    25             if(str[0]=='R'){
    26                 scanf("%d",&x);
    27                 if(book[x]){puts("The book is already in the library");continue;}
    28                 else {
    29                     book[x]=true;
    30                     puts("Return success");
    31                     bool flag=true;
    32                     for(int i=1;i<=m&&flag;i++){
    33                         int k=Per[i]._count;    
    34                         for(int j=1;j<=k;j++)if(Per[i].book[j]==x){
    35                             for(int l=j+1;l<=k;l++){Per[i].book[l-1]=Per[i].book[l];}
    36                             Per[i]._count--;
    37                             flag=false;
    38                             break;
    39                         }
    40                     }
    41                 }
    42             }else if(str[0]=='B'){
    43                 scanf("%d%d",&x,&y);
    44                 int count;
    45                 if(!book[y]){puts("The book is not in the library now");continue;}
    46                 else if(Per[x]._count==9){puts("You are not allowed to borrow any more");continue;}
    47                 else {book[y]=false;count=++Per[x]._count;Per[x].book[count]=y;puts("Borrow success");continue;}
    48             }else {
    49                 scanf("%d",&x);
    50                 if(Per[x]._count==0){puts("Empty");continue;}
    51                 else {
    52                     sort(Per[x].book+1,Per[x].book+Per[x]._count+1);
    53                     for(int i=1;i<Per[x]._count;i++){
    54                         printf("%d ",Per[x].book[i]);
    55                     }
    56                     printf("%d\n",Per[x].book[Per[x]._count]);
    57                 }
    58             }
    59         }
    60         puts("");
    61     }
    62     return 0;
    63 }
  • 相关阅读:
    \r,\n,\r\n的区别
    \r,\n,\r\n的区别
    C# TextBox 换行 滚动到最后一行
    C# TextBox 换行 滚动到最后一行
    C# Textbox 始终保持最后最后一行
    C# Textbox 始终保持最后最后一行
    踩坑之mongodb配置文件修改
    踩坑之mongodb配置文件修改
    开启mongodb 的web
    开启mongodb 的web
  • 原文地址:https://www.cnblogs.com/wally/p/3052377.html
Copyright © 2020-2023  润新知