Ir ao conteúdo
  • Cadastre-se

Éverton Todoroki

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

Reputação

0
  1. Olá, sou iniciante em programação em c e no momento estou aprendendo sobre fila em C. Fiz um programa e tá dando erro. Se alguém puder me ajudar fico muito grato. Tenho que: Implementar um sistema que utilize uma fila para controlar a entrada e saída de ordens de produção (código,descrição da peça a produzir, quantidade a produzir). Utilizar uma struct para representar a ordem de produção. Deve ser possível inserir, retirar e listar as ordens da fila. A fila deve ser implementada sobre um vetor de 10 elementos . Os erros que estão acusando é em void inserir e diz. #include <stdio.h> #include <stdlib.h> #define TAMANHO 5 struct fila { int numeroelementos; int inicio; float elementos[TAMANHO]; char descricao[20]; int quantidade; }; typedef struct fila Fila; Fila *criarFila() { Fila *f= (Fila*) malloc(sizeof(Fila)); f->numeroelementos = 0; f->inicio = 0; return f; } void inserir(Fila *f, float valor,char nam[20],int qtd) { if(f->numeroelementos == TAMANHO) { printf("Fila cheia.\n"); return; } int fim = (f->inicio + f->numeroelementos) % TAMANHO; f->elementos[fim] = valor; f->descricao[fim]= nam; //aqui dá o erro de f->descricao[fim]= nam; //Warning: assignment makes integer from pointer without a cast [-Wint-conversion] f->quantidade[fim]=qtd; //aqui da o erro: subscripted value is neither array nor pointer nor vector f->numeroelementos++; } void retirar(Fila *f) { float valor; if(f->numeroelementos == 0) { printf("fila vazia.\n"); return; } //retira o elemento da fila valor =f->elementos[f->inicio]; f->inicio = (f->inicio + 1) % TAMANHO; f->numeroelementos--; printf("Elemento retirado = %.0f\n",valor); } void destruirFila(Fila *f) { free(f); } void mostrarFila(Fila *f) { printf("Conteúdo da fila\n"); int i; for(i = 0; i < f->numeroelementos; i++) printf("%0.f\n",f->elementos[(f->inicio + i) % TAMANHO]); printf("\n"); } int main() { Fila *fila=criarFila(); int opcao = -1; float item; int qtd; char nome[20]; while(opcao != 0) { system("cls"); printf("Escolha a opção desejada: \n"); printf("1. Enfilera\n"); printf("2. Retira \n"); printf("3. Mostra a fila\n"); printf("0. Fim\n"); scanf("%d", &opcao); switch (opcao) { case 1 : //insere printf("Digite o codigo: "); scanf("%f", &item); printf("Digite a descricao da peca: "); fflush(stdin); gets(nome); printf("Digite a quantidade de pecas: "); scanf("%d", &qtd); inserir(fila,item,nome,qtd); break; case 2 : //retira retirar(fila); break; case 3 : //mostra mostrarFila(fila); break; }//switch printf("\n"); system("pause"); } destruirFila(fila); }
  2. Olá, abri um ventilador e tirei seu motor e bobina. Quando impulsionava o eixo (dava uma força com a mão) ele começava a girar. Só que aí decidi tirar o capacitor pra ver tava estragado,mas só fiz o teste com o multímetro pra ver se tava funcionando. Porém, dps que fiz isso, liguei na tomada e coloquei a chave teste no eixo e no aço, que envolve o motor, e para minha surpresa tá tudo em curto. E agora o motor só liga e dá barulho, não dá mais pra impulsionar pois ele não gira. Alguém que entenda, pode me dar uma dica do que pode ser ou o que fazer.

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