Program pobiera kod ean towaru, następnie wpisujemy nazwę i rozmiar.
Program działa jedynie z produktami np NIKE (pobieranie 12 cyfr, kontrolną pomija), przy produktach np ADIDASA pobiera 13. Jak będę miał czas to zrobię.
Pod koniec wszystkie produkty które dodaliśmy zostają zapisane do pliku csv (zgodnie ze składnią).
Program chujowy, ale akurat potrzebowałem - żeby ze zwykłego skanera za kilkaset zrobić kolektora za 2-3 tysie - i chyba działa, więc
http://egofiles.com/A97cLtAYjwLfXHS1 EXE
w spoilerze kod c++
Spoiler:
#include <iostream> #include <string.h> #include <conio.h> #include <stdio.h> int main(int argc, char** argv) { FILE *fp, *ptr; std::string ean; char znak; int ilosc = 0; int ilosc_modeli = 0; struct BAZA { std::string nazwa; std::string ean; std::string rozmiar; short int ilosc = 0; } towar[100]; if((fp = fopen("towar.csv", "wb")) == NULL) { std::cout << "Nie można otworzyć pliku towar.csv"; exit(-1); } while(znak != 'e') { if(znak <= 0) { system("cls"); std::cout << "Oczekuje na kod EAN...(wyjdziesz z programu klawiszem e!)"; } znak = getch(); if(znak == 'e') break; ean += znak; //std::cout << "Znak: " << znak << ", caly ean to: " << ean << ", dlugosc ean to: " << ean.length() << std::endl; if(ean.length() == 12) { znak = 0; for(int e = 0; e < 100; e++) { if(ean == towar[e].ean) { ean.clear(); system("cls"); //std::cout << "Tekst EAN zostal skasowany i zostalo: " << ean << std::endl; std::cout << "Mozesz podac liczbe sztuk albo potwierdzic dodanie jednej sztuki za pomoca '1': "; std::cin >> ilosc; if(znak == 1) { towar[e].ilosc += 1; //std::cout << "Kod ID: " << e << std::endl << "Kod EAN: " << towar[e].ean << " zostal dodany i jest go teraz: " << towar[e].ilosc << std::endl; } else { towar[e].ilosc += ilosc; //std::cout << "Towar o ID: " << e << std::endl << "i kodzie EAN: " << towar[e].ean << " zostal dodany i jest go teraz: " << towar[e].ilosc << std::endl; } break; } } for(int z = 0; z < 100; z++) { if(towar[z].ean == "" && ean.length() == 12) { //std::cout << "Tekst EAN jest: " << ean << std::endl; towar[z].ean = ean; //std::cout << "Tekst EAN jest: " << towar[z].ean; //fprintf (fp, "%s\n",ean.c_str()); ean.clear(); //std::cout << "Tekst EAN zostal skasowany i zostalo: " << ean << std::endl; towar[z].ilosc += 1; ilosc_modeli += 1; system("cls"); std::cout << "Kod ID: " << ilosc_modeli << std::endl << "Kod EAN: " << towar[z].ean << " zostal stworzony" << std::endl; std::cout << "Podaj nazwe towaru: "; getline(std::cin, towar[z].nazwa); std::cin.clear(); std::cout << "Podaj rozmiar: "; getline(std::cin, towar[z].rozmiar); //fwrite(&towar[z].ean, sizeof(towar[z].ean),sizeof(towar[z].ean),fp); break; } } } } fprintf(fp, "Ilosc;Nazwa;Rozmiar;EAN\n"); for(int x = 0; x < ilosc_modeli; x++) { //std::cout << towar[0].nazwa; //std::cout << std::endl << x << "." << std::endl; //std::cout << "EAN: " << towar[x].ean << std::endl; //std::cout << "Ilosc: " << towar[x].ilosc << std::endl; //fprintf (fp, "Ilosc: %d , Nazwa: %s , Rozmiar: %s, Kod EAN: %-12.12s\n",towar[x].ilosc, towar[x].nazwa.c_str(), towar[x].rozmiar.c_str(), towar[x].ean.c_str()); fprintf (fp, "%d;%s;%s;%-12.12s\n",towar[x].ilosc, towar[x].nazwa.c_str(), towar[x].rozmiar.c_str(), towar[x].ean.c_str()); } //system("pause"); fclose(fp); return 0; }