[Ubuntu-BR] [OFF-TOPIC] Programa em linguagem C.

Jeferson Rodrigues jeferod83 em gmail.com
Segunda Setembro 12 18:24:14 UTC 2011


Então Celso, são na verdade 1 input e 3 outputs: o evil, o odious, e o
error. Em ambos você vai ter que escrever no arquivo o cabeçalho descrito.
Essa é a parte mais fácil, vamos lá!!!

Abraços

Em 12 de setembro de 2011 14:47, Celso Henrique
<celsofigueiredo em gmail.com>escreveu:

> Prezado.
> O que esta faltando agora, é esta parte:
> 2. Modifique o ODIOUSRC de forma a incluir duas linhas de cabeçalho em
> cada output:
> 1. Seu nome - Odious/Evil Number (ex: “Agatha Flesch – Odious Number”
> para um relatório de
> número odious, e assim por diante).
> 2. Linha em branco.
> ----------------------------------------
> Celso
>
>
> Em 12 de setembro de 2011 14:36, Jeferson Rodrigues
> <jeferod83 em gmail.com> escreveu:
> > Boa tarde Celso,
> >
> > Era exatamente isso mesmo que eu estava falando.
> >
> > Mas ainda esta faltando, eu incluir duas linhas no arquivo OEVIL
> >>
> > Mas o que tá faltando exatamente?
> >
> > Abraços
> >
> >
> >
> > Em 12 de setembro de 2011 10:26, Celso Henrique
> > <celsofigueiredo em gmail.com>escreveu:
> >
> >> Prezados.
> >>
> >> Depois de apanhar e pesquisar um pouco, consegui chegar, neste codigo
> >> abaixo:
> >> --------------------------------------
> >> #include <stdio.h>
> >> #include <stdlib.h>
> >> #include <errno.h>
> >> #include <string.h>
> >>
> >>        FILE *odiousFile;
> >>        FILE *errorFile;
> >>        FILE *inputFile;
> >>         FILE *evilFile;
> >>
> >>        char buffer[81] = "\x0";
> >>        int bytesWritten = 0;
> >>
> >> main()
> >> {
> >>
> >>  int isOdious(int);
> >>  int NumberOfOnes;
> >>  int i;
> >>   int rci = 26985;
> >>
> >>        /*************************************/
> >>        /*     Open file to write output     */
> >>        /*************************************/
> >>        odiousFile = fopen("DD:ODIOUS", "w");
> >>        if (odiousFile == NULL)
> >>        {
> >>                printf("open error:   %d/%s\n", errno, strerror(errno));
> >>                exit(99);
> >>        }
> >>
> >>        /*************************************/
> >>        /*     Open file to write errors     */
> >>        /*************************************/
> >>        errorFile = fopen("DD:ERRORS", "w");
> >>        if (errorFile == NULL)
> >>        {
> >>                printf("open error:   %d/%s\n", errno, strerror(errno));
> >>                exit(99);
> >>        }
> >>
> >>        /*************************************/
> >>        /*     Open file to read input       */
> >>        /*************************************/
> >>
> >>        inputFile = fopen("DD:INPUT", "r");
> >>        if (inputFile == NULL)
> >>        {
> >>                printf("open error:   %d/%s\n", errno, strerror(errno));
> >>                exit(98);
> >>        }
> >>        /*************************************/
> >>         /*     Open file to write evil       */
> >>        /*************************************/
> >>        evilFile = fopen("DD:OEVIL", "w");
> >>        if (evilFile == NULL)
> >>         {
> >>                printf("open error:   %d/%s\n", errno, strerror(errno));
> >>                exit(99);
> >>        }
> >>        /*************************************/
> >>         /*     Run program                   */
> >>        /*************************************/
> >>
> >>  while (fscanf(inputFile,"%d",&i) != EOF) {
> >>     rci = isOdious(i);
> >>    if (rci == 1)
> >>     {
> >>       bytesWritten = sprintf(buffer,"%d is odious \n",i);
> >>       fwrite(buffer, 1, bytesWritten, odiousFile);
> >>    }
> >>     else if (rci ==0)  {
> >>      bytesWritten = sprintf(buffer,"%d is evil \n",i);
> >>      fwrite(buffer, 1, bytesWritten, evilFile);
> >>    }
> >>    else
> >>    {
> >>      /* Nao fazer nada*/
> >>     }
> >>  }
> >>        /*************************************/
> >>        /*     Close output files            */
> >>        /*************************************/
> >>        fclose(odiousFile);
> >>        fclose(errorFile);
> >>         fclose(evilFile);
> >>
> >>        /*************************************/
> >>        /*     Close input file              */
> >>        /*************************************/
> >>        fclose(inputFile);
> >>
> >>        return 0;
> >> }
> >>
> >> int isOdious (int myInt)
> >> {
> >>   int NumberOfOnes = 0;
> >>
> >> /*NumberOfOnes=0; */
> >>
> >>  if (myInt==0) {
> >>                         bytesWritten = sprintf(buffer,"0 not
> >> supported!\n");
> >>                         fwrite(buffer, 1, bytesWritten, errorFile);
> >>    return 100;
> >>  }
> >>
> >>  if (myInt>1024) {
> >>                         bytesWritten = sprintf(buffer,"%d too
> >> large!\n",myInt);
> >>                         fwrite(buffer, 1, bytesWritten, errorFile);
> >>    return 101;
> >>  }
> >>
> >>  while (myInt>0) {
> >>    if (myInt%2==1) {
> >>      NumberOfOnes=NumberOfOnes+1;
> >>      myInt=myInt-1;
> >>    }
> >>    myInt=myInt/2;
> >>  }
> >>
> >>  if (NumberOfOnes%2==1)
> >>           return 1;
> >>  else
> >>    return 0;
> >> }
> >> --------------------------------------
> >> Mas ainda esta faltando, eu incluir duas linhas no arquivo OEVIL, sera
> >> que voce poderia me ajudar.
> >>
> >> Celso.
> >>
> >> Em 12 de setembro de 2011 09:58, Jeferson Rodrigues
> >> <jeferod83 em gmail.com> escreveu:
> >> > Bom dia André,
> >> >
> >> > Uma simples divisão sucessiva por 2 e conta os uns que tu tens se o
> >> número
> >> >> tem paridade par ou paridade ímpar.
> >> >>
> >> > O programa faz isso na verdade.
> >> >
> >> > PS: você chegou a ver o meu e-mail anterior ajudando ele? Pergunto
> isso
> >> pois
> >> > eu mandei uma resposta com um "pequeno sermão" e dando uma forçinha
> pra
> >> ele,
> >> > e se você não viu desconfio que a lista tenha bloqueado.
> >> >
> >> > Abraços
> >> >
> >> > Em 12 de setembro de 2011 09:26, Andre Cavalcante <
> >> > andre.d.cavalcante em gmail.com> escreveu:
> >> >
> >> >> Em 10 de setembro de 2011 12:57, Celso Henrique
> >> >> <celsofigueiredo em gmail.com>escreveu:
> >> >>
> >> >> > Prezados Ubundistas.
> >> >> >
> >> >>
> >> >> Olá
> >> >>
> >> >>
> >> >> >
> >> >> > Estou precisando resolver este programa em C, abaixo, mas não estou
> >> >> > conseguindo, sera que voce poderia me ajudar.
> >> >> >
> >> >>
> >> >> Olha só, na boa. Se eu tivesse entendido o que o cara tá pedindo eu
> até
> >> >> ajudava. Mas tá ruim demais entender o que ele pede. Na boa, paridade
> >> par e
> >> >> paridade ímpar é trivial em C. Uma simples divisão sucessiva por 2 e
> >> conta
> >> >> os uns que tu tens se o número tem paridade par ou paridade ímpar.
> >> >>
> >> >> Mas tem umas coisas de arquivo de erro que eu tô passado! Por que
> >> >> complicar?
> >> >>
> >> >> Abraços
> >> >>
> >> >> André Cavalcante
> >> >> Caparica, Portugal
> >> >> Ubuntu User number # 24370
> >> >> Quer saber sobre Open Source Software? http://sobreoss.blogspot.com
> >> >> Quer saber mais sobre Espiritismo?
> http://sobreespiritismo.blogspot.com
> >> >>
> >> >> Atenção: Este e-mail pode conter anexos no formato ODF (Open Document
> >> >> Format)/ABNT (extensões odt, ods, odp, odb, odg). Antes de pedir os
> >> anexos
> >> >> em outro formato, você pode instalar gratuita e livremente o BrOffice
> (
> >> >> http://www.broffice.org) ou o seguinte Plugin para Microsoft Office
> (
> >> >> http://odf-converter.sourceforge.net/index.html<
> >> >> http://www.sun.com/software/star/odf_plugin/get.jsp>
> >> >> ).
> >> >> --
> >> >> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
> >> >>
> >> >> Lista de discussão Ubuntu Brasil
> >> >> Histórico, descadastramento e outras opções:
> >> >> https://lists.ubuntu.com/mailman/listinfo/ubuntu-br
> >> >>
> >> > --
> >> > Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
> >> >
> >> > Lista de discussão Ubuntu Brasil
> >> > Histórico, descadastramento e outras opções:
> >> > https://lists.ubuntu.com/mailman/listinfo/ubuntu-br
> >> >
> >>
> >> --
> >> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
> >>
> >> Lista de discussão Ubuntu Brasil
> >> Histórico, descadastramento e outras opções:
> >> https://lists.ubuntu.com/mailman/listinfo/ubuntu-br
> >>
> > --
> > Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
> >
> > Lista de discussão Ubuntu Brasil
> > Histórico, descadastramento e outras opções:
> > https://lists.ubuntu.com/mailman/listinfo/ubuntu-br
> >
>
> --
> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
>
> Lista de discussão Ubuntu Brasil
> Histórico, descadastramento e outras opções:
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-br
>



More information about the ubuntu-br mailing list