Jump to content
Fórum Script Brasil

Maligno

Membros
  • Content Count

    214
  • Joined

  • Last visited

Community Reputation

0 Neutro

About Maligno

Contatos

  • Website URL
    http://pub.buzinello.com

Perfil

  • Gender
    Male
  • Location
    Londrina
  1. Maligno

    Dúvida usando If

    O operador = é utilizado para apenas para atribuir valores a variáveis. No IF você deveria ter utilizado o operador relacional == para comparar o valor. Daí o erro.
  2. Maligno

    IF e ELSE na GUI

    Agora que vi o resto do código. E tem erros. 1) bool reposta="YES"or"NO"; Isso nunca vai compilar mesmo. Não existe comando or em C/C++. Você deve ter confundido com outra linguagem. 2) printf "YES"; printf é uma função. E dessa forma nunca vai passar pelo compilador. 3) switch(reposta="NO"); A forma de uso do comando switch é diferente, apesar de que isso até poderia compilar, se estivesse numa forma correta. C e C++ não perdoam o menor erro de sintaxe. Pior fica se houver erro de lógica. Dependendo do que for, ele pode se tornar seu pior pesadelo. Mais cuidado.
  3. Maligno

    IF e ELSE na GUI

    Você usa os operadores de atribuição e relacional da mesma forma, mas em C/C++ faz toda a diferença: enquanto = atribui um valor, == faz o teste relacional. Logo, ... if (reposta == "YES") { } ...é a forma correta.
  4. Use o par ternário de comparação ?:. Exemplo: a expressão (a<b? b: a) retornar o maior valor entre a e b. Se bem que, se retornar a, esta variável pode também ser igual a b.
  5. Pelo que comentou o OP, as duas condições devem ser verdadeiras em cada expressão. Logo, o operador relacional utilizado é && (AND) e não || (OR).
  6. O "L" serve apenas para informar ao compilador que o número deve ser tratado como Long.
  7. Falta listar os erros que obteve na compilação.
  8. Maligno

    Vetores e teste de mesa

    Teste de mesa nada mais é que montar uma tabela simples com uma coluna para cada objeto envolvido, anotando seu estado a cada iteração. Imagine que você tem o seguinte: a=1 b=2 c=a+b No teste de mesa você terá uma coluna para cada variável. E a cada passo deve anotar o estado de cada uma: passo a b c 1 1 2 1 2 3 1 2 3 Para algoritmos muito simples não faz muito sentido. Você só percebe a utilidade do método em algoritmos mais complexos. Eu usei muito em Assembly, para monitorar o estado dos registradores. Aí faz diferença. Só não sabia que isso também se chamava
  9. Da primeira mensagem, as palavras do OP: "porém gostaria de que na hora q executasse o programa, ele fizesse alguma pergunta, como "Salvar arquivo com qual nome?", e eu colocasse o nome que gostaria" :)
  10. Não se culpe. Ponteiros são o carma de 99% dos programadores. É difícil de entender no começo. Mas é bom entendê-los, pois eles farão parte da sua vida até o seu último suspiro. :))) Só pra constar: memória alocada estaticamente é aquela memória dedicada à uma variável em tempo de execução: uma matriz de inteiros, por exemplo: int x[10] já aloca espaço. Ele é fixo, imutável. Morre aí. Se a alocação for dinâmica você só precisa de um ponteiro. Em tempo de execução você aloca memória para conter os seus dados. Se for necessário, essa área poderá ser expandida ou contraída, formando assim, um co
  11. Veja que não é o caso de renomear, pois o arquivo pode nem existir. O colega quer perguntar ao usuário qual nome usar no arquivo alvo. Daí é como eu disse: há uma série de críticas a fazer. Se for mantido o nome ou não, o arquivo pode existir. Vai sobreescrever? Se sim, a gravação pode falhar se ele já estiver aberto em modo exclusivo. Mas se o alvo ainda não existe, e se o usuário trocar o nome default, há de se analisar o nome informado em busca de caracteres proibidos. Sem falar que há também o problema do diretório destino, se foi informado, se existe ou se existe apenas parte do caminho,
  12. Não. A questão do OP está bem clara. Ele quer dar ao usuário a oportunidade de salvar o arquivo com o nome que quiser. Pra isso é fácil: perguntar qual nome, já informando o nome default. Se o usuário alterar o nome ou não, é só salvar com o nome que ali estiver. Mas o OP terá de criticar esse nome de arquivo, já que há sempre a possibilidade do usuário utilizar caracteres proibidos.
  13. Não diria que está complicado. Veja bem: trabalhar com variáveis globais em programas pequenos não acarreta tanto problema. Agora, se o programa tem algumas milhares de linhas, variável global deixa de ser interessante, até porque é memória estática. Aí entra o ponteiro. Você poderia, por exemplo, manter essa estrutura na função principal, alocar memória dinamicamente para ela e passar esse ponteiro para a função que for manipular o cadastro, fazendo deleções, inserções, carga, descarga, etc mais facilmente. Isso pode simplificar as coisas, principalmente no quesito manutenção. Numa instância
  14. Você duplicou o tópico. Já respondi no primeiro: http://scriptbrasil.com.br/forum/index.php?showtopic=156341
  15. Nas funções que precisam manipular essas estruturas você só precisa passar o ponteiro para a estrutura que tiver de ser manipulada. Não é coisa complicada. Na chamada desta função, o argumento é o nome da estrutura. Na função chamada, o protótipo deve conter o tipo da strutura. Exemplo simples: typedef struct { char nome[10] ; int telefone ; char apelido[30]; int celular ; int ind ; } pessoa; bool procurarNome(pessoa *cadPessoa, char nome[]) { // ... // if (stricmp(cadPessoa->nome,... // return true; } int main() { pe
×
×
  • Create New...