Ir ao conteúdo
  • Cadastre-se

Compromissos


yagoftware

Posts recomendados

Fazer programa em C, contendo:

a) definiçao de tipo: compromisso

- data ( dia, mes, ano, hora, minuto)

- nome

-status ( aberto, pendente, fechado_ok, fechado_nok)

B) main

- criar compromisso

- chamar as funções abaixo

c) verifatualcompromisso

- recebe compromisso e data

- retorna status atualizado

d) fechacompromisso

- recebe compromisso e data

- deve usar fechado_ok e nok

- retornar status atualizado


#include <stdio.h>
#include <stdlib.h>

typedef struct _data
{ int dia, mes, ano, horas, minutos;
} Data;
typedef struct _compromiss
{ char nome[20];
Data data;

const char status[4][12]={"ABERTO", "PENDENTE", "FECHADO_OK", "FECHADO_NOK"};
}Compromiss;


int verifAtualComp(Compromiss *comp, Data *dt)
{ int d, m, a, h, n;
printf("\nQue dia e hoje? ");
scanf(" %i",&d);
printf("\nQue mes e hoje? ");
scanf(" %i",&m);
printf("\nQue ano e hoje? ");
scanf(" %i",&a);
printf("\nQue horas sao? ");
scanf(" %i",&h);
printf("\nQue minutos sao? ");
scanf(" %i",&n);

if(dt->ano>a)
{ if(*dt->mes>m)
{ if(*dt->dia>d)
{ if(*dt->horas>h)
{ if(*dt->minutos>n)
{ return 0; }
}
}
}
}
else { return 1; }
}
fechCompromiss(Compromiss *comp, Data *dt)
{ int d, m, a, h, n;
printf("\nQue dia e hoje? ");
scanf(" %i",&d);
printf("\nQue mes e hoje? ");
scanf(" %i",&m);
printf("\nQue ano e hoje? ");
scanf(" %i",&a);
printf("\nQue horas sao? ");
scanf(" %i",&h);
printf("\nQue minutos sao? ");
scanf(" %i",&n);

if(*dt->ano-a1==0)
{ if(*dt->mes-m==0)
{ if(*dt->dia-d==0)
{ if(*dt->horas-h==0)
{ if(*dt->minutos-n==0||*dt->minutos-n<0)
{ return 3; }
}
else { if(*dt->horas-h<0){return 3);}
else { if(*dt->dia-d<0){return 3);}
else { if(*dt->mes-m<0){return 3);}
else{ if(*dt->horas-h<0){return 3);
else { return 2; }
}

int main(int argc, char *argv[])
{ Compromiss c1;
int status;
printf("\t\t\n\nPrograma de Compromissos\n\t\t");
printf("------------------------\n\n\n");

printf("\nQual nome do compromisso? ");
gets(c1.nome);
printf("\nQual dia do compromisso? ");
scanf(" %i",&c1.data.dia);
printf("\nQual mes do compromisso? ");
scanf(" %i",&c1.data.mes);
printf("\nQual ano do compromisso? ");
scanf(" %i",&c1.data.ano);
printf("\nQual horas do compromisso? ");
scanf(" %i",&c1.data.horas);
printf("\nQual minutos do compromisso? ");
scanf(" %i",&c1.data.minutos);
printf("\n\n");
status=1;

delay(2000);
printf("SaLvAnDo");
delay(2000);
printf(".");
delay(2000);
printf(".");
delay(2000);
printf(".");
delay(2000);
printf("%c Compromisso salvo!\n",159);

printf("\nMenu de opções:");
printf("\n--------------\n");
int o;
printf("\n[1] - Verificar Compromisso");
printf("\n[2] - Fechar Compromisso\n\n");
switch(o){
case 1:
{ printf("O Compromisso esta %s",Compromiss.status[verifAtualComp(&c1, &c1.data)]);
break;}
case 2:
{ printf("Agora ocompromisso esta %s",Compromiss.status[fechCompromiss(&c1comp, &c1.data)]);
break;}
}
system("PAUSE");
return 0;
}

mas qual o erro??

Link para o comentário
Compartilhar em outros sites

Qual o erro?

Meu compilador me apontou uns 30,que tal ler as mensagens que o seu te dá?

Uma porrada de erro é porque você usou o operador * em não ponteiros,os outros são de sintaxe.

Isso,os que eu vi (não analisei seu código,apenas as mensagens de erro do compilador).

Le as mensagens que você resolve.

Att. regreth

Link para o comentário
Compartilhar em outros sites

Pra referenciar um objeto de um pointer você precisa usar paranteses, senão o compilador entende outra precedência.

Em vez de *xxx->yyy

Você usa (*xxx)->yyy

isso e um detalhe que eu tinh esquecido mas ok depois concerto

uma enfatização que queria fazer e o erro dessa linha

const char status[4][12]={"ABERTO", "PENDENTE", "FECHADO_OK", "FECHADO_NOK"};

porquee da erro ?

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!