From 6b9aaea4ed6ac39dfe82282007cfc1948f424f46 Mon Sep 17 00:00:00 2001 From: speedson <edsoncassiano0@gmail.com> Date: Wed, 28 Oct 2020 10:19:43 -0300 Subject: [PATCH] first changes --- Makefile | 51 ++++++++++++++++++++++++++ bcr | Bin 0 -> 20072 bytes bin/bcr.o | Bin 0 -> 9904 bytes bin/main.o | Bin 0 -> 5344 bytes data/teste.txt | 10 ++++++ lib/bcr.h | 30 ++++++++++++++++ main.cpp | 18 ++++++++++ src/bcr.cpp | 96 +++++++++++++++++++++++++++++++++++++++++++++++++ ttt.txt | 41 +++++++++++++++++++++ 9 files changed, 246 insertions(+) create mode 100644 Makefile create mode 100755 bcr create mode 100644 bin/bcr.o create mode 100644 bin/main.o create mode 100644 data/teste.txt create mode 100644 lib/bcr.h create mode 100644 src/bcr.cpp create mode 100644 ttt.txt diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..4da60d8 --- /dev/null +++ b/Makefile @@ -0,0 +1,51 @@ +# Makefile Bar Chart Race + +# Project Name +PROJ_NAME = bcr + +# Sources files (*.cpp) +CPP_SOURCE = $(wildcard ./src/*.cpp) + +# Header files (*.h) +H_SOURCE = $(wildcard ./lib/*h) + +# Objects files +OBJ_FILE = $(subst .cpp,.o, $(subst src,bin,$(CPP_SOURCE))) + +# Compiler +CC = g++ + +# Flags for Compiler +CC_FLAGS = -c \ + -Wall \ + -std=c++11 + +# Remove Command +RM = rm -rf + +# Commands + +all: objFolder $(PROJ_NAME) + +$(PROJ_NAME): $(OBJ_FILE) ./bin/main.o + @ echo 'Building executable file: $@. Compiler: $(CC)' + $(CC) -o $@ $^ + @ echo ' ' + @ echo 'To run the program use ./$(PROJ_NAME)' + +./bin/%.o: ./src/%.cpp ./lib/%.h + @ echo 'Building $<. Compiler $(CC)' + $(CC) $< $(CC_FLAGS) -o $@ + @ echo ' ' + +./bin/main.o: main.cpp $(OBJ_FILE) + @ echo 'Building $<. Compiler: $(CC)' + $(CC) $< $(CC_FLAGS) -o $@ + @ echo ' ' + +objFolder: + @ mkdir -p bin + +clean: + @ $(RM) ./bin/* + @ rmdir bin diff --git a/bcr b/bcr new file mode 100755 index 0000000000000000000000000000000000000000..0bd9c033ab1e34507508ba8e5ae208b14f998545 GIT binary patch literal 20072 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 literal 0 HcmV?d00001 diff --git a/bin/bcr.o b/bin/bcr.o new file mode 100644 index 0000000000000000000000000000000000000000..9cefc40fb8670fbe9a3ba0826fd334ac001c9251 GIT binary patch literal 9904 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 L%!+h3(xLtj`z*Il literal 0 HcmV?d00001 diff --git a/bin/main.o b/bin/main.o new file mode 100644 index 0000000000000000000000000000000000000000..8d8bb300185995f913eeb93e70c8b19c46e718f4 GIT binary patch literal 5344 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 literal 0 HcmV?d00001 diff --git a/data/teste.txt b/data/teste.txt new file mode 100644 index 0000000..96beb6a --- /dev/null +++ b/data/teste.txt @@ -0,0 +1,10 @@ +teste0 +teste1 +teste2 +teste3 +teste4 +teste5 +teste6 +teste7 +teste8 +teste9 diff --git a/lib/bcr.h b/lib/bcr.h new file mode 100644 index 0000000..2650a7b --- /dev/null +++ b/lib/bcr.h @@ -0,0 +1,30 @@ +#ifndef BCR_H +#define BCR_H + +class AnimationManage{ + + private: + int m_frameRate; + int m_numberOfBar; + std::string m_fileName; + + public: + AnimationManage(int frameRate=24, int numberOfBar=5); + + void setAnimationManage(int frameRate, int numberOfBar); + void setFrame(int frameRate); + void setNumberOfBar(int numberOfBar); + void setFileName(std::string fileName); + + int getFrame(){ return m_frameRate; } + int getnumberOfBar(){ return m_numberOfBar; } + std::string getFileName(){ return m_fileName; } + + //Nessa função eu preciso abrir o arquivo apartir da linha de commando, tratando os erros + //erros: arquivo nao encontrado, parametros invalidos + void initialize(int argc, char *argv[]); +}; + +void teste(); + +#endif diff --git a/main.cpp b/main.cpp index ad26e9f..7205c6e 100644 --- a/main.cpp +++ b/main.cpp @@ -1,7 +1,25 @@ #include <iostream> +#include <fstream> +#include <string> + +#include "lib/bcr.h" int main(int argc, char *argv[]){ + AnimationManage animation; + std::ifstream file(argv[1]); + std::string st; + + animation.initialize(argc, argv); + + if(file.is_open()){ + + while(!file.eof()){ + file >> st; + std::cout << st << std::endl; + } + } + // First Scope // Arquitetura gameloop // Gerenciador jogo diff --git a/src/bcr.cpp b/src/bcr.cpp new file mode 100644 index 0000000..2dbac54 --- /dev/null +++ b/src/bcr.cpp @@ -0,0 +1,96 @@ +#include <iostream> +#include <string> + +#include "../lib/bcr.h" + +void teste(){ std::cout << "TESTE" << std::endl; } + +//Construct +AnimationManage::AnimationManage(int frameRate, int numberOfBar){ + setAnimationManage(frameRate, numberOfBar); +} + +//start sets +void AnimationManage::setAnimationManage(int frameRate, int numberOfBar){ + m_frameRate = frameRate; + m_numberOfBar = numberOfBar; +} + +void AnimationManage::setFrame(int frameRate){ + m_frameRate = frameRate; +} + +void AnimationManage::setNumberOfBar(int numberOfBar){ + m_numberOfBar = numberOfBar; +} + +void AnimationManage::setFileName(std::string fileName){ + m_fileName = fileName; +} +//end sets + +void AnimationManage::initialize(int argc, char *argv[]){ + + std::string firstArgument; + std::string secondArgument; + + std::cout << "argc: " << argc << std::endl; + + if(argc == 1){// Caso o user nao passe argumentos retornar erro + + std::cout << "Sem parametros validos" << std::endl; + + }else if(argc == 2){//Caso o user passe apenas o nome do arquivo: carregar valores padroes + + setFileName(argv[1]); + std::cout << "file: " << getFileName() << std::endl; + + }else if(argc == 3){//parametros digitados mas invalidos + + std::cout << "Faltam parametros" << std::endl; + + } + else if(argc == 4){//Caso o user digite apenas um parametro + + firstArgument = argv[2]; + + if(firstArgument.compare("-b") == 0){//Check se o user quer mudar a qnt de barras + + std::cout << "Bars Command Valid" << std::endl; + //TODO Checkar se argumento 3(argv[3]) é um inteiro + + }else if(firstArgument.compare("-s") == 0){//Check se o user quer mudar a quantidade de frames + + std::cout << "Frames Command Valid" << std::endl; + //TODO Checkar se argumento 3(argv[3]) é um inteiro + + }else{//Se o user Digitar algum comando invalido + + std::cout << "Invalid Command" << std::endl; + } + }else if(argc == 5){//Segundo parametro invalido + + std::cout << "Segundo parametro invalido" << std::endl; + + }else if(argc == 6){//tamanho esperado + + firstArgument = argv[2]; + secondArgument = argv[4]; + //Check se Ambos argumentos sao validos + if(firstArgument.compare("-b") == 0 || firstArgument.compare("-s") == 0){ + if(secondArgument.compare(firstArgument) != 0){//Check se os args sao diferentes + if(secondArgument.compare("-b") == 0){ + std::cout << "primeiro arg: -s segundo arg: -b " << std::endl; + }else if(secondArgument.compare("-s") == 0){ + std::cout << "primeiro arg: -b segundo arg: -s " << std::endl; + }else{ + std::cout << "Comandos Invalidos" << std::endl; + } + }else{ + std::cout << "Mesmo comandos" << std::endl; + } + }else{//Check se os comandos sao invalidos(cmds inexistentes ou errados) + std::cout << "Comandos invalidos" << std::endl; + } + } +} diff --git a/ttt.txt b/ttt.txt new file mode 100644 index 0000000..1dc98cb --- /dev/null +++ b/ttt.txt @@ -0,0 +1,41 @@ +Duvidas: +Se o usuario digitar um comando valido e outro invalido "-b 10 -s a", eu devo considerar o comando valido ou discartar todos os comandos + + +eDtalhes barchart project + +./bcr ../data/arquivo.txt -s <fps> -b <qnt> +-s velocidade +-b quantidade de barras + +Tela Welcome + +Informações: Se conseguiu acessar o arquivo + +Welcome to the bar Chart Race, v1.0 +Copyright (C) 2020, Edson Cassiano + +>>> Preparing to read input file "../data/arquivo.txt"... + +>>> Processing data, please wait. +>>> Input file sucessfuly read. + +>>> We have "519" charts, each with 12 bars. + +Limite de barras - 12 barras +default 5 barras + +Classes + AnimationManeger - faz tudo - cria, ordena, captura printa e joga fora + banco de dados - + barchart - 1 unico grafico + +Lib de calcular os frames <thread> + +Para a leitura do arquivo siga os seguintes passos: +Eu tenho que ler cada subgrupo linha tamanho do sub grupo +Cada subgrupo tem o campo 0,1,2,3,4 +0(Contagem) +1(Titulo da barra) +2(---) +3(Categoria) -- GitLab