Buscar

Programação Estruturada e modular - Calendario

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

Programação Estruturada e modular – Calendário em linguagem C
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main ();
int ficheiro ();
int teclado ();
void calendario ();
void calendario()
{
printf("qwerty");
}
int teclado (){ 
int ano;
printf("\n\nIntroduza o ano\n\n");
scanf(" %d", &ano);
  if(1975<=ano && ano<=9999)
  {
      return ano;
  
  }
  else
  {
      printf("\n\nAno invalido\n\n");
  teclado ();            //perguntar outra vez se quer por teclado,ficheiro ou sair
  }
}
int ficheiro ()
{ 
FILE *data ;
	char ficheiro[1][5];
	char ficheiro1 [1][40];
	int dataano;
					printf("\n\nQual a drive onde reside o ficheiro: ");
					scanf(" %s", ficheiro [0]);						// aqui estou a receber a localização do ficheiro
					printf("\n\nQual o nome do ficheiro: ");
					scanf(" %s", ficheiro1 [0]);	
					strcat(ficheiro [0],":\\");
					strcat(ficheiro [0], ficheiro1 [0]);
					data = fopen (ficheiro[0],"r");					// estou a abrir o ficheiro para leitura
						if (data == NULL)									// se o ficheiro nao existir
						{
						printf("\n\nOcorreu um erro na abertura do ficheiro..\n\n"); 
						fclose(data);
						}
						else {
						fscanf(data,"%d",&dataano); 
						fclose(data);
						}
  if(1975<=dataano && dataano<=9999)
  
  { calendario ();
  return dataano;
    
  }
  else
  {
      printf("\n\nAno invalido\n\n");  //perguntar outra vez se quer por teclado,ficheiro ou sair
  main();
  } 
}
int main()
{
int op;
	printf("Deseja fornecer o Ano atraves de que processo? \n\n");
        printf("Por Teclado      \t\t\t(responda \"1\")\n");
        printf("Por Ficheiro      \t\t\t(responda \"2\")\n");
        printf("Desejo sair do programa      \t\t(responda \"3\")\n\n");
        scanf("%d",&op);
        switch (op)
        {
	case 1: teclado(); break;
	case 2: ficheiro(); break;
        case 3: exit (1); break;
	default : 
		{
		printf("\n\n\tOpcao invalida. Escolha uma das 3 opcoes possiveis: 1, 2 ou 3\n\n"); 
		fflush (stdin); // elimina as letras como opçao
		system("pause");
		system("cls");        // limpa o ecrã
		main ();
			  }
	}
}

Continue navegando