Home › Fóruns › Linguagem C › M03A02 – Linguagem C -Teste Pessoal.
- Este tópico contém 1 resposta, 2 vozes e foi atualizado pela última vez 1 ano, 7 meses atrás por Tutora Jessica.
-
AutorPosts
-
-
10 de abril de 2023 às 13:19 #113649Matheus SoaresParticipante
Antes de realizar os exercícios tenho como costume eu mesmo propor alguns desafios. Com isso, treino meu raciocínio lógico, e tenho um melhor controle e entendimento do que está sendo passado a mim na aula em questão.
Nos comandos a segui, no comentário mais estenso, logoa cima da condicional: If, verá um comentário mais extenso. Fiz ele para que seja mais fácil entender minha dúvida.
#include <stdio.h>
#include <time.h>
#include <locale.h>
#include <stdlib.h>void main () {
setlocale(LC_ALL, “Portuguese”);
printf(“Qual a data atual?\n\n”);
time_t t;
time(&t);
struct tm *data;
data = localtime(&t);
// Definindo as variáveis de tempo fixas: “d” = day; “m” = month; “y” = year.
int d = data->tm_mday;
int m = data->tm_mon + 1;
int y = data->tm_year + 1900;
// Criando variaveis que serão definidas pelo usuário. “d2”, “m2” e “y2”
int d2,m2, y2;
printf(“Qual dia é hoje? “);
fflush(stdin);
scanf(“%i”, &d2);
printf(“Qual mês? “);
fflush(stdin);
scanf(“%i”, &m2);
printf(“De qual ano? “);
fflush(stdin);
scanf(“%i”, &y2);
printf(“Você digitou a data: %i/%i/%i. “, d2, m2, y2);
*****************************************************************************************************************************************************
/* Inicialmente, eu estava executando, na condicional “if”, a seguinte instrução: “if (d2, m2, y2 != d, m, y…)”. Sinceramente não sei se comando está correto e me faltou apenas pontuar algumas outras instruções, mas o codigo não estava indo. ele sempre retornava o primeiro print, e nunca o da segunda condição (else). Abaixo, terá a instução que eu consegui pensar para solucionar o problema. ” if((d2 == d) && (m2 == m) && (y2 == y))”.
A questão é: Por que em específico a instrução: “if (d2, m2, y2 != d, m, y…)” não funcionou?*/
******************************************************************************************************************************************************
if((d2 == d) && (m2 == m) && (y2 == y)) {
printf(“A data: %i/%i/%i que você digitou está correta, parabêns!”, d2, m2, y2);}
// Aqui pode-se ver que eu utilizei uma condicional ainda não ensinada no curso, e, apesar de C ser minha primeira linguagem, tomei essa liberdade.
else {
printf(“A data: %i/%i/%i que você digitou está errada. A data correta é: %i/%i/%i.”, d, m, y, d2, m2, y2);
}}
-
11 de abril de 2023 às 12:18 #113744Tutora JessicaModerador
Ola Matheus, realmente a condicional
if (d2, m2, y2 != d, m, y…)
esta errada, pois existem regras de sintaxe a serem seguidas.
Parabéns por ter encontrado a solução.
Bons estudos 🖖
-
-
AutorPosts
- Você deve fazer login para responder a este tópico.