Friday, December 6, 2019

Project Report on Real Time Currency Converter

Question: Describe about the Project Report on Real Time Currency Converter? Answer: Aims The main aim of this application is to utilize the C++ programming language for the implementation of real time currency conversion. The application is to be developed to represent dynamic functionalities as that of online currency converters. The application can perform for simultaneous currency conversion by utilizing online information source. This application also provides a Graphical User Interface for currency conversion and command line interface for data stream. Objectives The major objectives of the application are illustrated as below: To implement real time currency conversion To utilize QT standard C++ library function To implement custom header file To fetch value from online XML datasheet To understand QT, HTTP protocol support Implementation of the tasks The QT5 creator is utilized to connect C++ program for HTTP data connection as it has a huge library function that can perform some outstanding functions, which are not possible to implement by using standard GCC library. In this application, www.ecb.europa.eu has been taken for acquiring the currency information via online. In the development of this application, a Graphical user interface has been created to enumerate four different currency conversions through online information source. For the testing and debugging purpose of this application, Mingw has been utilized to perform the entire compilation process. Curl has been utilized to implement getdata () function from outside of program environment. Major Techniques, algorithms and tools applied in the solution The major techniques implemented for the designing of this application is the creation of a customized header file apart from the QT external library resource file like Q application, Q Xml parser, XML query and etc. Algorithm: The algorithm as below defines the main functionality of the application: if first_currency_field = Null {set second_currency_field = Null } {set third_currency_field = Null } {set fourth_currency_field = Null } else { get first_currency_field = text () {set second_currency_field = first_currency_field * rate} {set third_currency_field = first_currency_field * rate} {set fourth_currency_field = first_currency_field * rate} } The tools deployed for the development of this application are: QT IDE: For program design and implementation GCC Mingw compiler: For compiling C++ source code and C++ object code Curl: For accessing HTTP requests from sever Specification of the Source Code The public class qtCurrconv() is used to convert input currency into four different forms of currency. The private class processCurrencyConversion() is used to calculate the other currency value from the input value of currency. updateRate() class has been created to fetch data in a sequential manner. The parseXml() class is used to get data from www.ecb.europa.eus XML file. public: qtCurrconv(QWidget *parent = 0); ~qtCurrconv(); private: void processCurrencyConversion(); void updateRate(); void parseXml(QByteArray bytes); public slots: void onFirstFieldEdit(); void onSecondFieldEdit(); void onThirdFieldEdit(); void onFourthFieldEdit(); void processNetworkReply(QNetworkReply*); Discussion of Performance and optimization techniques This application has a reliable speed and accuracy while fetching data from online source to execute the real time conversions of currency. It also has a Command line interface to provide the information about fetching of data from the source. The application has also capability for optimization with the assistance of QT creator IDE to minimize the code complexity and massive lines of coding. Bibliography Borchert, C., Schirmeier, H. and Spinczyk, O., 2012, September. Protecting the Dynamic Dispatch in C++ by Dependability Aspects. InGI-Jahrestagung(pp. 521-536). Schaetz, S. and Uecker, M., 2012. A multi-GPU programming library for real-time applications. InAlgorithms and Architectures for Parallel Processing(pp. 114-128). Springer Berlin Heidelberg. Shimobaba, T., Weng, J., Sakurai, T., Okada, N., Nishitsuji, T., Takada, N., Shiraki, A., Masuda, N. and Ito, T., 2012. Computational wave optics library for C++: CWO++ library.Computer Physics Communications,183(5), pp.1124-1138. Walmsley, M., 2012.Multi-threaded Programming in C++. Springer Science Business Media.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.