<prompt> Andika programu ya C inayounganishwa na hifadhidata ya PostgreSQL, inasoma data kutoka kwa jedwali la mauzo, na kutoa ripoti inayoonyesha jumla ya kiasi cha mauzo kilichopangwa kulingana na aina ya bidhaa. Programu inapaswa kuruhusu watumiaji kubainisha kipindi cha ripoti.PLINFORMAT  <response>: pamoja na pamoja na pamoja na jumuisha Kazi ya kutoa ripoti ya mauzovoid generate_sales_reportpqxx::connection conn, const std::string start_date, const std::string end_date jaribu pqxx::kazi txnconn; Hoja ya kupata jumla ya kiasi cha mauzo kilichopangwa kulingana na aina ya bidhaa ndani ya kipindi kilichobainishwa std::string query CHAGUA kategoria_ya_bidhaa, SUMkiasi_cha_mauzo KUTOKA mauzo WHERE sale_date start_date AND sale_date end_date GROUP BY product_category;; pqxx::matokeo res txn.execswali; std::cout Kitengo cha BidhaatJumla ya Kiasi cha Mauzon; kwa const auto row : res std::cout safu0.kama t safu1.kama std::endl; txn.commit; catch const std::exception e std::cerr e.what std::endl; int mainint argc, char argv ikiwa argc ! 4 std::cerr Matumizi: argv0 std::endl; kurudi 1; std::string start_date argv1; std::string end_date argv2; std::string connection_string argv3; jaribu pqxx:: muunganisho wa muunganishounga_kamba; tengeneza_ripoti_ya_mauzoconn, tarehe_ya_kuanza, tarehe_ya_mwisho; catch const std::exception e std::cerr e.what std::endl; kurudi 1; kurudi 0; 