Tilipus 0 Denunciar post Postado Maio 2, 2016 3. Ler uma data no formato ddmmaaaa e escrever o dia, mês e ano da data. Entrada: um número inteiro, na variável data, com 8 dígitos, no formato ddmmaaaa, onde dd é o dia com duas casas (Ex: 02, 23), mm é o mês, também com duas casas (Ex: 12, 01) e aaaa é o ano com 4 casas (Ex: 1947, 2016). Processamento: separar os dígitos da data e atribuir às respectivas variáveis Saída: escrever uma linha para cada informação, no formato Dia = 12 Mês = 01 Ano = 1994 Exemplo: Entrada: 21032014 Saída: Dia = 21 Mês = 03 Ano = 2014 4. Ler uma data no formato ddmmaaaa e verificar se a data digitada é válida. Entrada: um número inteiro, na variável data, com 8 dígitos, no formato ddmmaaaa, onde dd é o dia com duas casas (Ex: 02, 23), mm é o mês, também com duas casas (Ex: 12, 01) e aaaa é o ano com 4 casas (Ex: 1947, 2016). Processamento: verificar se a data é válida. Verificar se o número de dias é compatível com o mês, verificar se o mês está correto. Compartilhar este post Link para o post Compartilhar em outros sites
Eduardo_555 4 Denunciar post Postado Maio 2, 2016 cara me parece ser simples, basta você ler os dados em uma variável auxiliar, como uma strign depois use uma função para quebrá-la, aki ensina http://www.arquivodecodigos.net/dicas/c-como-usar-a-funcao-strtok-para-quebrar-uma-string-c-usando-delimitadores-3189.html coloca suas partes em variaveis, como solicitado dia mes e ano, para validar as informaçoes digitadas e facil mete um if e else com as condiçoes. Espero ter ajudado. Compartilhar este post Link para o post Compartilhar em outros sites
freak1Day 1 Denunciar post Postado Maio 6, 2016 Espero ter ajudado! Usa-se para obter o dia: obterData(mmddaaaa,1); " " o mes: obterData(mmddaaaa, 2); " " o ano: obterData(mmddaaaa,3); Exemplo: int dia = obterData("11071997",1); printf("dia = %d",dia); output: dia = 11 int obterData(const char *data, int tipo){ char buffer[6]; buffer[0] = '\0'; int result = 0; //Recebemos um tipo, que pode ser dia, mes ou ano. //Cada tipo vamos armazenar de um tipo no buffer switch(tipo){ //Obter Dia dd <--- //Localizado apos o 1 caracter de ddmmaaaa case 1: buffer[0] = data[0]; buffer[1] = data[1]; buffer[2] = '\0'; break; //Obter Mes mm <--- //Localizado apos o 3 caracter de ddmmaaaa case 2: buffer[0] = data[2]; buffer[1] = data[3]; buffer[2] = '\0'; break; //Obter Ano aaaa <--- //Localizado apos o 4 caracter de ddmmaaaa case 3: buffer[0] = data[4]; buffer[1] = data[5]; buffer[2] = data[6]; buffer[3] = data[7]; buffer[4] = '\0'; break; default: break; } //Transformamos o resultado string em inteiro result = atoi(buffer); //Como nao vamos mais usar o buffer //Liberamos memoria delete buffer; return result; } Compartilhar este post Link para o post Compartilhar em outros sites
pedropgomes 4 Denunciar post Postado Maio 6, 2016 eis como separar! estude o código e com base nele você consegue fazer o resto! :D #include <stdio.h> int main(){ int data; scanf("%d", &data); int dia,mes,ano; dia = (int)(data/1000000); mes = (int)((data - dia*1000000)/10000); ano = data - ((dia * 1000000) + (mes*10000)); printf("%d / %d / %d",dia, mes, ano); return 0; } obs: usando apenas cálculos e como entrada um número inteiro! qualquer dúvida pode me perguntar! :D Compartilhar este post Link para o post Compartilhar em outros sites
freak1Day 1 Denunciar post Postado Maio 6, 2016 Gostei do calculo, vlw! Compartilhar este post Link para o post Compartilhar em outros sites