3-9 J: LZY订单查询

题目描述

LZY由于在“饱了么”工作的不错,由其是上次在大家的帮助下完成了餐厅筛选系统,深得顶头上司WLJ的赏识。WLJ今天交给他一个新的任务,并且许诺LZY完成后给他升职加薪。为了降低LZY的工作量,WLJ只要求他筛选一天之内的订单即可。LZY于是又来求助你们了。WLJ这次给他的任务是,完成一个订单查询系统。一个订单由订单编号、订单名称、订单完成时间、用户满意度组成,LZY的任务是根据不同的筛选条件,筛选出符合要求的订单列表。

其实就是道快排题目

输入

测试样例由多组测试数据组成。每组测试数据第一行输入一个正整数 n ( 1 <= n <= 500 ),代表订单总数,接下来n行输入 3个字符串 a ,b ,c ( 1 <= a.length , b.length <= 20) ( c.length == 8 )和一个整数 d ( 0 <= d <= 5 )分别代表订单编号、订单名称、订单完成时间、用户满意度。
其中订单完成时间为固定格式 hh:mm:ss
最后一行输入两个字符串 q, w ,分别代表符合要求的订单的 最晚订单完成时间 以及 最低用户满意度,超出最晚订单完成时间以及低于最低用户满意度的订单不应该被筛选。
如果q和w任意一项为all,代表该项筛选没有限制。如果q和w均为 all,则输出所有订单信息。 筛选完成后按照 订单时间从小到大排序,如果时间一致,则按用户满意度从大到小排列,如果用户满意度一致,则按照订单编号从小到大排列。

输出

输出符合条件的订单信息,每条信息用换行符分隔。

样例输入 Copy

3
tmhymusgykzuynaxht zgdmpzqbuh 10:39:10 5
icfffbfoqekdrfjifx unwzrjcevc 02:15:17 2
ejdjjuooprfazylyrp bviuaftdfp 17:34:56 0
all 0

样例输出 Copy

icfffbfoqekdrfjifx unwzrjcevc 02:15:17 2
tmhymusgykzuynaxht zgdmpzqbuh 10:39:10 5
ejdjjuooprfazylyrp bviuaftdfp 17:34:56 0

思路:

仔细仔细。
char不熟练就用string 。strcmp();比 < , > , = 还香吗???

AC代码:

#include<bits/stdc++.h>
using namespace std;
 
struct ma{
    string a,b,c,d;
}s[505],s1[505];
string q,w;
int n,m;
int cmp1(ma x,ma y){
    if(x.c==y.c){
        if(x.d==y.d){
            return x.a<y.a;
        }else{
            return x.d>y.d;
        }
    }else{
        return x.c<y.c;
    }
}
int main(){
    while(cin>>n){
        for(int i=0;i<n;i++){
            cin>>s[i].a>>s[i].b>>s[i].c>>s[i].d;
        }
        cin>>q>>w;
        sort(s,s+n,cmp1);
        if(q=="all"&&w=="all"){
            for(int i=0;i<n;i++){
                cout<<s[i].a<<" "<<s[i].b<<" "<<s[i].c<<" "<<s[i].d<<endl;
            }
        }else if(q=="all" &&w!="all"){
            for(int i=0;i<n;i++){
                if(w<=s[i].d){
                    cout<<s[i].a<<" "<<s[i].b<<" "<<s[i].c<<" "<<s[i].d<<endl;
                }
            }
        }else if(q!="all" && w=="all"){
            for(int i=0;i<n;i++){
                if( q >= s[i].c ){
                    cout<<s[i].a<<" "<<s[i].b<<" "<<s[i].c<<" "<<s[i].d<<endl;
                }
            }
        }else{
            for(int i=0 ; i<n ; i++){
                if( q >= s[i].c && w<=s[i].d){
                    cout<<s[i].a<<" "<<s[i].b<<" "<<s[i].c<<" "<<s[i].d<<endl;
                }
            }
        }
    }
     
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
校园失物招领系统管理系统按照操作主体分为管理员和用户。管理员的功能包括字典管理、论坛管理、公告信息管理、失物招领管理、失物认领管理、寻物启示管理、寻物认领管理、用户管理、管理员管理。用户的功能等。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。 校园失物招领系统管理系统可以提高校园失物招领系统信息管理问题的解决效率,优化校园失物招领系统信息处理流程,保证校园失物招领系统信息数据的安全,它是一个非常可靠,非常安全的应用程序。 ,管理员权限操作的功能包括管理公告,管理校园失物招领系统信息,包括失物招领管理,培训管理,寻物启事管理,薪资管理等,可以管理公告。 失物招领管理界面,管理员在失物招领管理界面中可以对界面中显示,可以对失物招领信息的失物招领状态进行查看,可以添加新的失物招领信息等。寻物启事管理界面,管理员在寻物启事管理界面中查看寻物启事种类信息,寻物启事描述信息,新增寻物启事信息等。公告管理界面,管理员在公告管理界面中新增公告,可以删除公告。公告类型管理界面,管理员在公告类型管理界面查看公告的工作状态,可以对公告的数据进行导出,可以添加新公告的信息,可以编辑公告信息,删除公告信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值