---
# System prepended metadata

title: Untitled

---

## coord.cpp
```cpp
#include <iostream>
#include "coord.hpp"

using namespace std;

struct Coord {
    int x;
    int y;
};


Coord creeCoord(int lig, int col){
    Coord c;
    c.x = lig;
    c.y = col;
    return c;
}
void afficheCoord(Coord c){
    cout<<"("<<C.x<<", "<<C.y<<")"<<endl;
}

int getX(Coord c){
    return c.x;
}
int getY(Coord c){
    return c.y;
}

bool egalCoord(Coord c1, Coord c2) {
    return (c1.x==c2.x and c1.y==c2.y);
}

void testEgalCoord(){
    ASSERT( egalCoord(creeCoord(5, 6), creeCoord(5, 6)));
    ASSERT(!egalCoord(creeCoord(3, 5), creeCoord(4, 5)));
    ASSERT(!egalCoord(creeCoord(1, 19), creeCoord(19, 1)));
}
    


int main(){
    Coord c1 = creeCoord(2,1);
    afficheCoord(c1);
    cout << endl;
    testEgalCoord();
    return 0;
}
```
## coord.hpp
```cpp
#include <iostream>

using namespace std;

struct Coord {
    int x;
    int y;
};


Coord creeCoord(int lig, int col);

void afficheCoord(Coord c);

int getX(Coord c);
int getY(Coord c);

bool egalCoord(Coord c1, Coord c2);
void testEgalCoord();
```
### testcoord.cpp
```cpp
#include <iostream>
#include "coord.hpp"

#define ASSERT(C) if ( !(C) ) { std::cerr << "Test failed: "#C << std::endl; }

using namespace std;

int main(){
    Coord c;
    c=creeCoord(8,9);
    afficheCoord(c);
    cout<<getX(c)<<"    "<<getY(c)<<endl;
    
    return 0;
}
```