• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Cybernavigator

Agenda C++ que exporta para XML e HTML

11 mensagens neste tópico

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 :D

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á.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O prof. deu-te 19, porque muitos deles têm a teoria que para um aluno ter 20 têm que saber + do que eles.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não podes? Eu posso e não sou moderador lá. :)

Por alguma razão só me aparece Notificar e Marcar como lido

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas isso é porque esses quadros são antigos e estão em "vias de extinção". Quando se acabar de mover os tópicos desse quadro para o quadro Geral, pelo que deves colocar lá os tópicos. :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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 :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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.  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora