Baixe o app para aproveitar ainda mais
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 (); } } }
Compartilhar