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 <[email protected]>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 > <[email protected]> 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 > > <[email protected]>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 > >> <[email protected]> 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 < > >> > [email protected]> escreveu: > >> > > >> >> Em 10 de setembro de 2011 12:57, Celso Henrique > >> >> <[email protected]>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 > -- 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

