Ir ao conteúdo
  • Cadastre-se

Liliane Barboza

Membro Júnior
  • Posts

    16
  • Cadastrado em

  • Última visita

Tudo que Liliane Barboza postou

  1. Função em C que copia Apenas o 1º caracter de cada palavra da string em um vetor ,utilizando ponteiro,e depois mostra, a partir desse vetor de endereço, as palavras inteiras. Exemplo: string s=aprendendo programar , vetor=//endereço de A e endereço de P , para guardar endereço da 1ºletra ok,até tentei rsrs, mas depois mostrar a palavra inteira,utilizando o endereço da 1ºletra? void copia (*string s) { int vet[ ]; int i,j=1; vet[0]=*s[0]; for (i=1;s[i]!='\0';i++ ) { if (s[i]== ' ') vet[j]=*s[i+1]; J++; }
  2. Ainda não sei usar lista encadeada,mas se alguém puder me explicar melhor o que é pra ser feito neste exercicio,tipo passo a passo o que devo fazer,me ajuda a iniciar o código,Thanks! Implementar uma tabela hash com as seguintes características:  Os dados a serem manipulados em cada nó da estrutura consistirão em strings;  A tabela hash será representada por um vetor de 10 posições, cada qual apontando para uma lista encadeada;  Os elementos de cada uma das 10 listas deverão estar ordenados (alfabeticamente). Além disso, não serão permitidas repetições de strings;  Para definir em que lista cada nova string deverá ser armazenada, será necessária a implementação de uma função de espalhamento;  A função de espalhamento "transformará" a string passada por parâmetro em um número inteiro. Este número será o somatório dos códigos ASCII de cada caracter da string;  A nova string deverá ser armazenada na lista cujo índice é obtido pelo resto da divisão da função de espalhamento por 10.
  3. Nunca usei hora do sistema, não sei o comportamento do código, preciso armazenar hora em um vetor de struct ,para comparar hora <48 a variavel vai receber=reservado ,quando hora passar a ser >48,a variavel vai receber =disponivel. tentei fazer mas ao compilar tenho erro , [Error] subscripted value is neither array nor pointer nor vector typedef struct{char vendedor[20];float comissao;int hora;int dia;int mes;int ano;}tvendas;//reserva struct tm *DataAtual; //estrutura para armazenar hora.time_t Segundos;int Hora(void){ time(&Segundos); //obtém a hora em segundos. DataAtual = localtime(&Segundos); //converte horas em segundos. return(DataAtual->tm_hour); //retorna as horas de 0 a 24.} int reservar (tvendas v,int y) { int res; printf("\n\n 1:Para reserva cliente/2:Para reserva construtora\n"); scanf("%d", &res); if(res==1) { v[y].hora=Hora();//erro nesta linha y++; printf("Reservado\n"); system("cls"); return y;} else if (res==2) { printf("Reservado\n"); system("cls"); } else{ printf("Opção inválida\n");exit (EXIT_FAILURE);}} int main (void){tvendas v[tam];int r=0;r=reservar(v,r);int contatar(tvendas v,tcliente c){//outra função para verificar se hora <48int i,busca;FILE *Arq;for(i=0;i>tam;i++){if (v[i].hora<=48){ printf("Entre em contato com seu cliente:\n"); printf("%s",c[i].nome); printf("%d",c[i].telefone); } printf("Se deseja armazenar a busca em um arquivo, digite 1 Se não, digite 0 para sair\n"); scanf("%d",&busca); if (busca==1){ Arq=fopen("Reservas.txt","w"); if(!Arq){ printf("ERRO"); } else{ fwrite(&c[i],sizeof(Tcliente),1,arq); } fclose(arq); } else{ return 0;}}}
  4. Preciso de uma ajuda com essa função, estou usando strstr para verificar a existencia de uma substring em uma string,mas dá erro quando a main chama a função,o programa para de executar após esses printf e scanf da função. o vetor que ela recebe está ok,bibliotecas também,se alguém souber qual é o erro! //E-dado um apartamento, exibe o código da garagem compradavoid vagaadquirida(char garagem[400]){int x; char apto[10]; char *pt[10]; printf("\n Para verificar vaga adquirida\n");printf("\n Qual numero do apartamento:\n"); scanf("%s",apto); for(x=0;x<400;x++){ *pt=strstr(garagem[x],apto);if(*pt != NULL) { printf ("%s ",strstr (garagem[x],apto)); } } }
  5. oi,preciso passar um vetor para função,acontece que,a função vai ser chamada,vai preencher a primeira posição do vetor e parar. depois vai ser chamada novamente e precisa acessar a proxima posição , assim sucessivamente. Acontece que não estou conseguindo fazer isso, sempre que chamo a função preencho na posição 0. //preenche garagem //a função está ok, preenchendo o vetor inicialvoid pgaragem(char garagem[400][20]){ int x;for(x=0;x<400;x++){sprintf( garagem[x],"G%.3d", x+1); } //essa função que vai ser chamada e concatenar um numero inteiro ao que já está no vetor,e a cada chamada precisa andar uma posição.//acontece que está usando sempre a primeira posição.int vendagaragem (char garagem[400][20],int num,int w){char gar[10];int g,x;printf("\n Digite 1-para inserir garagem \n 0-para sair\n"); scanf("%d", &g); if(g==1) { if( num==3) { venda +=40.000,00; printf("Adicionado\n"); system("cls"); itoa (num,gar,10); strcat(garagem[x],gar); x+2; } else { venda +=20.000,00; printf("Adicionado\n"); system("cls"); itoa (num,gar,10); strcat(garagem[x],gar); x++; } } else{system("pause");} return x;}int main(){char garagem[400][20];int w=0;int num;float venda; w=vendagaragem(garagem,num,w);return 0;}
  6. sim minha variavel tem a palavra disponivel.,não creio que o erro esteja fora dessa parte que enviei anteriormente.e sim status é tipo char typedef struct{int num;int qto;float valor;float venda;char status[20];char tipo[20];}tcondominio; /preennche status inicialvoid pstatus(tcondominio cond[10][6][4]){int i,j,k;for(i=0;i<10;i++){for(j=0;j<6;j++){ for(k=0;k<4;k++) { strcpy(cond[i][j][k].status,"Disponivel"); } } }}void vender(tcondominio cond[10][6][4],int *bl,int *an,int *ap){float desc,fin;int venda; //direto no if não está ok if(strcmp (cond[*an-1][*bl-1][*ap-1].status,"Disponivel")==0); {printf("\n\n Para venda a vista marque'1' para venda financiada marque'2' \n");scanf("%d", &venda);if (venda==1){ printf(" insira desconto até 15\n"); scanf("%f", &desc); if(desc >0 && desc<=15) { desc=desc/100; cond[*an-1][*bl-1][*ap-1].venda=cond[*an-1][*bl-1][*ap-1].valor - (cond[*an-1][*bl-1][*ap-1].valor *desc); printf("Vendido com sucesso\n"); strcpy (cond[*an-1][*bl-1][*ap-1].status,"Vendido"); strcpy (cond[*an-1][*bl-1][*ap-1].tipo,"A Vista"); } else { printf("valor invalido \n"); system("pause"); } } else if (venda==2){printf(" insira acrescimo até 95\n");scanf("%f", &fin); if(fin >0 && fin<=95) { fin=fin/100; cond[*an-1][*bl-1][*ap-1].venda=cond[*an-1][*bl-1][*ap-1].valor + (cond[*an-1][*bl-1][*ap-1].valor *fin); printf("Vendido com sucesso\n"); strcpy (cond[*an-1][*bl-1][*ap-1].status,"Vendido"); strcpy (cond[*an-1][*bl-1][*ap-1].tipo,"Financiado"); } else { printf("valor invalido \n"); system("pause"); } }int main (void){ tcondominio cond[10][6][4]; int bloco,andar,apto; printf("\n Digite o bloco:1 a 4 \n "); scanf("%d", &bloco); printf(" Digite o andar:1 a 10 \n "); scanf("%d", &andar); printf(" Digite o apartamento:1 a 6 \n "); scanf("%d", &apto); vender(cond,&bloco,&andar,&apto,garagem); reservar(cond,&bloco,&andar,&apto); return 0; }
  7. Estou tentando comparar duas strings mas não está funcionando,preciso que essa comparação seja a condição pra entrar no for. //comparação direta no if é pra entrar no for se as strings forem iguais,está entrando com string diferentes tbm if(strcmp (cond[*an-1][*bl-1][*ap-1].status,"Disponivel")==0); {printf("\n Para venda a vista marque'1' para venda financiada marque'2' \n");scanf("%d" ,&venda); }// aqui tentei fazer a mesma coisa,só que copiando em uma string e comparando depois,tbm não funcionouchar st[20]; strcpy(st,"Disponivel"); if (strcmp (cond[*an-1][*bl-1][*ap-1].status,st)==0) { printf("\n Para venda a vista marque'1' para venda financiada marque'2' \n"); scanf("%d" ,&venda); }
  8. neste código escreve-se um item abaixo do outro ,ok, agora como anexar mais conteudo ao arquivo de forma que fique ao lado do que já está lá e não abaixo.? ex.1-101 2-102 3-103 #include <stdio.h> int main () { FILE *A; int i; A = fopen ("teste.txt", "w"); if (A == NULL) { printf ("Erro na abertura do arquivo!"); } else { for (i=1;i<=100;i++) { fprintf (A, "%d\n", i); } fclose (A); } A = fopen ("teste.txt", "a"); if (A == NULL) { printf ("Erro na abertura do arquivo!"); } else { for (i=1;i<=100;i++) { fprintf (A, "%d-", i+100); } fclose(A); }
  9. ok, mas continuando esse código, se eu precisar acrescentar uma outra variavel inteiro existente,(considerando que garagem já preenchida) só o sprintf resolve ou preciso concatenar ? ex. sprintf (garagem[x],”%d”,num);
  10. /*int comparar= strcmpi(entrada, saida); essa última linha, substitui por if (strcmp (entrada, saida ==0)) printf("%s",entrada);
  11. //Não sei se funciona ,mas estou tentando preencher um vetor com G001,G002,G003,...não consegui compilar,help. #include<stdio.h> #include<string.h> #include<stdlib.h> int main (void) { char garagem[400][10];; int i,j; garagem[0]= "G001"; for(i=1;i<400;i++) { garagem= garagem[i-1]+(+1); } return 0; }
  12. A declaração de inteiro está errada: int fone[15]; correto int fone;
  13. Como você faria um algoritimo em C que é uma matriz 10x6, para primeira linha , cada coluna recebe os valores respectivos 280,375,225,280,375,225 e para cada próxima linha mais 3,5% sobre o valor ,tentei esse for,com acrescimo iniciando com 0 mas está errado: for (i=0;i<10;i++) { for (j=0;j<6;j++) { if ((j==0) || (j==3)) { a[j].valor=280 +ac; ac=a[j].valor * (0,035); } if ((j==1) || (j==4)) { a[j].qto=3; a[j].valor=375+ac1; ac1=a[j].valor* 0,035; } if ((j==2) ||(j==5)) { a[j].valor=225+ac2; ac2=a[j].valor* 0,035; } }
  14. encontrei o erro, alterando a variavel do if: if((i==0) || (i==3)) if ((i==1) || (i==4)) if ((i==2) || (i==5))
  15. Estou tentando referenciar pelo índice, ex. guardar valor 2 na posição 0.mas não funciona. #include<stdio.h> typedef struct { int qto; float valor; }tapto; int main (void) { int i; tapto a [6]; for (i=0;i<6;i++) { if (a.qto ==0 || a.qto ==3) { a.qto = 2; a.valor=280; } if (a.qto ==1 || a.qto ==4) { a.qto = 3; a.valor=375; } if (a.qto ==2 || a.qto ==5) { a.qto = 1; a.valor=225; } } for(i=0;i<6;i++) { printf("%d \n", a.qto); printf("%.2f \n", a.valor); } return 0; }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...