Ir para conteúdo
Fórum Script Brasil

senhor_unix

Membros
  • Total de itens

    61
  • Registro em

  • Última visita

Posts postados por senhor_unix

  1. Agora funciona:

    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    
    int main ()
    {
    // variaveis
    float conta,calculo1,calculo2;
    int dia;
    
    // Entrada de Dados
    printf("Informe o valor da conta:");
    scanf("%f", &conta);
    printf("Informe o dia pago:");
    scanf("%d", &dia);
    
    
    // Processamento
    getchar();
    if(dia<=5){           
    calculo1=conta*5/100;
    printf("Como foi pago antes do dia 5 o valor a ser pago é: %.2f",calculo1); 
    }
    else
    if(dia>=6 && dia<=15){
    printf("Como a conta foi paga entre o sexto e o décimo quinto dia não haverá desconto.");
    }
    else
    if (dia>15){  
    calculo2=conta*10/100;                      
    printf("Como a conta foi paga apos o dia 15 foi acrescentado 10 por cento de multa a conta. %.2f",calculo2); 
    }
    getchar();
    return (0);
    }

  2. A minha calculadora não imprime o calculo na tela,veja o código-fonte:

    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    
    int main ()
    {
    // Variaveis
    int n1, n2, opcao,soma,subtracao,multiplicacao,divisao,exponenciacao;
    
    // Entrada de Dados
    printf("Informe o primeiro numero: ");
    scanf("%d", &n1);
    printf("Escolha uma opcao: "
    "\n 1.Somar"
    "\n 2.Subtrair"
    "\n 3.Multiplicar"
    "\n 4.Divisao");
    printf("\n Opcao numero: ");
    scanf("%d", &opcao);
    printf("Informe o segundo numero: ");
    scanf("%d", &n2);
    
    
    // Processamento
    switch(opcao){
    case 1:
    soma=n1+n2;     
    printf("A soma de %d e %d é %d.",soma);
    break;
    }
    {
    switch(opcao){      
    case 2:
    subtracao=n1-n2;     
    printf("A subtracao de %d e %d é %d.",subtracao);
    break;
    }
    {
    switch(opcao){      
    case 3:
    multiplicacao=n1*n2;     
    printf("A multiplicacao de %d e %d é %d.", multiplicacao);
    
    break;
    }
    {
    switch(opcao){      
    case 4:
    divisao=n1/n2;     
    printf("A divisao de %d e %d é %d.", divisao);
    }
    }
    
    // Final do Codigo
    getchar ();
    return 0;
    
    }
    }
    }

  3. Pessoal,o meu programa não imprime o calculo1 e o calculo2,veja o código-fonte:

    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    
    int main ()
    {
    // variaveis
    float conta,calculo1,calculo2;
    int dia;
    
    // Entrada de Dados
    printf("Informe o valor da conta:");
    scanf("%f", &conta);
    printf("Informe o dia pago:");
    scanf("%d", &dia);
    
    calculo1=conta*5/100;
    calculo2=conta*10/100;
    
    // Processamento
    
    if(dia<=5){
    
    printf("Como foi pago antes do dia 5 o valor a ser pago é: %.2f",calculo1); 
    }
    else
    if(dia>=6 && dia<=15){
    printf("Como a conta foi paga entre o sexto e o décimo quinto dia não haverá desconto.");
    }
    else
    if (dia>15){          
    printf("Como a conta foi paga apos o dia 15 foi acrescentado 10% de multa a conta. %.2f",calculo2); 
    }
    getchar();
    return (0);
    }

  4. Aqui vai a minha teoria de como funciona a segurança no Linux:

    Existe sim alguns vírus para Linux,como por exemplo o Rootkit de kernel que é um vírus do tipo malware,e o que ele faz,ele altera os binários do sistema e ganha acesso de Root,entretanto como a segurança do Linux está no Kernel,os mantenedores do kernel Linux corrigem erros e falhas que possibilitam o vírus fulanodetal,então a próxima versão do kernel já vem vacinada contra o vírus fulanodetal,por exemplo se existe um vírus no kernel 2.6,o kernel 2.7 já vem vacinado contra esse vírus.

    O que acham da minha teoria?

    Ela está certa ou errada?

    Editar

  5. import javax.swing.*;
    import javax.swing.event.*;
    import java.awt.event.*;
    import java.awt.*;
    public class agenda01 extends JFrame implements ActionListener
    {
      private JButton bt1,bt2,bt3,bt4,bt5,bt6,bt7,bt8,bt9,bt10;
      private JPanel pn,pn1,pn2;
      private JTextField tf,tf1,tf2,tf3;
      private FlowLayout fl;
      private String[][] agenda = new String[100][4];
      private int indice=0,indic=1;
      private int nome=0,end=1,tel=2,cep=3;
      agenda01()
      {
         setSize(420,200);
         setTitle("Agenda - Índice da Matriz Atual: "+ indic);
         bt1 = new JButton("Nome");
         bt2 = new JButton("Endereco");
         bt3 = new JButton("Telefone");
         bt4 = new JButton("CEP");
         bt5 = new JButton("Incluir");
         bt6 = new JButton("Excluir");
         bt7 = new JButton("Editar");
         bt8 = new JButton("<<");
         bt9 = new JButton(">>");
         bt10 = new JButton("Sair");
         tf = new JTextField("");
         tf1 = new JTextField("");
         tf2 = new JTextField("");
         tf3 = new JTextField("");
         pn = new JPanel();
         pn1 = new JPanel();
         pn2 = new JPanel();
         fl = new FlowLayout();
         BorderLayout lay = new BorderLayout();
         getContentPane().setLayout(lay);
         getContentPane().add(pn,BorderLayout.WEST);
         getContentPane().add(pn1,BorderLayout.CENTER);
         getContentPane().add(pn2,BorderLayout.SOUTH);
         pn.setLayout(new GridLayout(4,1));
         pn1.setLayout(new GridLayout(4,1));
         pn2.setLayout(fl);
         pn.add(bt1);
         pn.add(bt2);
         pn.add(bt3);
         pn.add(bt4);
         pn1.add(tf);
         pn1.add(tf1);
         pn1.add(tf2);
         pn1.add(tf3);
         pn2.add(bt5);
         pn2.add(bt6);
         pn2.add(bt7);
         pn2.add(bt8);
         pn2.add(bt9);
         pn2.add(bt10);
         bt5.addActionListener(this);
         bt6.addActionListener(this);
         bt7.addActionListener(this);
         bt8.addActionListener(this);
         bt9.addActionListener(this);
         bt10.addActionListener(this);
         iniciar();
      }
      public void iniciar()
      {
            for(int i=0;i<100;i++)
               for(int j=0;j<4;j++)
                   agenda[i][j] = "";
            tf_set_enable(false);
            bt_verificar();
      }
      public void bt_verificar()
      {
          if(agenda[indice][nome] == "")
          {
              bt7.setEnabled(false);
              bt6.setEnabled(false);
          }
          else
          {
              bt7.setEnabled(true);
              bt6.setEnabled(true);
          }
      }
      public void tf_set_enable(boolean x)
      {
         if(x)
         {
            tf.setEnabled(true);
            tf1.setEnabled(true);
            tf2.setEnabled(true);
            tf3.setEnabled(true);
         }
         else
         {
            tf.setEnabled(false);
            tf1.setEnabled(false);
            tf2.setEnabled(false);
            tf3.setEnabled(false);
         }
      }
      public void set_title(String x)
      {
          if(x == "set")
          {
               indic = indice + 1;
               setTitle("Agenda - Índice da Matriz Atual: "+ indic);
          }
          else
          if(x == "++")
          {
               indic++;
               setTitle("Agenda - Índice da Matriz Atual: "+ indic);
          }
          else
          if(x == "--")
          {
               indic--;
               setTitle("Agenda - Índice da Matriz Atual: "+ indic);
          }
      }
      public void incluir_salvar()
      {
           if(bt5.getLabel() == "Salvar")
           {
                   for(int i=0;i<100;i++)
                   if(agenda[i][nome] == "")
                   {
                       agenda[i][nome] = tf.getText();
                       agenda[i][end] = tf1.getText();
                       agenda[i][cep] = tf2.getText();
                       agenda[i][tel] = tf3.getText();
                       break;
                   }
                   bt5.setLabel("Incluir");
                   tf_set_enable(false);
           }
           else
           {
                   limpar();
                   bt5.setLabel("Salvar");
                   tf_set_enable(true);
           }
      }
      public void excluir()
      {
          agenda[indice][nome] = "";
          agenda[indice][end] = "";
          agenda[indice][cep] = "";
          agenda[indice][tel] = "";
      }
      public void editar()
      {
          if(bt7.getLabel() == "Salvar")
           {
                agenda[indice][nome] = tf.getText();
                agenda[indice][end] = tf1.getText();
                agenda[indice][cep] = tf2.getText();
                agenda[indice][tel] = tf3.getText();
                bt7.setLabel("Editar");
                tf_set_enable(false);
           }
           else
           {
                bt7.setLabel("Salvar");
                tf_set_enable(true);
           }
      }
      public void voltar()
      {
                   if(indice == 0)
                   {
                        indice = 0;
                        set_title("set");
                        JOptionPane.showMessageDialog(null, "Inicio da Agenda");
                   }
                   else
                   if(indice > 0)
                   {
                        indice--;
                        tf.setText(agenda[indice][nome]);
                        tf1.setText(agenda[indice][end]);
                        tf2.setText(agenda[indice][cep]);
                        tf3.setText(agenda[indice][tel]);
                        set_title("--");
                   }
      }
      public void avancar()
      {
                   if(indice == 99)
                   {
                        indice = 99;
                        set_title("set");
                        JOptionPane.showMessageDialog(null, "Fim da Agenda");
                   }
                   else
                   if(indice < 99)
                   {
                        indice++;
                        tf.setText(agenda[indice][nome]);
                        tf1.setText(agenda[indice][end]);
                        tf2.setText(agenda[indice][cep]);
                        tf3.setText(agenda[indice][tel]);
                        set_title("++");
                   }
      }
      public void limpar()
      {
          tf.setText("");
          tf1.setText("");
          tf2.setText("");
          tf3.setText("");
      }
      public void actionPerformed(java.awt.event.ActionEvent e)
      {
      if(e.getSource() == bt5)
      {
           incluir_salvar();
           bt_verificar();
      }
      else
      if(e.getSource() == bt6)
      {
           excluir();
           limpar();
           bt_verificar();
      }
      else
      if(e.getSource() == bt7)
      {
           editar();
           bt_verificar();
      }
      else
      if(e.getSource() == bt8)
      {
           voltar();
           bt_verificar();
      }
      else
      if(e.getSource() == bt9)
      {
           avancar();
           bt_verificar();
      }
      else
      if(e.getSource() == bt10)
      {
           System.exit(0);
      }
    }
      public static void main(String [] arg)
      {
         agenda01 janela = new agenda01();
         janela.setVisible(true);
      }
    }

  6. #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
    #define clrscr() (system("CLS"))
    
    void gotoxy(int x, int y){
         COORD coord;
         coord.X=(short)x;
         coord.Y=(short)y;
         SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);
    }
    
    /******************************************************************************/
    struct REG_CLI{
       int CODIGO;
       char NOME[31];
       char ENDERECO[100];
       int CEP;
       int TELEFONE;
       char EMAIL[60];
       int EXCLUIDO;
    };
    struct REG_CLI CLIENTE;
    FILE *ARQCLI;
    int I,NR_CLI,ESCOLHA;
    char OPT[2];
    char RESP,TECLA;
    char SISTEMA[33]="PROGRAMA DE CADASTRO DE CLIENTES";
    /******************************************************************************/
    void line(void);
    void center(int LINHA, char *MENSAGEM);
    void tela(void);
    void mostradados(void);
    int PESQUISA(int NUMERO);
    int cadastra(void);
    //prototipo "consultar" não estav xexado no seu prototipo
    /*Uma dica para você é a seguinte efite de por nomes parecidos, pois na hora de declarar
    você acaba se confundindo, isso eu prendi co meu professor, eu tinha muitos erros nos meus programas por causa disso se precisar
    é só falar ok!cadastrar e cadastrar sã coisas diferentes e com nomes muito parecidos só muda uma letra no final da palavra e as vezs
    a gente não entende isso.*/
    int consultar(void);
    int editar(void);
    int cor(void);
    int exclusao(int NUMERO);
    /******************************************************************************/
    void clearline(void){
         printf("                                                                                 ");
         return;
    }
    /******************************************************************************/
    int main(void)
    {
      /*Verifica existencia do arquivo, se não existe, cria*/
      char OPCAO;
      if((ARQCLI=fopen("CADCLI.DAT","rb+"))==NULL){
         ARQCLI=fopen("CADCLI.DAT","wb+");
         fwrite(&CLIENTE,sizeof(struct REG_CLI),1,ARQCLI);
      }
      do{
         system("COLOR F0");
         clrscr();
         line();
         center(2,SISTEMA);
         center(3,"Menu de Opcoes");
         gotoxy(26,9);printf("Cadastrar...............[1]");
         gotoxy(26,11);printf("Consultar/Editar........[2]");
         gotoxy(26,13);printf("Excluir.................[3]");
         gotoxy(26,15);printf("Finalizar e salvar......[4]");
         gotoxy(26,17);printf("Entre com a opcao:");
         scanf("%c",&OPCAO);fflush(stdin);
         switch(OPCAO){
            case '1':cadastra();break;
            case '2':ESCOLHA=0;consultar();break;
            case '3':ESCOLHA=1;consultar();break;
         }
      }while(OPCAO!='4');
      fclose(ARQCLI);
      gotoxy(1,23);
      return(0);
    }
    /******************************************************************************/
    /*Troca uma linha*/
    void line(void){
         int POSICAO;
         for(POSICAO=0;POSICAO<80;POSICAO++)
           printf("+");
         return;
    }
    /*Centraliza uma mensagem no video em uma determinada linha*/
    void center(int LINHA, char *MENSAGEM){
         int COLUNA;
         COLUNA = ((80-strlen(MENSAGEM))/2);
         gotoxy(COLUNA,LINHA);
         printf(MENSAGEM);
         return;
    }
    /*Apresenta a tela de cadastro e consulta*/
    /******************************************************************************/
    void tela(void){
         gotoxy(18,10);clearline();
         gotoxy(18,11);clearline();
         gotoxy(18,12);clearline();
         gotoxy(18,13);clearline();
         gotoxy(18,14);clearline();
         gotoxy(18,15);clearline();
         gotoxy(1,10);printf("Codigo......:");
         gotoxy(1,11);printf("Nome........:");
         gotoxy(1,12);printf("Endereco....:");
         gotoxy(1,13);printf("CEP.........:");
         gotoxy(1,14);printf("Telefone....:");
         gotoxy(1,15);printf("E-Mail......:");
         return;
    }
    /*Mostra os dados quando da consulta ou tentativa de cadastro*/
    /******************************************************************************/
    void mostradados(void){
         gotoxy(18,10);printf("%d",NR_CLI);
         gotoxy(18,11);printf("%s",CLIENTE.NOME);
         gotoxy(18,12);printf("%s",CLIENTE.ENDERECO);
         gotoxy(18,13);printf("%d",CLIENTE.CEP);
         gotoxy(18,14);printf("%d",CLIENTE.TELEFONE);
         gotoxy(18,15);printf("%s",CLIENTE.EMAIL);
         return;
    }
    /******************************************************************************/
    int pesquisa(int NUMERO){
        int ACHOU = 0;
        rewind(ARQCLI);
        while(!feof(ARQCLI)&&ACHOU!=1){
           fread(&CLIENTE,sizeof(struct REG_CLI),1,ARQCLI);
           if(NUMERO==CLIENTE.CODIGO)
              ACHOU = 1;
        }
        return(ACHOU);
    }
    /******************************************************************************/
    int exclusao(int NUMERO){
        /*Exclusão de clientes*/
        
        /*Nota para o professor: Achei dois modos de excluir um registro do arquivo,
        o primeiro foi substituir a struct dos elementos por uma struct vazia e a
        segunda foi o que está abaixo, que é recopiar o banco. Desse jeito eu pode
        ser que venha a travar pois o numero de instruções executadas é muito maior
        do que do outro modo, mas dessa maneira eu não comprometo a integridade do
        arquivo salvando arquivos com muito lixo dentro.*/
        /*
        FILE *AUX;
        fclose(ARQCLI);
        system("copy CADCLI.DAT DADOS.DAT");
        gotoxy(1,23);clearline();gotoxy(1,23);
        system("del CADCLI.DAT");    
        ARQCLI=fopen("CADCLI.DAT","wb+");
        AUX=fopen("DADOS.DAT","rb+");
        rewind(AUX);  
        while(!feof(AUX)){
           fread(&CLIENTE,sizeof(struct REG_CLI),1,AUX);
           if(NUMERO!=CLIENTE.CODIGO)
              fwrite(&CLIENTE,sizeof(struct REG_CLI),1,ARQCLI);
        }  
        fclose(AUX);
        system("del DADOS.DAT");
        gotoxy(1,23);    
        printf("Registro excluido! Pressione <Enter> para prosseguir   ");
        fflush(stdin);
        while((TECLA = getchar())!='\n')
           gotoxy(33,23);    
        return(0);*/
        
        /*segunda maneira*/
        CLIENTE.EXCLUIDO=1;
        fseek(ARQCLI , -(long)sizeof(struct REG_CLI), 1);
        fwrite(&CLIENTE,sizeof(struct REG_CLI),1,ARQCLI);
        printf("Registro excluido! Pressione <Enter> para prosseguir                       ");
        
        /*Eu poderia setar um flag apontando se ele estivesse sendo excluido ou não
        com a data e hora da exclusão mas eu procurei fazer de um modo simples*/
    }
    /******************************************************************************/
    /*Cadastramento de dados*/
    int cadastra(void){
        clrscr();
        line();
        center(2,SISTEMA);
        center(3,"Modulo de Cadastramento\n");
        line();
        gotoxy(28,1);printf("Digite os dados abaixo");
        do{
           gotoxy(1,22);//clearline()
           gotoxy(1,23);//clearline()
           printf("Digite[0] para voltar ao menu                     ");
           tela();
           gotoxy(18,10);fflush(stdin);
           scanf("%d",&NR_CLI);
           gotoxy(1,23);//clearline();
           if(NR_CLI!=0){
              if(pesquisa(NR_CLI)==1)
              {
                 /*Apresenta os dados caso exista no arquivo*/
                 mostradados();
                 gotoxy(1,22);
                 if(CLIENTE.EXCLUIDO!=1)printf("Este registro já existe    ");
                 else printf("Este registro foi excluido    ");
                 gotoxy(1,23);
                 printf("Tecle <Enter> para nova tentativa   ");
                 fflush(stdin);
                 while((TECLA=getchar())!='\n')
                 gotoxy(33,23);
                 gotoxy(1,22);clearline();
              }
              else{
                 /*Localiza posicao para gravar registro*/
                 fseek(ARQCLI,(long)sizeof(struct REG_CLI),2);
                 /*Grava registro*/
                 gotoxy(18,11);
                 fflush(stdin);fgets(CLIENTE.NOME,31,stdin);
                 gotoxy(18,12);
                 fflush(stdin);fgets(CLIENTE.ENDERECO,100,stdin);
                 gotoxy(18,13);
                 fflush(stdin);scanf("%d",&CLIENTE.CEP);
                 gotoxy(18,14);
                 fflush(stdin);scanf("%d",&CLIENTE.TELEFONE);
                 gotoxy(18,15);
                 fflush(stdin);fgets(CLIENTE.EMAIL,60,stdin);
                 CLIENTE.CODIGO=NR_CLI;
                 CLIENTE.EXCLUIDO = 0;
                 fwrite(&CLIENTE,sizeof(struct REG_CLI),1,ARQCLI);
                 gotoxy(1,23);
                 printf("Tecle <Enter> para nova tentativa   ");
                 fflush(stdin);
                 while((TECLA = getchar())!='\n')
                    gotoxy(33,23);
              }
           }
        }
        while(NR_CLI != 0);
        return(0);
    }
    /******************************************************************************/
    /*Consulta dos dados*/
    int consultar(void){
        clrscr();
        line();
        center(2,SISTEMA);
        center(3,"Modulo de consulta\n");
        line();
        gotoxy(28,6);printf("Digite o numero do codigo:");
        do{
           gotoxy(1,22);//clearline();
           gotoxy(1,23);//clearline();
           printf("Digite [0] para voltar ao menu                                   ");
           tela();
           gotoxy(18,10);fflush(stdin);scanf("%d",&NR_CLI);
           gotoxy(1,23);//clearline();
           if(NR_CLI != 0){
              I=pesquisa(NR_CLI);
              if(I==1&&CLIENTE.EXCLUIDO==0){
                 /*Apresenta os dados caso exista no arquivo*/
                 mostradados();
                 alterar:
                 gotoxy(1,23);clearline();gotoxy(1,23);
                 if(ESCOLHA==0)
                 {
                  printf("Deseja editar esse registro(S/N)?");fflush(stdin);fgets(OPT,2,stdin);
                  if(strcmp(OPT,"n")==0||strcmp(OPT,"N")==0){}
                  else if(strcmp(OPT,"s")==0||strcmp(OPT,"S")==0){
                    editar();
                  }
                  else{
                    gotoxy(1,23);clearline();gotoxy(1,23);
                    printf("Digite S ou N! Pressione <Enter> para continuar...   ");
                    while((TECLA=getchar())!='\n')
                      gotoxy(33,23);
                    goto alterar;
                  }
                 }
                 else
                 {
                  printf("Deseja excluir esse registro(S/N)?");fflush(stdin);fgets(OPT,2,stdin);
                  if(strcmp(OPT,"n")==0||strcmp(OPT,"N")==0){}
                  else if(strcmp(OPT,"s")==0||strcmp(OPT,"S")==0)
                  {
                    gotoxy(1,23);clearline();gotoxy(1,23);
                    exclusao(NR_CLI);
                  }
                  else{
                    gotoxy(1,23);clearline();gotoxy(1,23);
                    printf("Digite S ou N! Pressione <Enter> para continuar...   ");
                    while((TECLA=getchar())!='\n')
                      gotoxy(33,23);
                    goto alterar;
                  }
                 }            
                 gotoxy(1,23);
                 printf("Tecle <Enter> para nova tentativa                    ");
                 fflush(stdin);
                 while((TECLA=getchar())!='\n')
                    gotoxy(33,23);
              }
              else{
                 gotoxy(1,22);
                 if(CLIENTE.EXCLUIDO!=1)
                    printf("Este registro não esta cadastrado                   ");
                 else{
                    printf("Este registro esta excluido                         ");
                    mostradados();
                 }
                 gotoxy(1,23);
                 printf("Tecle <Enter> para nova tentativa                   ");
                 fflush(stdin);
                 while((TECLA=getchar())!='\n')
                    gotoxy(33,23);
                 gotoxy(1,22);
                 printf("                                    ");
              }
           }
        }while(NR_CLI!=0);
        return(0);
    }
    /*****************************************************************************/
    /*Edição de dados*/
    int editar(void){
       /*Alterações e miscelenia*/
       char OPCAO;
       int achou=2;
       do{
          gotoxy(1,23);printf("[1]Nome|[2]Endereco|[3]CEP|[4]Telefone|[5]Email|[6]Confirma|[7]Abandona:");
          fflush(stdin);OPCAO=getchar();
          switch(OPCAO){
             case '1':
                  gotoxy(18,11);printf("                                           ");gotoxy(18,11);
                  fflush(stdin);fgets(CLIENTE.NOME,31,stdin);
                  break;
             case '2':
                  gotoxy(18,12);printf("                                                     ");gotoxy(18,12);
                  fflush(stdin);fgets(CLIENTE.ENDERECO,100,stdin);
                  break;
             case '3':
                  gotoxy(18,13);printf("                                           ");gotoxy(18,13);
                  fflush(stdin);scanf("%d",&CLIENTE.CEP);
                  break;
             case '4':
                  gotoxy(18,14);printf("                                           ");gotoxy(18,14);
                  fflush(stdin);scanf("%d",&CLIENTE.TELEFONE);
                  break;
             case '5':
                  gotoxy(18,15);printf("                                           ");gotoxy(18,15);
                  fflush(stdin);fgets(CLIENTE.EMAIL,60,stdin);
                  break;
             case '6':
                  Confirma:
                  gotoxy(1,23);clearline();gotoxy(1,23);
                  printf("Confirma a edicao desse registro(S/N)?");fflush(stdin);fgets(OPT,2,stdin);
                  if(strcmp(OPT,"n")==0||strcmp(OPT,"N")==0){}
                  else if(strcmp(OPT,"s")==0||strcmp(OPT,"S")==0){
                     achou=0;
                  }
                  else{
                     gotoxy(1,23);
                     printf("Digite S ou N! Pressione <Enter> para continuar...       ");
                     while((TECLA=getchar())!='\n')
                       gotoxy(33,23);
                     goto Confirma;
                  }
                  break;
             case '7':
                  Cancela:
                  gotoxy(1,23);clearline();gotoxy(1,23);
                  printf("Abandona a edicao desse registro(S/N)?");fflush(stdin);fgets(OPT,2,stdin);
                  if(strcmp(OPT,"n")==0||strcmp(OPT,"N")==0){}
                  else if(strcmp(OPT,"s")==0||strcmp(OPT,"S")==0){
                     achou=1;
                  }
                  else{
                     gotoxy(1,23);clearline();gotoxy(1,23);
                     printf("Digite S ou N! Pressione <Enter> para continuar...      ");
                     while((TECLA=getchar())!='\n')
                       gotoxy(33,23);
                     goto Cancela;
                  }
                  break;
          }
          gotoxy(71,23);printf("         ");
       }while(achou!=0&&achou!=1);
       gotoxy(1,23);
       if(achou==0){
          fseek(ARQCLI , -(long)sizeof(struct REG_CLI), 1);
          fwrite(&CLIENTE,sizeof(struct REG_CLI),1,ARQCLI);
          printf("Sucesso na alteracao do registro! Pressione <Enter> para prosseguir   ");
       }
       else
       {
          printf("Registro alterado! Pressione <Enter> para prosseguir   ");
       }
       fflush(stdin);
       while((TECLA = getchar())!='\n')
          gotoxy(33,23);
       gotoxy(1,23);clearline();
       return(0);
    }

  7. Fiz um cadastro de clientes no Dev-C++,mas ele possui alguns erros,veja o código-fonte:

    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
    #define clrscr() (system("CLS"))
    
    void gotoxy(int x, int y){
         COORD coord;
         coord.X=(short)x;
         coord.Y=(short)y;
         SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);
    }
    
    /******************************************************************************/
    struct REG_CLI{
       int CODIGO;
       char NOME[31];
       char ENDERECO[100];
       int CEP;
       int TELEFONE;
       char EMAIL[60];
       int EXCLUIDO;
    };
    struct REG_CLI CLIENTE;
    FILE *ARQCLI;
    int I,NR_CLI,ESCOLHA;
    char OPT[2];
    char RESP,TECLA;
    char SISTEMA[33]="PROGRAMA DE CADASTRO DE CLIENTES";
    /******************************************************************************/
    void line(void);
    void center(int LINHA, char *MENSAGEM);
    void tela(void);
    void mostradados(void);
    int PESQUISA(int NUMERO);
    int cadastra(void);
    int consulta(void);
    int editar(void);
    int cor(void);
    int exclusao(int NUMERO);
    /******************************************************************************/
    void clearline(void){
         printf("                                                                                 ");
         return;
    }
    /******************************************************************************/
    int main(void)
    {
      /*Verifica existencia do arquivo, se não existe, cria*/
      char OPCAO;
      if((ARQCLI=fopen("CADCLI.DAT","rb+"))==NULL){
         ARQCLI=fopen("CADCLI.DAT","wb+");
         fwrite(&CLIENTE,sizeof(struct REG_CLI),1,ARQCLI);
      }
      do{
         system("COLOR F0");
         clrscr();
         line();
         center(2,SISTEMA);
         center(3,"Menu de Opcoes");
         gotoxy(26,9);printf("Cadastrar...............[1]");
         gotoxy(26,11);printf("Consultar/Editar........[2]");
         gotoxy(26,13);printf("Excluir.................[3]");
         gotoxy(26,15);printf("Finalizar e salvar......[4]");
         gotoxy(26,17);printf("Entre com a opcao:");
         scanf("%c",&OPCAO);fflush(stdin);
         switch(OPCAO){
            case '1':cadastra();break;
            case '2':ESCOLHA=0;consultar();break;
            case '3':ESCOLHA=1;consultar();break;
         }
      }while(OPCAO!='4');
      fclose(ARQCLI);
      gotoxy(1,23);
      return(0);
    }
    /******************************************************************************/
    /*Troca uma linha*/
    void line(void){
         int POSICAO;
         for(POSICAO=0;POSICAO<80;POSICAO++)
           printf("+");
         return;
    }
    /*Centraliza uma mensagem no video em uma determinada linha*/
    void center(int LINHA, char *MENSAGEM){
         int COLUNA;
         COLUNA = ((80-strlen(MENSAGEM))/2);
         gotoxy(COLUNA,LINHA);
         printf(MENSAGEM);
         return;
    }
    /*Apresenta a tela de cadastro e consulta*/
    /******************************************************************************/
    void tela(void){
         gotoxy(18,10);clearline();
         gotoxy(18,11);clearline();
         gotoxy(18,12);clearline();
         gotoxy(18,13);clearline();
         gotoxy(18,14);clearline();
         gotoxy(18,15);clearline();
         gotoxy(1,10);printf("Codigo......:");
         gotoxy(1,11);printf("Nome........:");
         gotoxy(1,12);printf("Endereco....:");
         gotoxy(1,13);printf("CEP.........:");
         gotoxy(1,14);printf("Telefone....:");
         gotoxy(1,15);printf("E-Mail......:");
         return;
    }
    /*Mostra os dados quando da consulta ou tentativa de cadastro*/
    /******************************************************************************/
    void mostradados(void){
         gotoxy(18,10);printf("%d",NR_CLI);
         gotoxy(18,11);printf("%s",CLIENTE.NOME);
         gotoxy(18,12);printf("%s",CLIENTE.ENDERECO);
         gotoxy(18,13);printf("%d",CLIENTE.CEP);
         gotoxy(18,14);printf("%d",CLIENTE.TELEFONE);
         gotoxy(18,15);printf("%s",CLIENTE.EMAIL);
         return;
    }
    /******************************************************************************/
    int pesquisa(int NUMERO){
        int ACHOU = 0;
        rewind(ARQCLI);
        while(!feof(ARQCLI)&&ACHOU!=1){
           fread(&CLIENTE,sizeof(struct REG_CLI),1,ARQCLI);
           if(NUMERO==CLIENTE.CODIGO)
              ACHOU = 1;
        }
        return(ACHOU);
    }
    /******************************************************************************/
    int exclusao(int NUMERO){
        /*Exclusão de clientes*/
        
        /*Nota para o professor: Achei dois modos de excluir um registro do arquivo,
        o primeiro foi substituir a struct dos elementos por uma struct vazia e a
        segunda foi o que está abaixo, que é recopiar o banco. Desse jeito eu pode
        ser que venha a travar pois o numero de instruções executadas é muito maior
        do que do outro modo, mas dessa maneira eu não comprometo a integridade do
        arquivo salvando arquivos com muito lixo dentro.*/
        /*
        FILE *AUX;
        fclose(ARQCLI);
        system("copy CADCLI.DAT DADOS.DAT");
        gotoxy(1,23);clearline();gotoxy(1,23);
        system("del CADCLI.DAT");    
        ARQCLI=fopen("CADCLI.DAT","wb+");
        AUX=fopen("DADOS.DAT","rb+");
        rewind(AUX);  
        while(!feof(AUX)){
           fread(&CLIENTE,sizeof(struct REG_CLI),1,AUX);
           if(NUMERO!=CLIENTE.CODIGO)
              fwrite(&CLIENTE,sizeof(struct REG_CLI),1,ARQCLI);
        }  
        fclose(AUX);
        system("del DADOS.DAT");
        gotoxy(1,23);    
        printf("Registro excluido! Pressione <Enter> para prosseguir   ");
        fflush(stdin);
        while((TECLA = getchar())!='\n')
           gotoxy(33,23);    
        return(0);*/
        
        /*segunda maneira*/
        CLIENTE.EXCLUIDO=1;
        fseek(ARQCLI , -(long)sizeof(struct REG_CLI), 1);
        fwrite(&CLIENTE,sizeof(struct REG_CLI),1,ARQCLI);
        printf("Registro excluido! Pressione <Enter> para prosseguir                       ");
        
        /*Eu poderia setar um flag apontando se ele estivesse sendo excluido ou não
        com a data e hora da exclusão mas eu procurei fazer de um modo simples*/
    }
    /******************************************************************************/
    /*Cadastramento de dados*/
    int cadastra(void){
        clrscr();
        line();
        center(2,SISTEMA);
        center(3,"Modulo de Cadastramento\n");
        line();
        gotoxy(28,1);printf("Digite os dados abaixo");
        do{
           gotoxy(1,22);//clearline()
           gotoxy(1,23);//clearline()
           printf("Digite[0] para voltar ao menu                     ");
           tela();
           gotoxy(18,10);fflush(stdin);
           scanf("%d",&NR_CLI);
           gotoxy(1,23);//clearline();
           if(NR_CLI!=0){
              if(pesquisa(NR_CLI)==1)
              {
                 /*Apresenta os dados caso exista no arquivo*/
                 mostradados();
                 gotoxy(1,22);
                 if(CLIENTE.EXCLUIDO!=1)printf("Este registro já existe    ");
                 else printf("Este registro foi excluido    ");
                 gotoxy(1,23);
                 printf("Tecle <Enter> para nova tentativa   ");
                 fflush(stdin);
                 while((TECLA=getchar())!='\n')
                 gotoxy(33,23);
                 gotoxy(1,22);clearline();
              }
              else{
                 /*Localiza posicao para gravar registro*/
                 fseek(ARQCLI,(long)sizeof(struct REG_CLI),2);
                 /*Grava registro*/
                 gotoxy(18,11);
                 fflush(stdin);fgets(CLIENTE.NOME,31,stdin);
                 gotoxy(18,12);
                 fflush(stdin);fgets(CLIENTE.ENDERECO,100,stdin);
                 gotoxy(18,13);
                 fflush(stdin);scanf("%d",&CLIENTE.CEP);
                 gotoxy(18,14);
                 fflush(stdin);scanf("%d",&CLIENTE.TELEFONE);
                 gotoxy(18,15);
                 fflush(stdin);fgets(CLIENTE.EMAIL,60,stdin);
                 CLIENTE.CODIGO=NR_CLI;
                 CLIENTE.EXCLUIDO = 0;
                 fwrite(&CLIENTE,sizeof(struct REG_CLI),1,ARQCLI);
                 gotoxy(1,23);
                 printf("Tecle <Enter> para nova tentativa   ");
                 fflush(stdin);
                 while((TECLA = getchar())!='\n')
                    gotoxy(33,23);
              }
           }
        }
        while(NR_CLI != 0);
        return(0);
    }
    /******************************************************************************/
    /*Consulta dos dados*/
    int consultar(void){
        clrscr();
        line();
        center(2,SISTEMA);
        center(3,"Modulo de consulta\n");
        line();
        gotoxy(28,6);printf("Digite o numero do codigo:");
        do{
           gotoxy(1,22);//clearline();
           gotoxy(1,23);//clearline();
           printf("Digite [0] para voltar ao menu                                   ");
           tela();
           gotoxy(18,10);fflush(stdin);scanf("%d",&NR_CLI);
           gotoxy(1,23);//clearline();
           if(NR_CLI != 0){
              I=pesquisa(NR_CLI);
              if(I==1&&CLIENTE.EXCLUIDO==0){
                 /*Apresenta os dados caso exista no arquivo*/
                 mostradados();
                 alterar:
                 gotoxy(1,23);clearline();gotoxy(1,23);
                 if(ESCOLHA==0)
                 {
                  printf("Deseja editar esse registro(S/N)?");fflush(stdin);fgets(OPT,2,stdin);
                  if(strcmp(OPT,"n")==0||strcmp(OPT,"N")==0){}
                  else if(strcmp(OPT,"s")==0||strcmp(OPT,"S")==0){
                    editar();
                  }
                  else{
                    gotoxy(1,23);clearline();gotoxy(1,23);
                    printf("Digite S ou N! Pressione <Enter> para continuar...   ");
                    while((TECLA=getchar())!='\n')
                      gotoxy(33,23);
                    goto alterar;
                  }
                 }
                 else
                 {
                  printf("Deseja excluir esse registro(S/N)?");fflush(stdin);fgets(OPT,2,stdin);
                  if(strcmp(OPT,"n")==0||strcmp(OPT,"N")==0){}
                  else if(strcmp(OPT,"s")==0||strcmp(OPT,"S")==0)
                  {
                    gotoxy(1,23);clearline();gotoxy(1,23);
                    exclusao(NR_CLI);
                  }
                  else{
                    gotoxy(1,23);clearline();gotoxy(1,23);
                    printf("Digite S ou N! Pressione <Enter> para continuar...   ");
                    while((TECLA=getchar())!='\n')
                      gotoxy(33,23);
                    goto alterar;
                  }
                 }            
                 gotoxy(1,23);
                 printf("Tecle <Enter> para nova tentativa                    ");
                 fflush(stdin);
                 while((TECLA=getchar())!='\n')
                    gotoxy(33,23);
              }
              else{
                 gotoxy(1,22);
                 if(CLIENTE.EXCLUIDO!=1)
                    printf("Este registro não esta cadastrado                   ");
                 else{
                    printf("Este registro esta excluido                         ");
                    mostradados();
                 }
                 gotoxy(1,23);
                 printf("Tecle <Enter> para nova tentativa                   ");
                 fflush(stdin);
                 while((TECLA=getchar())!='\n')
                    gotoxy(33,23);
                 gotoxy(1,22);
                 printf("                                    ");
              }
           }
        }while(NR_CLI!=0);
        return(0);
    }
    /*****************************************************************************/
    /*Edição de dados*/
    int editar(void){
       /*Alterações e miscelenia*/
       char OPCAO;
       int achou=2;
       do{
          gotoxy(1,23);printf("[1]Nome|[2]Endereco|[3]CEP|[4]Telefone|[5]Email|[6]Confirma|[7]Abandona:");
          fflush(stdin);OPCAO=getchar();
          switch(OPCAO){
             case '1':
                  gotoxy(18,11);printf("                                           ");gotoxy(18,11);
                  fflush(stdin);fgets(CLIENTE.NOME,31,stdin);
                  break;
             case '2':
                  gotoxy(18,12);printf("                                                     ");gotoxy(18,12);
                  fflush(stdin);fgets(CLIENTE.ENDERECO,100,stdin);
                  break;
             case '3':
                  gotoxy(18,13);printf("                                           ");gotoxy(18,13);
                  fflush(stdin);scanf("%d",&CLIENTE.CEP);
                  break;
             case '4':
                  gotoxy(18,14);printf("                                           ");gotoxy(18,14);
                  fflush(stdin);scanf("%d",&CLIENTE.TELEFONE);
                  break;
             case '5':
                  gotoxy(18,15);printf("                                           ");gotoxy(18,15);
                  fflush(stdin);fgets(CLIENTE.EMAIL,60,stdin);
                  break;
             case '6':
                  Confirma:
                  gotoxy(1,23);clearline();gotoxy(1,23);
                  printf("Confirma a edicao desse registro(S/N)?");fflush(stdin);fgets(OPT,2,stdin);
                  if(strcmp(OPT,"n")==0||strcmp(OPT,"N")==0){}
                  else if(strcmp(OPT,"s")==0||strcmp(OPT,"S")==0){
                     achou=0;
                  }
                  else{
                     gotoxy(1,23);
                     printf("Digite S ou N! Pressione <Enter> para continuar...       ");
                     while((TECLA=getchar())!='\n')
                       gotoxy(33,23);
                     goto Confirma;
                  }
                  break;
             case '7':
                  Cancela:
                  gotoxy(1,23);clearline();gotoxy(1,23);
                  printf("Abandona a edicao desse registro(S/N)?");fflush(stdin);fgets(OPT,2,stdin);
                  if(strcmp(OPT,"n")==0||strcmp(OPT,"N")==0){}
                  else if(strcmp(OPT,"s")==0||strcmp(OPT,"S")==0){
                     achou=1;
                  }
                  else{
                     gotoxy(1,23);clearline();gotoxy(1,23);
                     printf("Digite S ou N! Pressione <Enter> para continuar...      ");
                     while((TECLA=getchar())!='\n')
                       gotoxy(33,23);
                     goto Cancela;
                  }
                  break;
          }
          gotoxy(71,23);printf("         ");
       }while(achou!=0&&achou!=1);
       gotoxy(1,23);
       if(achou==0){
          fseek(ARQCLI , -(long)sizeof(struct REG_CLI), 1);
          fwrite(&CLIENTE,sizeof(struct REG_CLI),1,ARQCLI);
          printf("Sucesso na alteracao do registro! Pressione <Enter> para prosseguir   ");
       }
       else
       {
          printf("Registro alterado! Pressione <Enter> para prosseguir   ");
       }
       fflush(stdin);
       while((TECLA = getchar())!='\n')
          gotoxy(33,23);
       gotoxy(1,23);clearline();
       return(0);
    }

    Alguém pode consertar esses erros no Dev-C++?

  8. O meu código não deu certo.Cliquei dentro do Form1 e na Unit1 digitei isso:

    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ComCtrls;
    
    type
      TForm1 = class(TForm)
        Edit1: TEdit;
        ListBox1: TListBox;
        TrackBar1: TTrackBar;
        Button1: TButton;
        Button2: TButton;
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    Form1: TForm1;
      wb: TWebBrowser;
    
    implementation
    
    {$R *.dfm}
    uses MMSystem, SHDocVw;
    
    procedure TForm1.FormActivate(Sender: TObject);
    begin
      wb := TWebBrowser.Create(Form1);
      TWinControl(wb).Name := 'MyWebBrowser';
      //TWinControl(wb).Parent := Form1;
      wb.Hide; // deixar o WebBrowser invisivel
    end;
    
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      wb.Navigate(Edit1.Text);
    end;
    
    procedure TForm1.tbVolumeChange(Sender: TObject);
    var
    Count, i: integer;
    begin
       Count := waveOutGetNumDevs;
       for i := 0 to Count do
         begin
            waveOutSetVolume(i,longint(tbVolume.position*4369)*65536+longint(tbVolume.position*4369));
         end;
    end;
    
    
    procedure TForm1.Button2Click(Sender: TObject);
    begin
       halt;
    end;
    
    
    procedure TForm1.ListBox1Click(Sender: TObject);
    begin
       wb.Stop;
       Edit1.Clear;
       Edit1.Text := 'http:\\www.radios.com.br\play\'+ trim(ListBox1.Items.Strings[ListBox1.itemindex]);
    end;
    end.

  9. * / = Raiz do sistema.

    * /home = Armazena diretórios e arquivos de trabalho dos usuários comuns do sistema.

    * /root = Armazena diretórios e arquivos de trabalho do superusuário (root).

    * /boot= Contém o kernel e todos os arquivos necessários para a inicialização do sistema.

    * /bin = Contém aplicativos e utilitários do sistema.

    * /sbin= Contém ferramentas de configuração e manutenção do sistema. Alguns aplicativos acessíveis apenas ao superusuário são instalados neste diretório.

    * /srv = Dados de serviços fornecidos pelo sistema.

    * /lib = Contém as bibliotecas compartilhadas e os módulos do kernel.

    * /media = Ponto de montagem para mídia removível.

    * /dev = Contém todos os dispositivos do sistema, tais como: modem, HD, floppy disk, CD-ROM, entre outros. Esses diretórios são utilizados para troca de informações, não possuindo existência real.

    * /etc = Contém todos os arquivos de configuração do sistema.

    * /tmp = Diretório reservado aos arquivos temporários utilizados por algumas aplicações.

    * /mnt = Diretório reservado para montagem de dispositivos e sistemas de arquivos em partições e discos locais e de rede.

    * /proc = Contém informações sobre os processos em execução no sistema. Assim como no diretório /dev, os arquivos e subdiretórios aqui contidos não são reais, sendo utilizados apenas como arquivos de troca.

    * /usr = Programas de usuários, sistemas de janelas X, jogos entre outros. Os links de alguns programas costumam ser instalados aqui.

    * /var = Contém arquivos de dados variáveis como log do sistema e diretórios de spool.

    * /opt = Diretório reservado para instalação de aplicações de terceiros como OpenOffice, softwares pagos etc.

×
×
  • Criar Novo...