Jump to content

Agenda C++ que exporta para XML e HTML


Cybernavigator

Recommended Posts

Bem, esta agenda foi o meu trabalho para Programação I leccionada pelo Mestre Roberto Rodrigues

Esta Agenda permite, adicionar uma agenda, modificar, apagar dados, modificar dados, adicionar eventos, apagar eventos.

Btw, foi no inicio da minha programação, se calhar o codigo não é o melhor, mas não sabia para mais 😄

Download

PS: Já agora, tive 19 neste trabalho por ter usado variáveis globais, segundo o professor isso pode gerar conflito com os programas de C/C++, é sempre preferivel usar variaveis referenciais. Podem-me explicar o porquê de gerar conflitos? Obrigado desde já.

Melhores cumprimentos,João Lopes***Esta mensagem foi escrita ao abrigo do novo Acordo Ortográfico***

Link to comment
Share on other sites

Não percebi bem que tipo de conflitos podem gerar variáveis globais. São uma técnica de programação a evitar, mas não causam conflitos do nada. A única forma de arranjar conflitos que estou a ver, é se tentares escrever numa variável global simultaneamente (com threads).

Se fosse teu professor não te dava 19, talvez um 17. Tens muito código repetido, comentários em coisas óbvias, e partes que não são óbvias sem comentários. Também não usas as capacidades do C++ totalmente (ex. atoi é de C). Podes também usar arrays para fazer a conversão entre dias/meses e strings, poupando muito código.

Também tens código para corrigir à mão problemas de encoding. Não percebi bem para quê. E outra vez, muito código repetido aqui sem necessidade.

A função main é horrivel. Divide as coisas em funções, não fazem mal a ninguém. Também existem coisas chamadas classes. 🙂

Não leves isto como comentários só para dizer mal, mas para teres a noção que ainda tens muito que aprender.

E agora que vi as outras partes do código, já nem te dava 17, mas sim um 14 ou 15. Podes melhorar muito.

<3 life

Link to comment
Share on other sites

Não percebi bem que tipo de conflitos podem gerar variáveis globais. São uma técnica de programação a evitar, mas não causam conflitos do nada. A única forma de arranjar conflitos que estou a ver, é se tentares escrever numa variável global simultaneamente (com threads).

Se fosse teu professor não te dava 19, talvez um 17. Tens muito código repetido, comentários em coisas óbvias, e partes que não são óbvias sem comentários. Também não usas as capacidades do C++ totalmente (ex. atoi é de C). Podes também usar arrays para fazer a conversão entre dias/meses e strings, poupando muito código.

Também tens código para corrigir à mão problemas de encoding. Não percebi bem para quê. E outra vez, muito código repetido aqui sem necessidade.

A função main é horrivel. Divide as coisas em funções, não fazem mal a ninguém. Também existem coisas chamadas classes. 🙂

Não leves isto como comentários só para dizer mal, mas para teres a noção que ainda tens muito que aprender.

E agora que vi as outras partes do código, já nem te dava 17, mas sim um 14 ou 15. Podes melhorar muito.

É obvio que não levo a mal, até agradeço, mas tens de ver que se fosses professor davas a nota ao aluno conforme o que tu ensinavas. Se tu não desses materia quase nenhuma e um aluno te fizesse este programa já pensavas duas vezes 🙂

Melhores cumprimentos,João Lopes***Esta mensagem foi escrita ao abrigo do novo Acordo Ortográfico***

Link to comment
Share on other sites

Ia agora mesmo responder o mesmo, Triton. Se calhar o curso não é de programação orientada por objectos sequer, e é apenas uma iniciação... Tanto faz se é Pascal, C++, ou Java. A única preocupação num exercício para iniciados é resolver um problema, e a elegância do código é apenas secundária nesse caso.

E por acaso, e isto é apenas a minha opinião pessoal, até nem acho a função atoi mal utilizada. Muitas funções standard de C++ são menos eficientes que a sua alternativa de C. Principalmente com algoritmos envolvendo iteradores, é preciso ter cuidado com o que se usa. Às vezes, "desenrascar" com a biblioteca de C compensa.  🙂

Link to comment
Share on other sites

É obvio que não levo a mal, até agradeço, mas tens de ver que se fosses professor davas a nota ao aluno conforme o que tu ensinavas. Se tu não desses materia quase nenhuma e um aluno te fizesse este programa já pensavas duas vezes 🙂

Sim talvez. Só quero que tenhas noção que o que interessa não é a nota que tens, é o que ficas a aprender. Mesmo assim, fazer as coisas bem, com código bem estruturado, tinha-te feito poupar tempo. Se fizeres logo as coisas bem do início, é mais simples de entender o programa e corrigir bugs.

Ia agora mesmo responder o mesmo, Triton. Se calhar o curso não é de programação orientada por objectos sequer, e é apenas uma iniciação... Tanto faz se é Pascal, C++, ou Java. A única preocupação num exercício para iniciados é resolver um problema, e a elegância do código é apenas secundária nesse caso.

Sim, mas repara que eu nem foquei a parte das classes. Isso foi só um aparte pequeno, porque pensei o mesmo que tu, que provavelmente não foram dadas classes.

E por acaso, e isto é apenas a minha opinião pessoal, até nem acho a função atoi mal utilizada. Muitas funções standard de C++ são menos eficientes que a sua alternativa de C. Principalmente com algoritmos envolvendo iteradores, é preciso ter cuidado com o que se usa. Às vezes, "desenrascar" com a biblioteca de C compensa.  🙂

Sim, tem o seu uso. E neste caso não interessa a micro-eficiência. Mas estar a passar funções de C++ para C (com o c_str()) para depois converter para um número, parece overkill.

<3 life

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.