Ir para conteúdo
Fórum Script Brasil

Miltonlp

Membros
  • Total de itens

    27
  • Registro em

  • Última visita

Tudo que Miltonlp postou

  1. Bom dia, conforme citado acima você precisa utilizar conectivos lógicos para poder tratar mais de uma condição dentro de um if. É bom citar também o fato de que sempre que você tiver mais opções que são interligadas, utilize um else antes do segundo if. if (condicao) { //Aqui entra o código se for isso } else if (condicao) { //Aqui entra o código se for isso } Dessa forma você estará fazendo menos comparações desnecessárias, Att
  2. Miltonlp

    PHP + Crystal Reports

    Bom dia, Novamente estou aqui para perguntar sobre o relatório... Bom, agora minha duvida é o seguinte, Pelo que eu entendi no link que você me mandou, esse é um aplicativo (BIRT) onde posso gerar relatório também. O detalhe é que eu já tenho um arquivo .rpt aqui onde tem o modelo do relatório que eu preciso seguir. Eu gostaria de trabalhar com ele se possível ou então alterar o formato rpt para algum outro com o qual o php trabalhe. Tentei abrir no BIRT mas não consegui, se não me engano a extensão é jrxml não é? Gostaria de saber como posso fazer para abrir esse arquivo rpt ou então alterar o seu formato para que possa ser utilizado de outra forma, Agradeço desde já, Att
  3. Felipe, como você quer fazer a comparação então? utilizando com um for e comparando 1 a 1 o resultado sairia correto, Talvez não entendido direito.. Qualquer coisa poste aí então..
  4. Miltonlp

    PHP + Crystal Reports

    Muito Obrigado GuerreiroDaLuz, Como já tenho o relatório pronto no formato rpt vou tentar abrir ele da forma como é explicada no link que me passou. Vou ver se consigo fazer a aplicação, Agradeço novamente, Att
  5. Miltonlp

    PHP + Crystal Reports

    Bom dia, Você conseguiu achar algum conteúdo sobre isso? Estou com a mesma dificuldade.. Para não abrir outro tópico resolvi postar aqui mesmo.. Se alguém achar algum exemplo, agradeço. Tentei o que o Greed postou acima, mas ainda assim não consegui fazer o que quero. Att
  6. Miltonlp

    Exercícios

    Bom dia, Fiz umas alterações e comentei algumas coisas.. ainda tem coisas para arrumar, mas o erros eu já tirei, o resto é com você ;) aconselho a utilizar um laço com o do/while para pedir a informação várias vezes da nota. Qualquer duvida poste, #include <stdio.h> #include <stdlib.h> int main(){ int matricula; float av1, av2, av3, media, frequencia; printf("Digite a matricula: "); scanf("%d", &matricula); printf("\nInforme as notas:"); //Aqui você esquece de colocar os %f separados e tinha uma virgula //a mais depois da variável &av3 scanf("%f,%f,%f",&av1,&av2,&av3); media = ((av1*1)+(av2*2)+(av3*3))/6; frequencia=40; //Você colocou virgula aqui, mas deve-se ter um operador //lógico (no casso o &&) if (media<6.0 && frequencia<40){ printf ("Frequencia"); printf ("aluno %d reprovado por nota e por faltas", matricula); } //Você colocou virgula aqui, mas deve-se ter um operador //lógico (no casso o &&) if (media >= 6.0 && frequencia<40){ printf ("frequencia"); printf ("aluno%d reprovado por faltas", matricula); } //Coloque o sinal de '=' sempre depois do operador '>' ou '<' if (media >= 6 && frequencia>=40){ printf ("Frequencia"); printf ("\nAluno %d aprovado", matricula); } if (media<6 && frequencia >= 40){ printf("frequencia"); printf ("aluno %d reprovado por notas", matricula); } system ("pause"); return (0); }
  7. Você já conhece bem a linguagem? Não aconselho partir pra uma biblioteca mais avançada antes de conhecer bem a linguagem. Allegro é uma das bibliotecas que se pode usar, mas eu acho meio complicado, principalmente pra quem é iniciante. =]
  8. Miltonlp

    Novato

    kkkkk Agradeço pelo "professor" Vallen rs Acho que uma apostila como essa será de grande valia para você. Por enquanto fique só com ela. Assim que entender bem alguns conceitos iniciais (declarar variáveis, estruturas de decisão) aconselho a pegar uma apostila de C e começar a programar em cima do que aprendeu em lógica. Quando conseguir fazer uma estrutura de decisão em C, volte pra apostila de Lógica e assim poderá ir estudando melhor =] Realmente o Dev C é melhor para aprender. Na verdade, ele não tem quase recurso nenhum comparado a outros compiladores (o própio visual studio ou o turbo C) mas com o Dev você vai digitar TUDO que precisar. Ele não dará dica nenhuma quase, ou seja, digamos que você terá que "se virar" pra fazer tudo. Assim conseguirá aprender mais. Até hoje eu uso ainda o Dev. Me acostumei com ele Qualquer duvida poste aí que tentaremos ajudar Att
  9. Miltonlp

    Novato

    Bom dia, Os livros de ensino básico de qualquer linguagem de programação SEMPRE começam com um Hello World! =] É o modo de ser apresentado da melhor forma uma linguagem. O detalhe é que qualquer livro de programação mesmo que seja para iniciante, já supõe que o estudante já tem uma sólida compreensão do que é lógica de programação! É um pré-requisito mesmo porque com lógica você entenderá como são feitas os vários conceitos básico de programação. EX: for, if-else, while, do-while, etc. Eu até tenho um conteúdo sobre lógica (algo BEM básico, não tenho mta coisa) e posso lhe passar O problema é que está tudo em casa e estou no trabalho agora se interessar mande um e-mail para me lembrar de te enviar alguma coisa lpsantana_@hotmail.com Assim que chegar lhe envio Att
  10. Miltonlp

    Novato

    Bom dia Vallen e seja bem vindo ao fórum =] Pequeno comentário sobre o visual studio: O Visual Studio é um poderoso software para auxiliar os programadores .NET Eu utilizo em casa e no trabalho o 2008 e é um ótimo software mesmo. Sou iniciante em C#, por isso não sei fazer muita coisa ainda. Mas aconselho a todos utilizarem. Com relação a sua pergunta, podemos ajudá-lo com isso. Pelo que vi, você é iniciante, mas tem algum conhecimento em Lógica? É inviável você começar a programar sem ter um sólido conhecimento em lógica porque é fundamental para entender o que é feito em qualquer linguagem. Portanto, o básico do básico é você começar pela lógica. Faça alguns fluxos, pseudocódigos para entender o conceito. Depois aconselho a começar com uma linguagem simples e de fácil compreensão. C é uma boa opção. Phyton também dizem que é facil, mas eu não conheço, por isso não posso aconselhar. Faça isso, procure sobre lógica de programação e estude todos os conceitos. Faça vários exercícios que você conseguirá seguir na área. Se tiver alguma dúvida ou precisar de mais ajuda pode mandar uma mensagem. Att
  11. Bom dia, testei seu código aqui e vi que tinha alguns erros Primeiramente você declarou a estrutura dentro do main. Coloque a estrutura FORA do main. struct book { //todos atributos } main() { struct book livro[N]; . . . } Agora um detalhe é quando você lê os dados. Quando os dados são do tipo string você está lendo com gets (correto) mas se for do tipo int utilize o scanf Tente assim printf("Digite o numero de paginas:"); scanf("%d", &livro[i].pg); //gets(temp); //livro[i].pg=atoi(temp); printf("Ano da publicacao:"); scanf("%d", &livro[i].ano); printf("Nome da editora:"); fflush(stdin); gets(temp); O gets é para ler dados do tipo string. Portanto utilize o scanf A instrução fflush serve para que o gets não leia o buffer do teclado, por isso rodará normalmente. Troque por esse código e tente compilar. Mais um detalhe: tire o fprintf e coloque só printf para imprimir na tela. O fprintf é para escrever em um arquivo, mas primeiro você precisa abrir o arquivo e mandar imprimir dentro dele. Sugiro que para faze-lo procure mais sobre manipulação de arquivos. Procure na net que será fácil encontrar e para imprimir no arquivo é só seguir os tutoriais ok? Mas para rodar esse daí siga os procedimentos acima. Att
  12. Bom dia, Com relação a lógica então você sabe né? Ok. Em C ficaria assim for (int i = 100; i >= 1; i--) { printf("\n%d", i); //Essa linha faz com que apareça o número do tipo int de 100 até 1. o \n serve para pular linha //Já o %d serve para indicar que deverá ser impresso um número inteiro } Espero ter ajudado, Att
  13. Miltonlp

    Método Contrutor

    Bom dia Marcos, vamos começar explicando o que é um construtor. O construtor é um "método" (na verdade não pode ser chamado de método, mas deixaremos assim para melhor explicar) que tem o mesmo nome da classe e será chamado toda vez que instanciar uma classe. Como assim? Vamos para um exemplo prático class Cliente { //Construtor Padrão Cliente() { } //Construtor passando um nome como parâmetro Cliente(String nome) { } } Certo, agora vamos chamar esses construtores em uma outra classe class TestaCliente { public static void main(String[] args) { //Chamando o construtor padrão Cliente cliente = new Cliente(); //E agora como fazemos para chamar o outro construtor sendo que tem o mesmo nome? //Temos o parâmetro do construtor para diferenciar Cliente cliente2 = new Cliente("Nome"); } } Dessa forma você estará chamando os dois métodos. Portanto, para cada parâmetro que colocar no construtor, você chamará ele colocando esses construtores. É como se realmente estivesse chamando um método. Por isso que está dando erro. Porque você criou uma classe Contato com os construtores com os nomes corretos, mas estava instanciando com os nomes dos ATRIBUTOS e não da própria classe. Tente passar esses atributos como parâmetros mesmo. Se ainda tiver alguma duvida, poste. Att
  14. Miltonlp

    Problema em algoritmo

    Bom dia, Não entendi o porque do uso do define, mas de qualquer forma o #define, "define" um valor para uma variável. Essa variável será SEMPRE esse valor. Por exemplo, a linha #define A 10 Esse valor em nenhum momento poderá ser alterado no programa. Vamos agora ao erro no programa. Na função você passa desse jeito no printf media([B]somaid/i[/B]) Nessa linha você não passa os parâmetros da função, pelo que entendi você está tentando dividir os dois não é? Mas isso é feito DENTRO da função, além do que, não é uma maneira correta de passar parâmetros para a função. Tente assim media(somaid, i) Dessa forma estará correto. Tente agora e veja se compila. Aqui compilou normal, apesar de que fiz outras modificações, caso precisa poste a duvida Att
  15. Bom dia Flavia, poste a sua duvida que tentaremos ajudar =] Att
  16. Ah certo, entendi! Quer dizer que se for feito da forma que quero pode ser utilizado alocação dinâmica!? Ok. Obrigado Jonathan. Estava realmente quebrando a cabeça com relação ao porque de não dar certo e você explicou a minha duvida. Obrigado
  17. Bom dia, Estou tentando fazer um programa mas ele está dando o seguinte erro: variable-size type declared outside of any function o código está com uma varíavel com o nome de MAX_PILHAS declarada como global. Minha intenção é que o usuário digite quantas pilhas ele deseja (MAX_PILHAS receberia esse valor). A questão é que não consigo fazer isso :S #include <stdio.h> int MAX_PILHAS; /* Aqui entram todas as estruturas e funções utilizadas no programa */ [b]struct Pilha *listaPilhas[MAX_PILHAS];[/b] main () { scanf("%d", &MAX_PILHAS); } Aqui já começa meu problema, se colocar dessa forma (com a declaração da estrutura fora do main) ele dá esse erro. Tentei colocar a declaração da estrutura dentro do main, mas não identifica essa estrutura nas funções (utilizo essa estrutura em todas as funções do programa). Ah, mesmo colocando dessa forma no código: int MAX_PILHAS = 10; por exemplo, eu não consigo, mas se fizer assim: #define MAX_PILHAS 10 // ou const int MAX_PILHAS = 10; O programa roda, mas obviamente não consigo alterar o valor dessa varíavel MAX_PILHAS. Alguém poderia me explicar o que é esse erro? Agradeço desde já, ps: Se precisarem que coloque mais uma parte do código eu posto aqui, mas na verdade eu só queria saber porque ele está aceitando só constantes. Att
  18. Miltonlp

    Diferenças.

    Boa tarde, printf e scanf são da linguagem C as outras são da linguagem C++ C++ é uma linguagem orientada a objetos. São várias diferenças entre elas. Preste atenção por exemplo, no fórum onde tem especificado que essa seção é para as linguagens C e C++ São linguagens diferentes. Bom, se estiver errado alguém me corrija por favor ;D Att
  19. Bom dia DsrGO, o problema que você está tendo é algo muito comum de acontecer. O que ocorre é que o gets está pegando buffer do teclado assim que entra nessa instrução, por isso passa direto por ele e chama a próxima função. Para resolver isso, coloque antes do gets o comando fflush(stdin) assim printf("\nNome: "); fflush(stdin); gets(nome[qn]); Com esse código, ele irá limpar o buffer do teclado, sendo assim você poderá digitar o nome corretamente. OBSERVAÇÃO: Faça uso do fflush em todas as vezes que precisar ler uma string com gets. Evita erros como esse, ok? Poste o resultado e qualquer duvida poste aqui também, Att
  20. Miltonlp

    Código.. como resolvo?

    Kuroi Realmente faz todo o sentido o que você disse. Mas o detalhe é que realmente pede essas classes explicitamente no exercício. Pede pra criar uma classe Cliente e em uma outra etapa pede para criar outra classe que tenha os mesmos atributos, mas com esse método sobrescrito. Fiz essa pergunta para um amigo que trabalha com programação e ele me disse que esse de coisa que estou tentando fazer é normal (talvez não para uma aplicação como a que estou fazendo, mas para outros tipos de problema). Estava tentando terminar o exercício e resolvi ver o que acontece com minhas variáveis usando debug. No meu caso, ele chama realmente o método da classe Filha (quando instancio um objeto de tal classe) mesmo quando faço a instrução: ((Cliente) cliente).Bonificacao(); O programa passa por essa instrução e ao invés de fazer como dito no código ele chama direto o método da classe filha mesmo. Não entendi ainda porque continua desse jeito, já que ele passa por essa linha do código. Só não faz corretamente o casting. Obrigado, Att
  21. Marcel, seu código está correto você só esqueceu de um detalhe: for (j=0; j<10; j++) { printf ("%d", maxB[i]); } Nessa parte você colocou o valor maxB com a variável i. O correto é alterar para j, já que no laço você colocou j como variavel para fazer a iteração. Troque a variável que dará certo. Att
  22. Miltonlp

    Exercício

    Boa Tarde, pelo que percebi o programa vai ter que utlizar bastante decisão, por isso ficará um pouco chato de se fazer, mas não é dificil. A lógica é a seguinte: Se o usuário digitou R$527,59 você terá que verificar quantas notas de 50 serão possíveis para esse número. Faça assim: atribua o valor que foi digitado por exemplo para a variável salario int cedulas50 = salario / 50; a variável cedula50 terá o valor 10. Sobra então 27,59. O valor que sobrar, coloque em uma variável temporária digamos temp (double). double temp = salario - (cedula50 * 50); int cedulas20 = temp / 20; Faça isso até chegar ao final de todas as cédulas, Acho que resolve Assim que compilar o código envie uma resposta dizendo se conseguiu fazê-lo rodar corretamente. Att
  23. Miltonlp

    Exercicio

    Boa Tarde Breno, poste o código que você fez até agora e tentaremos ajudá-lo com o que estiver dando erro. Att
  24. Miltonlp

    Código.. como resolvo?

    Bom dia, é o seguinte, consegui chamar o método vez com um cliente, vez com outro mas preciso de um outro detalhe: Preciso implementar uma forma de chamar os dois métodos. Por exemplo, eu declaro que o Cliente é um ClienteEspecial char opcao = ...; Cliente cliente = null; switch (opcao) { case '1': cliente = new Cliente(); break; case '2': cliente = new ClienteEspecial(); break; default: ...; // opção inválida } digamos então, que op = 2 ok? Mas depois, preciso fazer uma pergunta: "O Cliente tem alguma pendência?" Se sim, ele não tem mais essa Bonificação, ou seja, ele não chama mais o método da Classe ClienteEspecial e sim o da classe Pai procurei na net sobre e disseram que para chamar um método da classe Pai que foi reescrito, tem que fazer dessa forma: ((Cliente) cliente).Bonificacao(); Coloquei esse código mas não rodou da forma correta. Ele continua chamando o método da classe ClienteEspecial Agradeço desde já
  25. Miltonlp

    Código.. como resolvo?

    Caro DarthVictor, Obrigado pela resposta tentei utilizar dessa forma, mas meu professor falou que não estaria trabalhando de forma orientada a objetos :S não entendi muito bem o que ele quis dizer, já que estaria perguntando ao usuário e conforme sua resposte chamaria vez um método, vez outra... bom... se alguém souber de outra maneira eu agradeço =]
×
×
  • Criar Novo...