Ir para conteúdo
Fórum Script Brasil

luiz eduardooo

Membros
  • Total de itens

    6
  • Registro em

  • Última visita

Posts postados por luiz eduardooo

  1. Estou tendo problemas com o comando slice no autocad (2004).

    Ao utiliza-lo, escolho o objeto, seleciono os 3points, ai o autocad pede para escolher um ponto no lado que permanecerá dps do corte ou deixar os dois lados [Keep Booth sides] "Specify a point on desired side of the plane or [keep Both sides]:" , que no caso seria a opcao padrão do autocad por esta entre [] , contudo eu aperto enter e o slice não é executado, so aparece a seguinte msg: "Point or option keyword required." , como se eu não tivesse escolhido uma opcao, ate digitar K, KB, B, Keep, keepbothsides, nada é reconhecido pelo autocad como a opcao de manter os dois lados, mas se eu seleciono um ponto em um dos lados, o comando slice é executado normalmente, apagando o lado q eu não selecionei... O q há de errado??? to puto já com esse autocad, mas faze o q, materia obrigatoria no meu curso da facul...

  2. Eu criei uma funcao para proibir q o cara coloque um numero num char, a funcao pega o tamanho do char, e ela poem o q foi digitado na variavel, e so deixa continuar ate q o digitado contenha apenas letras. So q ta dando erro na compilacao de incompatibilidade de tipos na linha do y=protecao_var(y); e na linha do return a; que aparece a msg "return-statement". A parte do codigo com os erros:

    void insere(celula *i) {
    void protecao_var(char* a);
    int protecao_int(int a);
    int x;
    printf("Digite o valor: ");
    x=protecao_int(x);
    char y[100];
    printf("Digite o nome: ");
    y=protecao_var(y);
       celula *nova;
       nova=(celula *)malloc(sizeof(celula));
       nova->conteudo = x;
       nova->nome = y;
       nova->prox = i->prox;
       i->prox=nova;
    }
    
    
    void protecao_var(char* a){
    int tamanho,achou=1;
    while (achou!=0) {
    scanf ("%[^\n]", &a);
    tamanho=strlen(a);
    achou=0;
    for (int i=0;i<tamanho;i++) if (isdigit(a[i])) achou++;
    if (achou!=0) printf("Caracteres invalidos, utilize apenas letras.\n");
    fflush( stdin );
    }
    return a;
    }

    acho q é essa declaracao da funcao protecao_var, vi milhares de maneiras de declarar um funcao q retorna um char, fiquei testando e nenhuma dava certo.c é mt complicado....

  3. Eu utilizei switch para fazer um menu de uma lista encadeada. So que se eu não digitar nada e der "enter", o programa diz que não é um comando valido (ate ai td bem), mas dps que eu faco isso fica tudo bugado, eu tento digitar um comando valido, o programa fica dizendo que esse comando não existe, ele so volta a funcionar corretamente se eu der um outro "enter" sem digitar nada. Olha o codigo ai:

    char q;

    do {

    scanf("%c", &q);

    switch(q) {

    case 'a': case 'A': printf("\nComandos:\np Lista todos os contatos da lista.\nb Busca na lista de acordo com o desejado(nome,endereco,...)\n"); printf("i Adciona um novo contato na lista.\nr Remove um contato da lista.\ns Finalizar a execucao do programa.\n"); break;

    case 'p': imprima(ini); break;

    case 'b': case 'B': busca(ini); break;

    case 'i': case 'I': insere(ini); break;

    case 'r': case 'R': remove(ini); break;

    default: printf("\nO comando '%c' não existe, digite 'a' para a lista de comandos.\n",q);

    }

    getchar();

    } while (q != 's');

    }

    não sei se deu pra entender bem o q quero dizer, vou tentar exemplificar: O programa inicia, eu aperto enter, aparece "O comando ' ' não existe, digite..." ( ta certo o comando não existe mesmo), depois disso se eu digitar a, aparece "O comando 'a' não existe, digite...", qlq outro comando valido (b,i,r) tb diz que não existe, so volta a funcionar corretamente se eu der um enter sem ter digitado nada.

    Tem como concertar isso?? é porque essa lista é um trabalho pra facul, e o prof fica testando tudo, ai vai que o cara da um enter sem digitar nada, ai buga todo meu programa =/

  4. Opa, comecei a programar em c/c++ a pouco tempo e estou com algumas duvidas.

    Por exemplo: eu queria criar uma funcao ajuda, que quando chamada imprimia na tela algo.

    eu fiz o seguinte:

    #include <stdio.h>

    #include <stdlib.h>

    #include <conio.h>

    #include <string.h>

    int main(){

    char q;

    void ajuda(void) {

    return printf("\nComandos:\npercorrer Lista todos os contatos da lista.\n");

    }

    do {

    scanf("%c", &q);

    switch(q) {

    case 'a': ajuda;

    default: printf("\nO comando '%s' não existe, digite 'a' para a lista de comandos.\n",q);

    }

    getchar();

    } while ((q == 's'));

    }

    Estou usando o programa Dev-C++, e ele esta dizendo que a linha "void ajuda(void) {" esta errada. O que estou fazendo errado nesse codigo?

    Mais outra duvida, vou te q fazer uma lista encadeada (vo ta enchendo o saco da galera mais ae daki a poco), e usei o switch pra pegar o comando que o usuario quer, teria como eu em vez de usar apenas a inicial da letra, usar uma palavra (ex.: o cara tem de digitar 'a' para aparecer a ajuda, teria como fazer para ele digitar 'ajuda' e aparecer a ajuda).

    Ter eu sei que tem, porque eu fiz , so q de uma maneira meio trabalhosa:

    char c1[7],c2[11],c3[7],c4[8],c5[8],c6[5];

    strcpy (c1,"ajuda");

    strcpy (c2,"percorrer");

    strcpy (c3,"buscar");

    strcpy (c4,"inserir");

    strcpy (c5,"remover");

    strcpy (c6,"sair");

    char comando[20];

    for (int a=1;a>0;a++) {

    scanf("%s",comando);

    //ajuda

    if (strcmp (comando,c1) == 0) {

    printf("\nComandos:\npercorrer Lista todos os contatos da lista.\nbuscar Busca na lista de acordo com o desejado(nome,endereco,...)\ninserir Adciona um novo contato na lista.\nremover Remove um contato da lista.\nsair Finalizar a execucao do programa.\n");

    continue;

    }

    //percorrer

    if (strcmp (comando,c2) == 0) {

    continue;

    }

    //buscar

    if (strcmp (comando,c3) == 0) {

    continue;

    }

    //inserir

    if (strcmp (comando,c4) == 0) {

    continue;

    }

    //remover

    if (strcmp (comando,c5) == 0) {

    continue;

    }

    //sair

    if (strcmp (comando,c6) == 0) break;

    printf("\nO comando '%s' não existe, digite 'ajuda' para a lista de comandos.\n",comando);

    }

    Tem alguma maneira mais simples de fazer assim??? ou so nessa cavalisse toda ai pra conseguir da maneira que quero?

×
×
  • Criar Novo...