Ir para conteúdo
Fórum Script Brasil

Mariana Duarte

Membros
  • Total de itens

    5
  • Registro em

  • Última visita

Sobre Mariana Duarte

Mariana Duarte's Achievements

0

Reputação

  1. Gente, estou fazendo um dicionário, mas não estou conseguindo implementar corretamente a função excluir... A primeira dúvida é o seguinte: eu fiz essa função e está dando erro, diz conversão inválida de char* para char... Está correta? Porque eu quero excluir somente uma palavra específica... Dic* excluir(Dic *d, char palavra); E o código abaixo... Queria saber o que estou fazendo de errado na implementação dessa função... Se alguém puder ajudar, obrigada (: #include<stdio.h> #include<conio.h> #include<stdlib.h> #include<string.h> typedef struct dic{ char palavra[30], sig[150]; struct dic *prox; }Dic; Dic* inserir(Dic *d); void consultar(Dic *d); void alterar(Dic *d); Dic* excluir(Dic *d, char pal); char imprimir(Dic *d); main(){ char opcao, op, palavra[30], signif[150],pe[30]; Dic *dicionario,*inicio=NULL,*ant; do{ printf("ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª\n"); printf("1 - Inserir uma nova palavra\n"); printf("2 - Consultar o significado de uma palavra\n"); printf("3 - Alterar uma palavra\n"); printf("4 - Excluir uma palavra\n"); printf("5 - Imprimir o dicionario\n"); printf("0 - Sair\n"); printf("ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª\n\n\n"); fflush(stdin); scanf("%c",&opcao); if(opcao=='1'){ dicionario = inserir(dicionario); getch(); } if(opcao=='2'){ /*printf("\nDigite a palavra a ser consultada:\n"); gets(pal);*/ consultar(dicionario); getch(); } //if(opcao=='3'){ /*printf("1 - Alterar a palavra\n"); printf("2 - Alterar o significado\n"); printf("3 - Alterar palavra e significado\n"); fflush(stdin); scanf("%c",&op); if(op=='1'){ printf("\nDigite a palavra a ser alterada:\n"); gets(p); alterar(dicionario); getch(); }*/ if(opcao=='4'){ printf("\nDigite a palavra a ser excluida:\n"); fflush(stdin); scanf("%s",pe); excluir(dicionario,pe); getch(); } /*if(opcao=='5'){ imprimir(dicionario); getch(); }*/ if(opcao=='0'){ printf("\nEnter para sair..."); getch(); } system("cls"); }while(opcao!='0'); } Dic* inserir(Dic *d){ Dic *aux; char op; do{ aux=(Dic*)malloc(sizeof(Dic)); printf("\nDigite a palavra:\n"); fflush(stdin); gets(aux->palavra); printf("\nDigite o significado:\n"); fflush(stdin); gets(aux->sig); aux->prox=d; d=aux; printf("\nDeseja digitar uma nova palavra? (s/n)"); fflush(stdin); scanf("%c",&op); }while(op=='s' || op=='S'); return d; } void consultar(Dic *d){ Dic *aux; int a=0; char op; char pal[30]; do{ printf("\nDigite a palavra a ser consultada:\n"); fflush(stdin); scanf("%s",pal); aux=d; //busca na lista //a=0;//--> pra verificar se o elemento foi encontrado while(aux!=NULL){ if(strcmp(aux->palavra,pal)==0){ printf("\nO significado da palavra é:\n"); printf("%s",aux->sig); a=1; break; } else aux=aux->prox; } //aviso: deve-se fechar o while antes de verificar se o elemento não foi encontrado if(a==0){ printf("\nPalavra não encontrada"); } printf("\nDeseja procurar mais alguma palavra? (s/n)"); fflush(stdin); scanf("%c",&op); }while(op=='s'||op=='S'); } //void alterar(Dic *d); void excluir(Dic *d, char pal){ Dic *aux,*ant; char pal[30]; aux=d; ant=NULL;//ainda não entrou while(aux->palavra!=pal){ ant=aux; aux = aux->prox; } if(aux==d){ d=aux->prox; free(aux); } else{ if(aux==NULL) printf("\nPalavra não encontrada"); else{ ant->prox=aux->prox; free(aux); } } aux=d; while(aux!=NULL){ printf("\n Valor : %d",aux->palavra); aux=aux->prox; } } //char imprimir(Dic *d);[/CODEBOX]
  2. Fazer um programa que leia um vetor de inteiros com 15 elementos. Calcule e imprima: a. A quantidade de números pares b. A quantidade de números ímpares c. A quantidade de números positivos d. A quantidade de números negativos e. Mostrar os valores em ordem inversa de armazenamento. int main(){ int vet[15]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; int cont_pares=0,cont_impares=0,cont_positivo=0,cont_negativo=0,i; for(i=0;i<15;i++ ) { if(vet%2==0) cont_pares ++; if(vet%2!=0) cont_impares ++; if(vet>0) cont_positivo ++; if(vet<0) cont_negativo ++; } printf("\nPares: %d",cont_pares); printf("\nImpares: %d",cont_impares); printf("\nPositivos: %d",cont_positivo); printf("\nNegativos: %d",cont_negativo); getch(); return 0; } Eu fiz assim, mas eu gostaria de colocar como o usuário digitar os números, mas não deu certo, como eu pus... será que alguém pode me ajudar? E como mostro os valores na ordem inversa? Obrigada...
  3. Obrigadaa ;) Mas... Porque essa função fatorial teve que ser usada antes do main? Não poderia ser usada dentro?
  4. /* 7. Fazer um programa para calcular a soma dos N primeiros termos da série abaixo: 100/0! + 99/1! + 98/2! + 97/3! + ...*/ #include<stdio.h> #include<conio.h> int fat(int n) { int cont=1,i; for (i=1;i<=n;i++) cont*=i; return cont; } main() { float soma=0.0,num=100.0; int n,s,denom=0; printf("Insira um numero:\n"); scanf("%d",&n); for(s=1;s<=n;s++) { soma=(num/fat(denom))+soma; denom++; num--; } printf("\nSoma=%f",soma); getch(); } Bom... Um amigo fez esta questão, mas ele não me explicou direito.. =/ Gostaria de saber se alguém poderia tentar me explicar ou mostrar-me um jeito mais simples de resolvê-la, se tiver. Agradeço a quem puder ajudar...
×
×
  • Criar Novo...