FBI99 Posted February 11, 2014 at 02:06 AM Report #544780 Posted February 11, 2014 at 02:06 AM (edited) Boa noite programadores! Preciso de ajuda para fazer um painel publicitário mas não percebo nada de "c". Se for possível agradecia comentários no programa final para eu conseguir perceber. Tenho um código que me foi dado por um colega, que queria usar como base, mas alterado de maneira que o prof não perceba que e do mesmo! O enunciado do trabalho encontra-se por baixo do código... Desde já obrigado a quem me puder ajudar.. é que eu nao percebo mesmo nada disto! #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> /*Estrutura onde são guardadas temporariamente as Publicidades inseridas no programa guardando também outras variáveis como o tempo e o tamanho da publicidade */ struct publicidades { char anuncio[1000]; int tempo ; int tamanhoanuncio; } pulb[50], tempomaior; //50 publicidades no máximo int nlinhas, ncolunas; int i, j, c=0; //Servem para a contagem de linhas e colunas do painel /* Função Guardar */ void guardar(int n){ FILE *fp; char ss[8]; int j = 0; fp = fopen("texto.txt", "w"); //atoi(); sprintf(ss, "%d", n); fputs(ss,fp); for(j=0;j<n;j++){ fputs(pulb[n].anuncio,fp); sprintf(ss, "%d", pulb[n].tempo); fputs(ss,fp); sprintf(ss, "%d", pulb[n].tamanhoanuncio); fputs(ss,fp); } fclose(fp); } /* Função que pede a inserção Publicidades para a posição N da struct */ void inserir(int n){ printf("AN%cNCIO\n",233); setbuf(stdin, NULL); //Limpa o teclado scanf("%[^\n]s",&pulb[n].anuncio); printf("TEMPO\n"); scanf("%i",&pulb[n].tempo); pulb[n].tamanhoanuncio=strlen (pulb[n].anuncio); //o tamanhoanuncio é a contagem dos caracteres da variavel anuncio } /* Função que constrói o painel do anúncio N consoante o numero de linhas e colunas inseridas*/ void mostarpainel(int n){ int c=0; //serve para a contagem de espaços vazios no painel /*Se o tamanho do anúncio for menor ou igual ao tamanho do painel constrói o painel, caso contrario aparece uma mensagem de erro*/ if(pulb[n].tamanhoanuncio<=paineltamanho()){ printf("\n"); printf("\n"); printf("Pain%cl\n",130); printf("\n"); printf("\n"); for(i=0;i<nlinhas;i++){ printf("|"); for(j=0;j<ncolunas;j++){ if( c<=pulb[n].tamanhoanuncio){ printf("%c",pulb[n].anuncio[c]); c++; } else printf("*"); } printf("|\n"); } } else { printf("Pain%cl demasiado pequeno \n",130); } sleep(pulb[n].tempo*1000); } //Função que pede para redefinir o Painel void alterartamanho(){ printf("Tamanho do pain%cl\n",130); printf("N%cmero de linhas\n",163); scanf("%d",&nlinhas); printf("N%cmero de colunas\n",163); scanf("%d",&ncolunas); printf("\nColunas: %d linhas: %d\n",ncolunas,nlinhas); } //Variável tamanho do painel que é a multiplicação do nº de linhas pelo nº de colunas int paineltamanho(){ return ncolunas*nlinhas; } int main(int argc, char *argv[]) { int i; int escolha,numero,escolha2,quantidade; alterartamanho(); printf("1 - Inserir novas publica%c%ces\n",135,228); printf("2 - Abrir Publicidades guardadas\n"); scanf("%d",&escolha); if(escolha==1){ printf("N%cmero de publicidades\n",163); scanf("%d",&quantidade); for(i=0;i<quantidade;i++){ inserir(i); } }else{ } do{ printf("MENU\n"); printf("1 - INICIAR\n"); printf("2 - Inserir publicidades\n"); printf("3 - Redefenir tamanho do pain%cl\n",130); printf("4 - Informa%c%ces\n",135,228); printf("5 - guardar\n"); printf("0 - sair\n"); scanf("%i",&escolha); switch ( escolha){ case 1 : for(i=0;i<quantidade;i++){ mostarpainel(i); } break; case 2 : inserir(quantidade++); break; case 3 : alterartamanho(); break; case 4 : do{ printf("Informa%c%ces\n",135,228); printf("1 - Listar todos\n"); printf("2 - Por ordem de mais tempo no ar\n"); printf("3 - Os que nao d%co com as configura%c%ces atuais\n",198,135,228); printf("0 - Voltar\n"); scanf("%i",&escolha2); switch ( escolha2){ case 1 :for(i=0;i<paineltamanho();i++) mostarpainel(i); break; case 2 : for(i=0;i<quantidade;i++){ for(c=0;c<quantidade;c++){ if(pulb[c].tempo < pulb[i].tempo ){ tempomaior=pulb[i]; pulb[i]=pulb[c]; pulb[c] =tempomaior; } } } break; case 3 :for(i=0;i<quantidade;i++){ if(pulb[i].tamanhoanuncio<= paineltamanho()) mostarpainel(i);} break; } }while(escolha2!=0); break; case 5:guardar(quantidade); break; } }while(escolha!=0); system("PAUSE"); return 0; } O objetivo é o seguinte: A paisagem urbana está cada vez mais povoada de ecrãs digitais para apresentação dos mais variados conteúdos. Essa apresentação obedece a um escalonamento pré-definido pela pessoa ou pessoas que controlam o ecrã. O escalonamento passa pela definição de um conjunto de regras que indicam que conteúdo deve ser apresentado a dado momento e durante quanto tempo. O presente trabalho tem como finalidade o desenvolvimento de um sistema de escalonamento de conteúdos a serem apresentados num determinado ecrã público. Os conteúdos a apresentar no ecrã devem ser previamente definidos e devem estar disponíveis para o escalonamento. Para efeitos do presente trabalho, cada conteúdo deverá ser simulado com recurso a várias sequências de um número fixo de carateres, uma para cada linha do ecrã. Com base nos conteúdos inseridos, o escalonamento já poderá ser definido, por indicação do momento em que o mesmo deverá ser apresentado e a duração dessa apresentação. Não deverão ser permitidas sobreposições de conteúdos, ou seja, a cada momento o ecrã só poderá apresentar um único conteúdo. Além da inserção, alteração e remoção da informação sobre o escalonamento dos conteúdos, a aplicação deverá ainda permitir algumas listagens, tais como: - todos os conteúdos disponíveis; - os conteúdos utilizados no escalonamento; - os conteúdos não utilizados no escalonamento; - o conteúdo com maior número de apresentações no escalonamento; - o conteúdo com mais tempo de apresentação acumulado no escalonamento; - o escalonamento. Edited February 11, 2014 at 03:15 PM by thoga31 GeSHi
nelsonr Posted February 11, 2014 at 09:33 AM Report #544790 Posted February 11, 2014 at 09:33 AM Tenho um código que me foi dado por um colega, que queria usar como base, mas alterado de maneira que o prof não perceba que e do mesmo! Não sei se vais ter ajuda aqui para isso
HappyHippyHippo Posted February 11, 2014 at 09:37 AM Report #544791 Posted February 11, 2014 at 09:37 AM se fosse o prof já terias nega por usar variáveis globais sem razão para isso. conclusão : aconselho a não usar o código apresentado ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
bioshock Posted February 11, 2014 at 10:17 AM Report #544801 Posted February 11, 2014 at 10:17 AM Este pessoal não bate bem da bola. 😁
thoga31 Posted February 11, 2014 at 03:20 PM Report #544846 Posted February 11, 2014 at 03:20 PM Boa tarde. Acho que os meus colegas já opinaram o suficiente acerca da tua situação. Portanto, adiante... Boa noite programadores! Preciso de ajuda para fazer um painel publicitário mas não percebo nada de "c". Se tens aulas de programação, como não percebes nada de C? Tens estudado? Se for possível agradecia comentários no programa final para eu conseguir perceber. O que pretendes da nossa parte? Que te alteremos o código e que to deixemos comentado? Tenho um código que me foi dado por um colega, que queria usar como base, mas alterado de maneira que o prof não perceba que e do mesmo! A isto chama-se plágio, coisa que muitos de nós aqui não vemos com bons olhos. Posto isto, quais são as tuas dúvidas? Knowledge is free!
FBI99 Posted February 11, 2014 at 03:54 PM Author Report #544849 Posted February 11, 2014 at 03:54 PM thoga31 sim era isso que pretendia, se fosse possível. Eu também nao sou a favor do plagio! Mas aconteceram coisas recentemente na minha vida que me impediram de estudar e o prazo esta mesmo a ficar apertado e eu nao sei para que lado me virar!
thoga31 Posted February 11, 2014 at 03:56 PM Report #544851 Posted February 11, 2014 at 03:56 PM thoga31 sim era isso que pretendia, se fosse possível Não é possível, aqui ninguém te vai fazer o trabalho. Pior ainda quando estás à espera que te ajudemos a plagiar disfarçadamente. Mais, é contra as Regras do Fórum. Quando te inscreveste, aceitaste essas mesmas Regras. Se não as leste, o problema não é nosso. O meu conselho é estudares e não andares a fazer as disciplinas só para passar. E claro, não fazer plágios pseudo-disfarçados. Knowledge is free!
FBI99 Posted February 11, 2014 at 04:01 PM Author Report #544852 Posted February 11, 2014 at 04:01 PM ok
Fale Posted February 11, 2014 at 11:12 PM Report #544947 Posted February 11, 2014 at 11:12 PM thoga31 sim era isso que pretendia, se fosse possível Eu também nao sou a favor do plagio! Mas aconteceram coisas recentemente na minha vida que me impediram de estudar e o prazo esta mesmo a ficar apertado e eu nao sei para que lado me virar! Olha. Conselho de quem já chumbou a programação: Se não sabes, não mereces passar. Coisas acontecem na vida, seja problema emocionais, problemas de saúde, questões de preguiça, ou se estiveres na faculdade "é o primeiro ano e quero aproveitar" e sintomas do secundário de estudar um dia antes do teste, qualquer coisa. Se não mereces passar, por qualquer motivo que te impediu de estudar e trabalhar, então não mereces passar e é mais fácil admiti-lo que tentar enganar o professor. Chumba, é melhor para ti. E digo-te isto porque sei o que é querer passar e despachar a cadeira, querer copiar código e mandar assim como se o trabalho fosse nosso. No ano a seguir, trabalhei e esforcei-me e compensou e senti-me muito melhor. Para o ano tentas outra vez e tentas dedicar-te. Passar "por favor" não te vai ajudar em nada. Especialmente se tiveres continuação da matéria para o ano. já agora os professores não são tapadinhos, eles conhecem bem os cantos à casa. E se não sabes nada de c, não vais saber editar o código o suficiente para iludir os professores
FBI99 Posted February 24, 2014 at 08:20 PM Author Report #546523 Posted February 24, 2014 at 08:20 PM era só para dizer que consegui fazer a cadeira sem a ajuda de ninguém... duas diretas a estudar bem foram suficientes
HappyHippyHippo Posted February 24, 2014 at 08:29 PM Report #546525 Posted February 24, 2014 at 08:29 PM era só para dizer que consegui fazer a cadeira sem a ajuda de ninguém... duas diretas a estudar bem foram suficientes e ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Rui Carlos Posted February 24, 2014 at 09:30 PM Report #546533 Posted February 24, 2014 at 09:30 PM Parabéns, FBI99. Se não te fizeram o trabalho foi precisamente para fazeres as coisas por ti, pois tal é também possível (e é certamente mais útil para a tua formação). Quando tiveres dúvidas, és sempre bem-vindo, e o pessoal está pronto para ajudar. e ? Foi só para nos lembrar que não devemos fazer o trabalho dos outros, pois dessa forma eles acabam por conseguir fazê-lo por eles (aprendendo alguma coisa pelo meio). 1 Report Rui Carlos Gonçalves
FBI99 Posted February 25, 2014 at 03:09 AM Author Report #546553 Posted February 25, 2014 at 03:09 AM certamente terei duvidas e concerteza virei cá para esclarecer!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now