Free Inventory Software

For some time now we have been distributing the sources of MerciGest in Access and we continue to do so, but we have thought of making a warehouse program available for free in a desktop version, this means that MS Access is no longer needed to use it. The name of the software is always MerciGest, this is because it is now well known.

MerciGest Free Inventory Software
This is what the main window of the desktop version of MerciGest looks like, very simple and intuitive

The usability of the program is very simple and intuitive, unfortunately at the moment we have not yet made video tutorials to illustrate the use of the management software, but we hope to make some in a few days. Meanwhile, on the web page dedicated to the program, we have inserted Calus video tutorials which is practically the same as the previous one, even if it has many more features and is clearly paid.

Posted in Management | Tagged , | Comments Off on Free Inventory Software

Introduction to the Standard Template Library (STL)

The Standard Template Library (STL) is one of the most powerful components of C++. It provides a collection of template classes to manage data structures and generic algorithms, improving code efficiency and readability.

In this article, we will explore the key elements of STL with practical examples to help junior programmers understand its usage and advantages.

1. Why use STL?

Using STL offers several advantages:

  • Efficient data management: Thanks to predefined containers, there is no need to implement complex data structures from scratch.
  • Optimized performance: STL algorithms are highly optimized and leverage advanced techniques to ensure speed and efficiency.
  • Code portability and maintenance: Code that uses STL is more readable and maintainable.
  • Flexibility: Iterators allow traversing containers without worrying about the internal implementation of the data structure.

2. Main components of STL

STL is divided into three main components:

  1. Containers: Data structures such as vector, list, map, set, etc.
  2. Algorithms: Functions for common operations such as searching, sorting, and modifying.
  3. Iterators: Objects that allow traversing containers in a uniform and efficient manner.

2.1 STL Containers

STL containers are divided into three categories:

  • Sequence Containers: vector, list, deque.
  • Associative Containers: set, map, multiset, multimap.
  • Unordered Containers: unordered_set, unordered_map, unordered_multiset, unordered_multimap.

Let’s see some examples.

Vector

std::vector is a dynamic array that automatically grows.

#include <iostream>
#include <vector>

int main() {
    std::vector<int> vec = {1, 2, 3, 4, 5};
    vec.push_back(6);

    for (int val : vec) {
        std::cout << val << " ";
    }
    return 0;
}

List

std::list is a doubly linked list.

#include <iostream>
#include <list>

int main() {
    std::list<int> lst = {10, 20, 30};
    lst.push_front(5);
    lst.push_back(40);

    for (int val : lst) {
        std::cout << val << " ";
    }
    return 0;
}

Map

std::map is an ordered dictionary based on balanced trees.

#include <iostream>
#include <map>

int main() {
    std::map<std::string, int> age;
    age["Alice"] = 25;
    age["Bob"] = 30;

    for (const auto& p : age) {
        std::cout << p.first << ": " << p.second << std::endl;
    }
    return 0;
}

2.2 STL Algorithms

STL includes numerous algorithms for performing operations on containers.

Sorting with std::sort

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<int> numbers = {5, 2, 9, 1, 5, 6};
    std::sort(numbers.begin(), numbers.end());

    for (int n : numbers) {
        std::cout << n << " ";
    }
    return 0;
}

Searching with std::find

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<int> numbers = {1, 2, 3, 4, 5};
    auto it = std::find(numbers.begin(), numbers.end(), 3);
    
    if (it != numbers.end()) {
        std::cout << "Element found: " << *it << std::endl;
    } else {
        std::cout << "Element not found" << std::endl;
    }
    return 0;
}

2.3 Iterators

Iterators allow traversing containers uniformly and efficiently.

One of the main advantages of iterators is their efficiency compared to traditional indices. They enable iteration over any STL container without needing to know its internal implementation details.

#include <iostream>
#include <vector>

int main() {
    std::vector<int> numbers = {10, 20, 30, 40};
    std::vector<int>::iterator it;
    
    for (it = numbers.begin(); it != numbers.end(); ++it) {
        std::cout << *it << " ";
    }
    return 0;
}

3. Conclusion

STL is a powerful tool that simplifies the management of data structures and algorithms in C++. Understanding containers, algorithms, and iterators will improve code quality and development productivity.

A programmer should learn to use STL to:

  • Write cleaner and more maintainable code.
  • Reduce development time thanks to predefined and optimized solutions.
  • Improve software performance with efficient algorithms and suitable data structures.

We encourage you to experiment with the provided examples and explore other STL functionalities to enhance your mastery of C++!

Posted in Programming | Leave a comment

Freeware Warehouse Management Software

MerciGest is our new completely freeware warehouse software. It is a desktop application for Windows systems that is simple to install and use it.

Free Inventory Software

Over the years we have updated the application many times up to version 3.0 and will continue the development in the future.

Among the features of the program stands out the management of the products in a table, in which data such as the quantity loaded, unloaded and the stock are always visible. In the prints, we have the list of goods, transport documents and invoices. The program allows you to see the print preview on screen before it is reproduced on paper for saving expenses. As a further feature we have a convenient agenda to keep track of your appointments.

There’s possibility to connect the program to various data sources, that is the part that allows our software to compete with web-based ones since it is possible to connect to a Microsoft SQL server for example on the Internet and be able to manage data from various locations potentially anywhere in the world. It therefore turns out to be a better management software than those based on web pages since the calculation speed is higher and without burdening the server which can also be balanced, but above all, it is possible to view and interact with many data at a time as the graphical interface of a desktop program is more accessible than a web-based one.

From the experience of the free version we have also developed a professional one that allows you to manage your warehouse even faster and more securely.

Among the additional features we have the use of the barcode reader for searching and inserting products, many more summary prints including the warehouse value. Another additional feature is the technical assistance through the ticket system, you will have a certain answer within 24h of the request.

Our MerciGest project, both in freeware and paid version, has received much appreciation over time because it is easy to use and allows a complete view of warehouse data. We are continually committed to developing this project more and more, trying to bring it to have all the characteristics needed to manage a warehouse with thousands or millions of products.

Posted in Management, Press release | Tagged | Leave a comment