0

以下に示すcsvファイルから製品のバーコードを検索する必要があるという要件があります。

Sr. No.,Product Barcode,Product Description,Discount (%),Price Per Unit
1,011001,TOILET PAPER,5,40
2,011002,BATHING SOAP,0,27
3,011003,MOISTURIZER,3,95
4,011004,SHAMPOO,0,115
5,011005,CONDITIONER,5,155
6,011006,TISSUE,10,60
7,011007,HAIR OIL,0,75
8,011008,HAIR GEL,0,96
9,011009,BODY LOTION,7,195
10,011010,FACE WASH,0,85

ユーザーがバーコードを入力すると、csvファイルを検索し、ユニットあたりの価格と割引を取得して請求書を生成する必要があります。これはC++で実装する必要があります。開発の後の段階では、csvファイルの内容も更新する必要があります。たとえば、特定の商品の在庫があることを示す「数量」列があり、その商品が販売されている場合は、csvフィールドの数量も更新する必要があります。

csvファイルを検索してフィールドを取得する方法を教えてください。ネットで検索しましたが、満足のいく答えが見つかりませんでした。

私はBloodshedDevC++を使用しています。

4

2 に答える 2

0

getline()を使用して、入力したバーコードの製品価格を抽出し、請求書を生成することができます。

Cheers Guys forurresposes。

于 2012-12-07T10:04:28.543 に答える
0

使用することをお勧めしますlibpcre

あなたはこのようなことをすることができます-

#include <iostream>
#include <vector>
#include <string>
#include <pcre++.h>

using namespace std;
using namespace pcrepp;

int main(int argc, char **argv) {
    string pat = ",";
    vector<string> v;
    string s;
    Pcre p(pat);
    int ctr;
    while( getline(cin, s) ) {
        v = p.split(s);
        vector<string>::iterator i;
        for(i=v.begin(),ctr=0;i!=v.end();i++,ctr++) {
            if(ctr==2) {
                 cout << *i << endl;
            }
        }
    }
    return 0;
}

これは2番目の列またはn番目の列を抽出するにはやり過ぎかもしれないことに同意しますが、pcreを使用すると、CSVファイルから抽出するテキストに関して多くの自由が得られるため、この方法が好きです。

于 2012-12-08T20:23:30.657 に答える