Ir ao conteúdo
  • Cadastre-se

Bruno César Oliveira Dias

Membro Júnior
  • Posts

    7
  • Cadastrado em

  • Última visita

Reputação

7
  1. @devair1010 Boa noite, seguindo sua sugestão esbarrei em mais 2 problemas: Não estou conseguindo pegar o nome do ingrediente(na verdade ele puxar certo na primeira vez, porém na segunda ele já da bug e vem todo errado); E o segundo é que não sei converter char ou string (vetor de caracteres) para float. Se puder me ajudar agradeço, é para um trabalho na Faculdade e já não sei mais como resolver, Obrigado!! Código: fgets(Linha,1024,arq); for(i=0;i<1024;i++) { if(Linha[i] == ' ' && (Linha[i+1] == ' ' || Linha[i+1] == NULL)) { Linha[i] = '\0'; } } for(i=0;i<30;i++) { SaborSalvo[i] = Linha[i]; } c = Linha[30]; // primeiro caractere do ingrediente while(c != '\0',j++)//j = 30, j servira para apontar o caractere atual da linha { //comandos para pegar os valores do arquivo txt for(i=0;i<20;i++) { ingrediente[i] = Linha[j]; j += 1; } printf("Ingrediente %s\n",ingrediente); //testar se pegou o Ingrediente j += 2; //pula 2 caracteres da linha, 1 para o espaço e o outro para apontar para o primeiro digito da quantidade //outro problema, Como converter Char para float? while(c != ' ' || c != '\0',i=0,i++) { c = Linha[j]; QtddChar[i] = c; j+=1; } // Qtdd = QtddChar ? printf("Quantidade %s\n\n",QtddChar); // testar o que puxou como quantidade j+=1; // DescontarEstoque(ingrediente,Qtdd); c = Linha[j];
  2. Boa tarde. Estou fazendo um código de Estoque onde tenho alguns arquivos txt. Em resumo: preciso pegar uma linha de arquivo onde estará organizado da seguinte forma: [Nome da pizza] [ingrediente 1] [quantidade do ingrediente 1] .... [ingrediente n] [quantidade n]. Farei desta forma para que ENQUANTO tiver ingredientes eu colocar o nome e a quantidade em uma variável para que eu subtraia do arquivo de estoque. Obrigado desde já.
  3. @BEZERRA_BRITONão, é o mesmo. Só chamei de Menu Principal depois para diferenciar dos Menus Secundários
  4. Bom dia. Estou fazendo um sistema de pizzaria que tem um menu e deste menu leva a outros submenus. Queria saber se tem como "transitar" por entre as funções. Ex: função main "chama" login; login "chama" Menu; Menu "chama" submenu Clientes; após a conclusão das operações, o submenu "chama" novamente o menu Principal; porém quando se escreve, o programa não aceita, pois a função a ser chamada tem que ser escrita antes da que esta chamando. Como resolver?
  5. Bom dia/tarde/noite a todos. Estou fazendo uns testes de inserção, leitura, alteração e remoção de linhas em um arquivo txt. Aprendi a alterar um arquivo copiando o conteúdo dele para um outro provisório, alterando apenas o que preciso, e depois voltando para o arquivo original(para manter o nome do arquivo). Porém meu professor quer que eu faça com a função fseek e não sei como fazer(ele ainda não ensinou isso e não consegui encontrar em outros tópicos ou vídeos do Youtube). Estava fazendo desta forma: char NomSalv[20], NomNov[20]; printf("\n Qual o Nome Salvo?\n"); setbuf(stdin,NULL); gets(NomSalv); printf("\nQual o Novo Nome?\n"); setbuf(stdin,NULL); gets(NomNov); FILE *Arquivo, *ArqProv; Arquivo = fopen("Texto.txt","r"); ArqProv = fopen("TextoProv.txt","w"); char Nome[20], Telefone[20]; int ver = 5; while(!feof(Arquivo)) { fscanf(Arquivo,"%s %s ",&Nome,&Telefone); ver = strcmp(Nome,NomSalv); if(ver == 0) { fprintf(ArqProv,"%s %s\n", NomNov,Telefone); } else { fprintf(ArqProv,"%s %s\n",Nome,Telefone); } } fclose(Arquivo); fclose(ArqProv); ArqProv = fopen("TextoProv.txt","r"); Arquivo = fopen("Texto.txt","w"); while(!feof(ArqProv)) { fscanf(ArqProv,"%s %s ",&Nome,&Telefone); fprintf(Arquivo,"%s %s\n",Nome,Telefone); } close(ArqProv); close(Arquivo); remove("TextoProv.txt");
  6. @KXSY Este funcionou, mudei apenas o modo de receber, com o fgets. obrigado
  7. Bom dia, queria saber como faço para preencher o espaço restante de um vetor com " - ", estou tentando assim: Edit: Ja tentei com if(nome == NULL)... #include <stdlib.h> #include <stdio.h> int main() { char nome[31] = "", sabor[21] = "", data[11] = ""; int i; scanf("%s",&nome); for(i = 0; 1<31; i++) { if(nome[i] == "") { nome[i] = "-"; } } scanf("%s",&sabor); i = 0; for( i = 0; i<21; i++) { if(sabor[i] == "") { sabor[i] == "-"; } } scanf("%s",&data); i = 0; for(i=0;i<11;i++) { if(data[i] == "") { data[i] = "-"; } } printf("%s%s%s", nome, sabor, data); }

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...