Ir ao conteúdo

Compromissos


yagoftware

Posts recomendados

Postado

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??

Postado

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

Postado

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

Postado
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 ?

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...