Ir ao conteúdo
  • Cadastre-se

Ezequiel André

Membro Júnior
  • Posts

    6
  • Cadastrado em

  • Última visita

Reputação

5
  1. Funcionou perfeitamente. Eu já havia tentado antes colocar o fscanf dentro do whille , mas da seguinte forma: "while((fscanf(txt,"%d %s%f............., &dados.cod,&.......)!=NULL), mas também não funcionou. Agora está tudo certo, Muito obrigado e espero que este post ajude a quem estiver com esta duvida também, por que pesquisei em vários lugares e não achei uma explicação tão boa. Muito obrigado
  2. Boa noite pessoal. Estou engatinhando em um pequeno projeto em C e não estou com o código fonte todo pronto, estou criando em partes. E já na primeira parte, a que deveria mostrar a lista de itens de um arquivo, a última linha fica repetindo. Estou usando o "fscanf" para ler do arquivo. Se alguém puder me ajudar a resolver, ou me explicar onde estou errando, agradeço. Segue o código fonte, lembrando que as outras funções eu ainda não implantei.Segue também imagem das telas de execução, só para pré-visualização #include<stdio.h> #include<stdlib.h> #include<stdbool.h> #include<windows.h> void gotoxy(int x, int y){ COORD coord; coord.X = x; coord.Y = y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord); } typedef struct{ int cod; char nome[15]; float quant; float valor; float v_total; float v_venda; float lucro; }Dados; int head(){ for(int i = 0 ; i < 6 ; i++){ for(int j = 0 ; j < 50 ; j++){ if(i==0){ if(j==0){ printf("%c",201); } if(j==49){ printf("%c\n",187); } else{ printf("%c",205); } } if(i==5){ if(j==0){ printf("%c",200); } if(j==49){ printf("%c\n",188); } else{ printf("%c",205); } } }if(i>1&&i<5){ printf("%c%50c\n",186,186); } } gotoxy(2,2); printf("\tSISTEMA DE GERENCIAMENTO DE ESTOQUE\n\n\n"); } int body(){ for(int i = 0 ; i < 17 ; i++){ for(int j = 0 ; j < 50 ; j++){ if(i==0){ if(j==0){ printf("%c",201); } if(j==49){ printf("%c\n",187); } else{ printf("%c",205); } } if(i==16){ if(j==0){ printf("%c",200); } if(j==49){ printf("%c\n",188); } else{ printf("%c",205); } } }if(i>1&&i<16){ printf("%c%50c\n",186,186); } } } int menu(int *op){ head(); body(); gotoxy(2,6); printf("Digite a opcao desejada:"); int j=1; printf("\n\n"); for(int i = 9 ; i < 16 ; i++){ if(i==9){ gotoxy(2,i); printf("%d- Mostrar relatorio do estoque",j); j++; } if(i==10){ gotoxy(2,i); printf("%d- Salvar relatorio do estoque",j); j++; } if(i==11){ gotoxy(2,i); printf("%d- Inserir item no estoque",j); j++; } if(i==12){ gotoxy(2,i); printf("%d- Localizar item no estoque",j); j++; } if(i==13){ gotoxy(2,i); printf("%d- Excluir item do estoque",j); j++; } if(i==14){ gotoxy(2,i); printf("%d- Ajuda",j); j++; } if(i==15){ gotoxy(2,i); printf("%d- Sair",j); j++; } } gotoxy(27,6); scanf("%d",&*op); system("cls"); //return *op; } int main(){ Dados dados; FILE *txt; int opcao; do{ menu(&opcao); system("cls"); switch(opcao){ case 1:{ head(); body(); if((txt=fopen("estoque.txt","r"))==NULL){ printf("Não foi possivel aabrir o arquivo"); } else{ int i=8; gotoxy(1,7); printf("COD NOME QUANT VALOR VALOR_V VALOR_T LUCRO"); while(!feof(txt)){ fscanf(txt," %d %s %f %f %f %f %f",&dados.cod,&dados.nome,&dados.quant,&dados.valor,&dados.v_venda,&dados.v_total,&dados.lucro); ++i; gotoxy(2,i); printf("%d %s\t%.2f%5.2f%6.2f%9.2f%8.2f",dados.cod,dados.nome,dados.quant,dados.valor,dados.v_venda,dados.v_total,dados.lucro); } } fclose(txt); gotoxy(2,6); printf("Para sair digite 7:"); gotoxy(22,6); scanf("%d",&opcao); } case 2:{ printf("tchau"); break; } } }while(opcao!=7); gotoxy(1,20); return 0; }
  3. Pessoal. Estou mais uma vez precisando de uma ajuda. Preciso desenvolver um programa em C que receba o número de cinco candidatos e armazene o votos de cada um.Tentei fazer com um vetor que armazena os votos , mas não consegui ainda visualizar como eu separo a quantidade de votos de cada um ... setlocale(LC_CTYPE,""); int candidato[5],i; printf("***ELEIÇÕES 2018***\n"); printf("1-Yoshi\n2-Mario\n3-Luigi\n4-Koopa\n5-Princesa Peach\n"); printf("Escolha seu candidato:\n"); for( i = 0; i < 10 ; i ++){ scanf("%d",&candidato[i]); } for( i = 0 ; i < 10 ; i ++){ printf("%d\t",candidato[i]); } return 0; } Se alguém entendeu o conceito do que eu tô tentando fazer... ajuda ai...
  4. Muito bom , testei aqui e rodou perfeito...valeu.
  5. Seria este formato caso o usuário digitasse 5, por exemplo; * * * * * * * * * * * * * * * * ... adicionado 6 minutos depois Bem, mas, depois de algumas pesquisas encontrei um exercício em outra linguagem, mas como a estrutura é praticamente a mesma, consegui utilizar. Obrigado. #include<stdio.h> #include<locale> int main(){ setlocale(LC_CTYPE,""); int lado; printf("Digite o tamanho do lado do quadrado: "); scanf("%d",&lado); for(int col=1; col<=lado;col++){ printf(" *"); } printf("\n"); for(int lin=2;lin<lado;lin++){ printf(" *"); for(int col=2;col<lado;col++){ printf(" "); } printf(" * \n"); } for(int col=1; col<=lado;col++){ printf(" *"); } return 0; } adicionado 21 minutos depois Aqui vai ele com os meus comentários, se estiver errada a minha interpretação do código, comentem, pois estou com dificuldades em entender bem , mas acho que é isso!!! valeu!! #include<stdio.h> #include<locale> int main(){ setlocale(LC_CTYPE,""); int lado; printf("Digite o tamanho do lado do quadrado: "); scanf("%d",&lado); for(int col=1; col<=lado;col++){// Coluna recebe 1, enquanto coluna for menor ou igual que o lado, incrementa +1; printf(" *");// imprime a imagem de um espaço e asterisco; } printf("\n");//quebra a linha para a próxima instrução; //no próximo "FOR" é onde são feitas as laterais do quadrado; for(int lin=2;lin<lado;lin++){// aqui a variavel linha, inicia com 2, e enquanto ela for menor que o lado, incrementa com +1; printf(" *");// e imprime espaço e asterisco; for(int col=2;col<lado;col++){ //dentro deste mesmo "FOR", temos um outro para criar as colunas vazias;coluna recebe 2, enquanto for menor que o lado, soma com 1; printf(" "); // e imprime o espaço vazio; } printf(" * \n");//aqui finaliza o "FOR" da criação das laterais ; } for(int col=1; col<=lado;col++){ // aqui o código repete , veja que é como o primeiro "FOR" declarado. para fazer a última linha , a base do quadrado. printf(" *");//onde os asteriscos preenchem a linha. } return 0; }
  6. E aí pessoal, gostaria de ver se algum membro poderia me ajudar.Estou no primeiro semestre do curso ADS e ainda não consegui assimilar bem algumas funções. Estou em uma maratona de exercícios de programação e me deparei com o tal quadrado vazio. Bem eu consegui fazer o quadrado completo com dois "for", mas para fazer vazio , estou quebrando a cabeça.

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