Menu
Coddy logo textTech

Structures and Functions

Lição 5 de 8 do curso Estruturas em C/C++ da Coddy.

Depois de criar uma estrutura no arquivo C/C++, você pode usar essa estrutura como um argumento de função ou como um tipo de valor de retorno.

Por exemplo, vamos assumir que Person é uma estrutura:

void greet(Person p) {
	cout << "Hello, " << p.name << endl;
}

Em C, você precisa adicionar a palavra-chave struct antes:

void greet(struct Person p) {
	printf("Hello, %s\n", p.name);
}
challenge icon

Desafio

Fácil

Você recebeu parte do código que cria uma estrutura Point, inicializa dois pontos e calcula a distância entre eles.

Sua tarefa é criar uma função chamada calcDistance que recebe duas estruturas Point como argumentos, calcula a distância e a retorna (tipo int).

Dados dois pontos p1 e p2, a distância entre eles é:

(p2.x - p1.x) * (p2.x - p1.x) + (p2.y - p1.y) * (p2.y - p1.y)

Você não precisa modificar a função main de forma alguma!

Experimente você mesmo

#include <stdio.h>

struct Point {
    int x;
    int y;
};

// Implemente calcDistance aqui

int main() {
    char tmp[50];
    int p1x, p1y, p2x, p2y;
    scanf("%s %d %d", &tmp, &p1x, &p1y);
    scanf("%s %d %d", &tmp, &p2x, &p2y);
    struct Point p1 = {p1x, p1y};
    struct Point p2 = {p2x, p2y};

    int distance = calcDistance(p1, p2);

    printf("Distance between p1 and p2: %d", distance);
    return 0;
};

Todas as lições de Estruturas em C/C++