Ir para conteúdo
Fórum Script Brasil

N a T a N

Membros
  • Total de itens

    51
  • Registro em

  • Última visita

Tudo que N a T a N postou

  1. Hmm... Seguinte, na sua struct, coloque o numero de filhos e o salário apenas. Eu aconselho usar uma lista, já que não sabe o número de pessoas a serem entrevistadas, logo, a cada nova pessoa entrevistada, um nó será inserido na lista, contendo as informações dessa pessoa. Depois é só você fazer uma função para calcular a média de salário da população, recebendo a sua lista de pessoas, e retornando 1 valor double ou float correspondente à média. Uma praticamente igual, mas retornando um valor float, correspondente à média de filhos. Uma função que receba a lista e retorne um valor float ou double correspondente ao maior salário. Uma função que receba a lista, conte quantas pessoas com salário maior do que 350, e quantas pessoas há na lista, e no final, calcule o percentual correspondente e retorne. Fácil o programa, caso ainda não tenha aprendido lista, defina um vetor de tamanho grande, e passe o vetor ao invés de lista para as funções.
  2. Hmm, bastante interessante o seu jeito também... Obg.
  3. Usando o que? Fila, Lista, Pilha, Vetor, Arvore, tanto faz?
  4. Poisé cara, normalmente funciona aqui também, mas nesse caso deu erro, e foi dentro de uma função... Essa função no caso, como o % não funcionou, tive que usar outros recursos.
  5. Tenho um certo conhecimento em C, e um pouco mais em Estrutura de dados em C... Se quiserem, meu MSN é natanlima@gmail.com
  6. O compilador está acusando problema nessa linha de código... O erro é Alguém sabe dizer o porque o compilador acusa tal erro?
  7. N a T a N

    Informaçao

    Apostila para o que? Programação, estrutura de dados?
  8. Se for encerrar o for é break; se for encerrar o programa, pode ser return 0; exit(1); whatever.
  9. N a T a N

    Programa em C

    Tira o erro de compilação, mas ainda não vai funcionar para o seu propósito, pois é um vetor de chars e não de strings. Para o que você quer, o programa deveria ser o seguinte:
  10. N a T a N

    c++ iniciante

    Para usar o system("pause"); tem que ter colocado o #include <stdlib.h> lá em cima... Outra maneira eficiente, como foi falado, é o getch();
  11. N a T a N

    Erro no uso de gets

    Eu já tive esse problema, apenas dupliquei o comando e resolveu... funcionou como se eu tivesse apenas um... Não sei o porque... Ao invés de: ficou: Estava tendo o mesmo problema que você, e isso solucionou, só não sei o porque... ps: nome foi definido por:
  12. no* Tira o *... Se não for, posta o código todo, pra que agente possa ver no emulador.
  13. N a T a N

    Precisando de Ajuda

    Fiz rápido, mas está funcionando... Na próxima, tente fazer, e poste o que você tentou que a galera vai ter mais boa vontade de ajudar a corrigir, ou ajudar na sua dúvida.
  14. Já resolvi por conta própria... Vlw.
  15. N a T a N

    pilha

    Na versão que eu postei pra você, a parte de comparar os parenteses já está funcionando...
  16. N a T a N

    Arvores B*

    Minha matéria ainda não chegou em árvore, mas procure ai o livro "Estruturas de dados usando C", é bem completo, e trás as implementações básicas.
  17. N a T a N

    pilha

    #include <stdio.h> #include <stdlib.h> #define TAM 100 enum boolean { true=1, false=0 }; typedef enum boolean bool; typedef struct { int topo; char dado[TAM]; }pilha_t; char pop(pilha_t *pilha){ if(pilha->topo == -1){ printf("pilha vazia"); return; }else{ pilha->topo--; return pilha->dado[pilha->topo + 1]; } } void push( pilha_t *pilha, char novo_elemento){ if (pilha->topo < TAM){ pilha->topo++; pilha->dado[pilha->topo] = novo_elemento; }else{ printf("pilha cheia"); } return; } bool empty(pilha_t *pilha){ if(pilha->topo == -1){ return true; }else{ return false; } } bool balanced_parentheses(char *string){ pilha_t pilha; int i; int cont = 0; while (string != ''){ for(i = 0; i < TAM; i++){ if(string[i] == '('){ cont ++; }else if(string[i] == ')'){ cont--; } if (cont < 0){ return false; } }//for if(cont != 0){ return false; }else{ return true; } }//while } int main(){ char s[TAM]; printf("Digite a expressao.\n"); gets(s); if(balanced_parentheses(s)== true){ printf("Parenteses corretos\n"); }else{ printf("parenteses errados\n"); } system("pause"); return 0; } Basicamente lembre-se do seguinte... Em struct, quando você está trabalhando com ponteiro para struct, você usa o ->, e não o ".". No for em 1 vetor de chars, o último caracter é o ''. O tipo boolean não existe em c, portanto, se você pretende utilizá-lo, você precisa primeiro defini-lo. O comando else-if tem espaço... "else if". PS: Não entendi o para que da pilha, já que você não a utilizou em nada. anw, att. Natan.
  18. Gio, eu estava fazendo com lista, mas estava dando muito pau, ai troquei para vetor e está indo de boa... Tente usar vetor ao invés de lista... PS: 10 pontos por esse trabalho, está saíndo caro... Sorte que as provas da Poliana não são tão difíceis.
  19. Minha Lista tem apresentado alguns problemas, e estou ficando com algumas dúvidas na passagem de parametros, e ela está com erro na hora de imprimir. Arquivos .h // agenda.h #include <string.h> #include <stdio.h> #include <stdlib.h> #include "Compromisso.h" struct agenda{ int idAgend; int identProf; char nomeProfer[MAX]; int ano; Compromisso *c; struct agenda *prox; }; typedef struct agenda Agenda; Agenda * criaAgenda(Agenda *a, int idProf, char *name, int ano); Agenda * insereCompromisso(Agenda *a,char *tip,char *name,Data *dat, int hor, int durac); Agenda * novoAgenda(Agenda *a,Compromisso *comp); void imprimeAgenda(Agenda *a); /* ------------------------------------------------------------------------------------------------------------------------------ */ //Compromisso.h #define MAX 100 enum boolean { true=1,false=0 }; typedef enum boolean bool; enum Status { A_SER_CUMPRIDO=1, ADIADO=2, CANCELADO=3 }; typedef enum Status stats; typedef struct{ int dia; int mes; int ano; }Data; typedef struct{ char tipo[MAX]; char nome[MAX]; Data data; int hora; int duracao; int prioridade; stats status; bool adiavel; int identificador; } Compromisso; int inicializaCompromisso(Compromisso *c,char *tip,char *name,Data *dat,int hor, int durac); void alteraPrioridade(Compromisso *c,int priorid); int retornaPrioridade(Compromisso *c); bool eAdiavel(Compromisso *c); bool temConflito(Compromisso *c1, Compromisso *c2); void atribuiStatus(Compromisso *c,stats status1); void imprimeCompromisso(Compromisso *c); Arquivos .c //Compromisso.c #include "agenda.h" int i=0; int inicializaCompromisso(Compromisso*c,char *tip,char *name,Data *dat, int hor, int durac){ c->identificador=++i; c->hora=hor; c->duracao=durac; if(strcmp("Aula",tip)==0) c->prioridade=2; else if(strcmp("Orientacao",tip)==0) c->prioridade=1; else if(strcmp("Reuniao",tip)==0) c->prioridade=4; else if(strcmp("Evento",tip)==0) c->prioridade=3; else if(strcmp("Compromisso Particular",tip)==0) c->prioridade=2; strcpy(c->tipo,tip); strcpy(c->nome,name); c->status=A_SER_CUMPRIDO; c->adiavel=false; c->data.dia=dat->dia; c->data.mes=dat->mes; c->data.ano=dat->ano; return c->identificador; } void alteraPrioridade(Compromisso *c,int priorid){ c->prioridade=priorid; } int retornaPrioridade(Compromisso *c){ return c->prioridade; } bool eAdiavel(Compromisso *c){ if(c->tipo=="Aula" || c->tipo == "Evento") return false; else return true; } bool temConflito(Compromisso *c1, Compromisso *c2){//Já testada. if((c1->data.dia==c2->data.dia)&&(c1->data.mes==c2->data.mes)&&(c1->data.ano==c2->data.ano) && (c1->hora==c2->hora)) return true; else return false; } void atribuiStatus(Compromisso *c,stats status1){ c->status=status1; } stats retornaStatus(Compromisso *c){ return c->status; } void imprimeCompromisso(Compromisso *c){ printf("Identificador: %d\n",c->identificador); printf("Tipo: %s\n",c->tipo); printf("Data: %d/%d/%d\n",c->data.dia,c->data.mes,c->data.ano); printf("Hora: %d:00\n",c->hora); if(strcmp(c->tipo,"Evento")==0) printf("Duracao: %d\n",c->duracao); else{ printf("Duracao: %d\n",c->duracao); } if(strcmp("Aula",c->tipo)==0) printf("Nome da Disciplina: %s\n",c->nome); else if(strcmp("Orientacao",c->tipo)==0) printf("Nome do Aluno: %s\n",c->nome); else if(strcmp("Reuniao",c->tipo)==0) printf("Nome da Reuniao: %s\n",c->nome); else if(strcmp("Evento",c->tipo)==0) printf("Nome do Evento: %s\n",c->nome); else if(strcmp("Compromisso Particular",c->nome)==0) printf("Motivo: %s\n",c->nome); if(c->status==A_SER_CUMPRIDO) printf("A Ser Cumprido\n"); else if(c->status==ADIADO) printf("Adiado\n"); else if(c->status==CANCELADO) printf("Cancelado\n"); if(c->adiavel==true) printf("Pode ser adiado\n"); if(c->adiavel==false) printf("não pode ser adiado\n"); } /* --------------------------------------------------------------------------------------------------------------------------------------------------- */ //agenda.c #include "agenda.h" static int idenAgend=1; Agenda * criaAgenda(Agenda *a, int idProf, char *name, int ano){ a=(Agenda *)malloc(sizeof(Agenda)); a->identProf=idProf; strcpy(a->nomeProfer,name); a->ano=ano; a->idAgend=idenAgend; a->prox=NULL; idenAgend++; return a; } Agenda * novoAgenda(Agenda *a,Compromisso *comp){ Agenda *novo=(Agenda*)malloc(sizeof(Agenda)); novo->c=comp; novo->prox=a; return novo; } Agenda * insereCompromisso(Agenda *a,char *tip,char *name,Data *dat, int hor, int durac){ int x=inicializaCompromisso(&(a->c),tip,name,dat,hor,durac); Agenda *b=novoAgenda(a,(a->c)); return b; } void imprimeAgenda(Agenda *a){ Agenda *z; printf("Id Agenda: %d\n",a->idAgend); printf("ID Professor: %d\n",a->identProf); printf("Nome do Professor: %d\n",a->nomeProfer); printf("Ano: %d\n",a->ano); printf("\n"); for(z=a;z->prox!=NULL;z=z->prox){ imprimeCompromisso(&(z->c)); getch(); printf("\n"); } } [/quote]E a main. [quote] #include "agenda.h" int main(){ bool g; int a,b,cd; char name[]="Natan Avila"; char nameEvent[]="Cervejada"; char nameEvent2[]="Calourada"; char nameEvent3[]="Trote"; Data *dat; dat->dia=29; dat->mes=01; dat->ano=2010; char tip[]="Evento"; char tip2[]="Orientacao"; char tip3[]="Compromisso Particular"; Agenda *k=criaAgenda(k, 2626, name, 2011); k=insereCompromisso(k,tip,nameEvent,dat,06,50); imprimeAgenda(k); k=insereCompromisso(k,tip2,nameEvent2,dat,02,40); imprimeAgenda(k); k=insereCompromisso(k,tip3,nameEvent3,dat,16,60); imprimeAgenda(k); imprimeAgenda(k); system("pause"); free(k); return 0; } Como podem ver, o código apresenta erros durante a compilação, e não consigo resolver, principalmente na função de imprimir... Se alguém souber alguma possível solução, ou informar o que está errado, eu agradeceria :D
  20. Acho que isso é pra duplamente encadeada...
  21. N a T a N

    Problema com Lista.

    o agenda.h já inclui o Compromisso.h, e como inclui o agenda.h, já inclui o Compromisso também.
×
×
  • Criar Novo...