Ir ao conteúdo
  • Cadastre-se

Fabio Ramalho

Membro Júnior
  • Posts

    8
  • Cadastrado em

  • Última visita

posts postados por Fabio Ramalho

  1. Olá pessoal!!

     

    Preciso de uma ajuda !

    Fiz um código para cadastrar produtos e pedidos. Ambos cadastros eu coloco em LISTAS : produto LISTA e pedido LISTA2.

     

    Eu fiz uma função para remoção do cadastro em uma posição dada, porém ele não está funcionando, acredito que está retornando 0.

     

    Abaixo segue o código. Se alguém puder me dar uma luz ! hehe

     

    Abraços!

     

    #include<stdio.h>
    #include<stdlib.h>
    #include<conio.h>
    #include<string.h>

    typedef struct cadastro

        int cod;
        char nome_agulha[30];
        int serie;
        int qtde;
        float preco;
        int forca_mola;
    } agulha;

    typedef struct pedido
    {
        int cod;
        char nome_pedido[30];
        int qtde;
        float preco_pedido;
    }venda;

    typedef struct LISTA {
        int quant;
        agulha dados[30];
    }LISTA;

    typedef struct LISTA2 {
        int quant;
        venda dados[30];
    }LISTA2;

    void entrada_cadastro(LISTA *temp);
    void entrada_pedido(LISTA2 *temp);
    //void remove_cadastro(LISTA *temp);
    int insereInicioL(LISTA *temp, agulha dado);
    int insereInicioL2(LISTA2 *temp, venda dado);
    int removePosL(LISTA *temp, agulha *dado, int pos);
    int removePosL2(LISTA2 *temp, venda *dado, int pos);


    int main()
    {
        LISTA finfo;
        LISTA2 linfo;
        venda info2;
        agulha info;
        int pos;

        finfo.quant = 0;

        do
        {
            printf("-----------------SUPRATEC LTDA-----------------\n");
            printf("-----CADASTRO INTERNO DE AGULHAS DE TESTE------\n\n");
            printf("DIGITE: \n");
            printf(" 1)INSERIR CADASTRO \n 2)INSERIR PEDIDO\n 3)REMOVER CADASTRO\n 4)REMOVER PEDIDO 5)VER ENTREGAS\n 6)FECHAR SISTEMA\n");
            switch (_getch())
            {
            case'1': entrada_cadastro(&finfo); break;
            case'2': entrada_pedido(&linfo); break;
            case'3': printf("Posicao: ");
                        rewind(stdin);
                        scanf_s("%d", &pos);
                        if (removePosL(&finfo, &info, pos))
                        printf("Cadastro removido com sucesso!");
                        else
                        printf("Erro ao remover\n");
                        break;
                        default: printf("erro\n");
            case'4': printf("Posicao: ");
                rewind(stdin);
                scanf_s("%d", &pos);
                if (removePosL2(&linfo, &info2, pos))
                    printf("Pedido removido com sucesso!");
                else
                    printf("Erro ao remover\n");
                break;
            }
            _getch();
            system("cls");
        } while (1);

        system("pause");
        return 0;
    }

        

        void entrada_cadastro(LISTA *temp)
        {
            int i = 0;
            agulha info[30];
            int op=0;
            int cont=0;
            LISTA p;
            
            do {
                system("cls");
                printf("Escreva a familia \n");
                rewind(stdin);
                fgets(info.nome_agulha, 30, stdin);
                printf("Digite a serie (100, 75 ou 50) \n");
                scanf_s("%d", &info.serie);
                printf("Digite a quantidade: \n");
                scanf_s("%d", &info.qtde);
                printf("Digite o preco: \n");
                scanf_s("%f", &info.preco);
                cont++;
                cont = info.cod;
                if (insereInicioL(&p, info))
                    printf("Cadastro realizado com sucesso!\n");
                else
                    printf("Erro ao registrar cadastro!\n\n");
                printf("Deseja cadastrar mais um item(1-SIM 2-NAO)?\n");
                scanf_s("%d", &op);
                system("cls");
            } while (op == 1);
        }
        void entrada_pedido(LISTA2 *temp)
        {
            int i=0;
            venda info[30];
            int op = 0;
            int cont = 0;
            LISTA2 p;
            do 
            {
                system("cls");
                printf("Digite o nome da agulha:\n");
                rewind(stdin);
                fgets(info.nome_pedido, 30, stdin);
                printf("Digite a quantidade:\n");
                scanf_s("%d", &info.qtde);
                printf("Digite o valor:\n");
                scanf_s("%f", &info.preco_pedido);
                cont++;
                cont = info.cod;
                if (insereInicioL2(&p, info))
                    printf("Pedido inserido na fila de entrega!\n");
                else
                    printf("Erro ao registrar pedido!\n\n");
                printf("Deseja cadastrar mais um pedido? (1) SIM (2) NAO\n");
                scanf_s("%d", &op);
                system("cls");
            }   while (op == 1);
        }
        int vaziaL(LISTA *temp)
        {
            if (temp == NULL)
                return -1;
            if (temp->quant == 0)
                return 1;
            else
                return 0;
        }

        int insereInicioL(LISTA *temp, agulha dado)
        {
            if (temp == NULL)
                return 0;
            int aux;
            for (aux = temp->quant; aux > 0; aux--)
            {
                temp->dados[aux+1] = temp->dados[aux];
                temp->dados[aux] = temp->dados[aux - 1];
            }
            temp->dados[0] = dado;
            temp->quant++;
            return 1;
        }

        int insereInicioL2(LISTA2 *temp, venda dado)
        {
            if (temp == NULL)
                return 0;
            int aux;
            for (aux = temp->quant; aux > 0; aux--)
            {
                temp->dados[aux] = temp->dados[aux - 1];
            }
            temp->dados[0] = dado;
            temp->quant++;
            return 1;

        }

        int removePosL(LISTA *temp, agulha *dado, int pos)
        {
            pos--;
            if (temp == NULL)
                return 0;
            if (vaziaL(temp))
                return 0;
            if (pos < 1 || temp->quant <pos)
                return 0;

            *dado = temp->dados[pos];
            int aux;
            for (aux = pos; aux < temp->quant; aux++)
            {
                temp->dados[aux] = temp->dados[aux + 1];
            }

            temp->quant--;
            return 1;
            
        }

        int removePosL2(LISTA2 *temp, venda *dado, int pos)
        {
            pos--;
            if (temp == NULL)
                return 0;
            if (pos < 1 || temp->quant <pos)
                return 0;

            *dado = temp->dados[pos];
            int aux;
            for (aux = pos; aux < temp->quant; aux++)
            {
                temp->dados[aux] = temp->dados[aux + 1];
            }

            temp->quant--;
            return 1;
     

  2. Boa Noite!!

     

    Estou tentando fazer uma programação no Arduino em C. O programa controla 3 LEDS através do LDR. Se o ambiente estiver iluminado os 3 Leds acendem, assim por diante.

    Até o programa funciona bem !

    Mas, quando adiciona uma variável de uma porta serial (Serial.read()), quando compilo o LDR não funciona mais. Como se ele não estivesse fazendo o loop.

    Segue abaixo o programa, até onde ele rodou bem!!! Alguém tem alguma dica?


     

    char data;
    int Sensor = 0;
    int valorSensor = 0;
    int Vsensor=0;
    const int led_alto = 8;
    const int led_medio = 9;
    const int led_baixo = 10;
    void setup()
    {
    Serial.begin(9600);
    pinMode(led_alto, OUTPUT);
    pinMode(led_medio, OUTPUT);
    pinMode(led_baixo, OUTPUT);
    }
    void loop()
    {
      while(Serial.available())
      {
        valorSensor = analogRead(Sensor);
        if (valorSensor < 300) 
        {
          apagaLeds();
          digitalWrite(led_baixo, HIGH);
        }
        if (valorSensor >= 300 && valorSensor <= 350) 
        {
          apagaLeds();
          digitalWrite(led_baixo, HIGH);
          digitalWrite(led_medio, HIGH);      
        }
        if (valorSensor > 400) 
        {
          apagaLeds();
          digitalWrite(led_baixo, HIGH);
          digitalWrite(led_medio, HIGH);
          digitalWrite(led_alto, HIGH);     
        }
        }
      delay(50);
    }
    void acendeLeds() 
    {
          digitalWrite(led_baixo, HIGH);
          digitalWrite(led_medio, HIGH);
          digitalWrite(led_alto, HIGH);
    }
    void apagaLeds() 
    {
      digitalWrite(led_baixo, LOW);
      digitalWrite(led_medio, LOW);
      digitalWrite(led_alto, LOW);
    }

     

    • Curtir 1
  3. Olá !

     

    Estou tentando desenvolver um programa para uma calculadora em C# que leia um  polinomio e calcule a derivada e a integral desde polinomio.

    Fiz o programa, mas consegui apenas as operações básicas da calculadora

     

    Alguém teria uma ideia de como fazer?

    Segue abaixo:

     

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;

    namespace Calculadora.BIM2v._1

        public partial class Calculadora : Form
        {   
            String polinomio ="";
            Double value = 0;
            String operation = "";
            bool operation_pressed = false;
            String derivada2 = "";
            Double value2 = 0;

            public Calculadora()
            {
                
                InitializeComponent();
            }

            private void label1_Click(object sender, EventArgs e)
            {

            }

            private void button12_Click(object sender, EventArgs e)
            {

            }

            private void button11_Click(object sender, EventArgs e)
            {

            }

           

            private void button_Click(object sender, EventArgs e)
            {
                if ((result.Text == "0") ||(operation_pressed))
                    result.Clear(); //limpa o Text Box
                operation_pressed = false;
                Button b = (Button)sender;
                result.Text = result.Text + b.Text; //Faz aparecer os números no Text.Box
            }

            private void button_ClickCE(object sender, EventArgs e)
            {
                result.Text = "0";
            }

            private void operator_Click(object sender, EventArgs e)
            {
                Button b = (Button)sender;
                operation = b.Text;
                value = Double.Parse(result.Text);
                operation_pressed = true;  //guarda os valores da primeira variável até digitar o botão de operação
                equation.Text = value + " " + operation;
            }

            private void button16_Click(object sender, EventArgs e)
            {
                equation.Text = "";
                switch(operation) // realiza o resultado final quando aperta o botão de igual
                {
                    case "+":
                        result.Text = (value + Double.Parse(result.Text)).ToString();
                        break;
                    case "-":
                        result.Text = (value - Double.Parse(result.Text)).ToString();
                        break;
                    case "/":
                        result.Text = (value / Double.Parse(result.Text)).ToString();
                        break;
                    case "*":
                        result.Text = (value * Double.Parse(result.Text)).ToString();
                        break;         
                        
                }
            
                //operation_pressed = false; 
            }

            private void button18_Click(object sender, EventArgs e)
            {
                result.Text = "0";
                value = 0;
            }

            private void result_TextChanged(object sender, EventArgs e)
            {

            }

            private void buttonintg_Click(object sender, EventArgs e)
            {
                
            }

            private void buttonderv_Click(object sender, EventArgs e)
            {
                //derivacao = true;
                String[] derivada;
                String derivada2 = "";
                //Double value2 = 0;
                Button b = (Button)sender;
                result.Text = polinomio;
                derivada = polinomio.Split('^');
                derivada2 = derivada.ToString();
                //value2 = Double.Parse(derivada2.ToString());
                

            }

          
        }
    }

  4. Boa Tarde!!

    Estou tentando fazer uma calculadora que permita calcular integrada ou derivada de um polinomio do tipo ax²+bx+c.

    Já fiz o programa para as operações básicas, mas não consigo fazer as derivadas e Integrais.

     

    Tentei usar o comando .Split para pegar a String parcialmente, mas não deu certo. Se alguém tiver alguma dica ! Fico agradecido!

    namespace Calculadora.BIM2v._1
    { 
        public partial class Calculadora : Form
        {   
            String polinomio ="";
            Double value = 0;
            String operation = "";
            bool operation_pressed = false;
            String derivada2 = "";
            Double value2 = 0;
            public Calculadora()
            {
                
                InitializeComponent();
            }
            private void label1_Click(object sender, EventArgs e)
            {
            }
            private void button12_Click(object sender, EventArgs e)
            {
            }
            private void button11_Click(object sender, EventArgs e)
            {
            }
           
            private void button_Click(object sender, EventArgs e)
            {
                if ((result.Text == "0") ||(operation_pressed))
                    result.Clear(); //limpa o Text Box
                operation_pressed = false;
                Button b = (Button)sender;
                result.Text = result.Text + b.Text; //Faz aparecer os números no Text.Box
            }
            private void button_ClickCE(object sender, EventArgs e)
            {
                result.Text = "0";
            }
            private void operator_Click(object sender, EventArgs e)
            {
                Button b = (Button)sender;
                operation = b.Text;
                value = Double.Parse(result.Text);
                operation_pressed = true;  //guarda os valores da primeira variável até digitar o botão de operação
                equation.Text = value + " " + operation;
            }
            private void button16_Click(object sender, EventArgs e)
            {
                equation.Text = "";
                switch(operation) // realiza o resultado final quando aperta o botão de igual
                {
                    case "+":
                        result.Text = (value + Double.Parse(result.Text)).ToString();
                        break;
                    case "-":
                        result.Text = (value - Double.Parse(result.Text)).ToString();
                        break;
                    case "/":
                        result.Text = (value / Double.Parse(result.Text)).ToString();
                        break;
                    case "*":
                        result.Text = (value * Double.Parse(result.Text)).ToString();
                        break;         
                        
                }
            
                //operation_pressed = false; 
            }
            private void button18_Click(object sender, EventArgs e)
            {
                result.Text = "0";
                value = 0;
            }
            private void result_TextChanged(object sender, EventArgs e)
            {
            }
            private void buttonintg_Click(object sender, EventArgs e)
            {
                
            }
            private void buttonderv_Click(object sender, EventArgs e)
            {
                //derivacao = true;
                String[] derivada;
                String derivada2 = "";
                //Double value2 = 0;
                Button b = (Button)sender;
                result.Text = polinomio;
                derivada = polinomio.Split('^');
                derivada2 = derivada.ToString();
                //value2 = Double.Parse(derivada2.ToString());
                
            }
          
        }
    }

     

  5. BOA NOITE !!

     

    Fiz um programa na faculdade para cadastro de chapas ! Porém, pelo que vi o programa não está guardando as informações na struct.

    Quando listo todos os itens ele sempre aparece o último e no busca os dados são sempre os mesmos (do último item que cadastrei).

    Sou novo em programação, gostaria de uma ajuda !!

     

    Obrigado!

     

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    #include<conio.h>

    using namespace std;
    struct produto {
        int codificacao[50];
        int quantidade;
        float preco;
        float peso;
        char material[20];
        char fabricante[20];

    };
    void proc_menu() {
        printf("------------------------- PROGRAMA CADASTRO DE CHAPAS -------------------------\n\n\n");
        printf("  MENU:\n");
        printf("\n  OPCAO 1 - Cadastrar produto");
        printf("\n  OPCAO 2 - Remover produto");
        printf("\n  OPCAO 3 - Relatorio de CHAPAS");
        printf("\n  OPCAO 4 - Busca");
        printf("\n  OPCAO 0 - Sair");
        printf("\n\n  Digite sua opcao:  ");
    }

    void proc_menu_cad_prod() {
        printf("\n  OPCAO 0 - Voltar ao menu inicial");
        printf("\n  OPCAO 1 - Cadastrar produto");
        printf("\n\n  OPCAO:  ");
    }

    void proc_menu_excl_prod() {
        printf("\n  --Excluir produto!--\n\n\n");
        printf("\n  Opcao 0 - Voltar ao menu inicial");
        printf("\n  Opcao 1 - Excluir produto");
        printf("\n\n  Opcao:  ");
    }

    void proc_menu_lista_prod() {
        printf("\n  --A SUA LISTA DE PRODUTOS--\n\n\n");
        printf("\n  Opcao 0 - Voltar ao menu inicial");
        printf("\n  Opcao 1 - Listar todas as chapas");
        printf("\n\n  Opcao:  ");
    }

    int main() {
        int menu;
        int menu_cad_prod;
        int menu_excl_prod;
        struct produto p1[50];

        while (true) {
            system("cls");
            proc_menu();
            scanf_s("%d", &menu);

            if (menu == 0) {
                break;
            }
            if (menu == 1) {
                while (true) {
                    system("cls");
                    proc_menu_cad_prod();
                    scanf_s("%d", &menu_cad_prod);
                    if (menu_cad_prod == 0) {
                        break;
                    }
                    if (menu_cad_prod == 1) {
                        int i;
                        
                        
                            for (i = 0; i < 50; i++) {
                                
                                printf("\n  --Cadastro de produtos!--\n\n\n");
                                printf("\n  Codificacao :  ");
                                scanf_s("%i", &p1.codificacao);
                                printf("\n  Quantidade :  ");
                                scanf_s("%i", &p1.quantidade);
                                printf("\n  Preco unitario : ");
                                scanf_s("%f", &p1.preco);
                                printf("\n  Peso(KG) : ");
                                scanf_s("%f", &p1.peso);
                                printf("\n  Material :  ");
                                rewind(stdin);
                                fgets(p1.material, 50, stdin);
                                printf("\n  Fabricante :  ");
                                rewind(stdin);
                                fgets(p1.fabricante, 50, stdin);
                                break;                    
                        }
                    }

            }    
                system("pause");
            }
            if (menu == 2)
            {
                while (true) {
                    system("cls");
                    proc_menu_excl_prod();
                    scanf_s("%d", &menu_excl_prod);
                    if (menu_excl_prod == 0) {
                        break;
                    }
                    int i;
                    int excluir;
                    if (menu_excl_prod == 1) {
                        printf("\n Informe o Codigo : ");
                        rewind(stdin);
                        scanf_s("%i", &excluir);
                        for (i = 0; i < 50; i++) {
                            if (*p1.codificacao = excluir) {
                                *p1.codificacao = -1;
                                *p1.fabricante = -1;
                                *p1.material = -1;
                                p1.peso = 0;
                                p1.preco = 0;
                                p1.quantidade = 0;

                            }

                            system("cls");
                            printf("DADOS APAGADOS COM SUCESSO");
                            break;
                        }
                    }
                }
                system("pause");
            }
            if (menu == 3)
            {
                while (true) {
                    system("cls");
                    proc_menu_lista_prod();
                    int menu_lista_prod;
                    scanf_s("%d", &menu_lista_prod);
                    if (menu_lista_prod == 0) {
                        break;
                    }
                    if (menu_lista_prod == 1) {
                        int i;
                        for (i = 0; i < 50; i++)
                        {
                            printf("\n \n \n ----LISTA DE CHAPAS---- \n \n \n");
                            printf("Cod: %i\n", *p1.codificacao);
                            printf("Preco: %f\n", p1.preco);
                            printf("Peso: %f\n", p1.peso);
                            printf("Qtde: %i\n", p1.quantidade);
                            printf("Fabricante: %s\n", p1.fabricante);
                            printf("Material: %s\n", p1.material);
                            break;
                            
                        }
                    }
                    system("pause");
                }
            }
                if (menu == 4)
                {
                    system("cls");
                    int pesquisacod;
                    int i;
                    printf("Digite o codificacao que deseja buscar: ");
                    scanf_s("%i", &pesquisacod);
                    for (i = 0; i < 50; i++)
                    {
                        if (*p1.codificacao = pesquisacod) {
                            printf("\n \n \n ----SUA BUSCA---- \n \n \n");
                            printf("Cod: %i\n", *p1.codificacao);
                            printf("Preco: %f\n", p1.preco);
                            printf("Peso: %f\n", p1.peso);
                            printf("Qtde: %i\n", p1.quantidade);
                            printf("Fabricante: %s\n", p1.fabricante);
                            printf("Material: %s\n", p1.material);
                            break;

                        }

                    }
                    system("pause");
                }
            }
        }

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!