#include <unistd.h>

void	ft_putchar(char c);

void	imp(int x, int y, int ind_y)
{
	int	ind_x;

	ind_x = 0;
	while (ind_x < x)
	{
		if (ind_x == 0 && ind_y == 0)
			ft_putchar('o');
		else if (ind_x == x - 1 && ind_y == 0)
			ft_putchar('o');
		else if (ind_x == 0 && ind_y == y - 1)
			ft_putchar('o');
		else if (ind_x == x - 1 && ind_y == y - 1)
			ft_putchar('o');
		else if (ind_y == 0 || ind_y == y - 1)
			ft_putchar('-');
		else if (ind_x == 0 || ind_x == x - 1)
			ft_putchar('|');
		else
			ft_putchar('.');
		ind_x++;
	}
	ft_putchar('\n');
}

void	rush(int x, int y)
{
	int	ind_y;

	ind_y = 0;
	if (x < 1 || y < 1)
	{	
		write (1, "Saisie de valeur(s) incorrecte", 30);
		return ;
	}
	if ((x >= 1 && x < 2147483647) && (y >= 1 && y < 2147483647))
	{
		while (ind_y < y)
		{
			imp(x, y, ind_y);
			ind_y++;
		}
		return ;
	}
}

void	ft_putchar(char c)
{
	write(1, &c, 1);
}
void	rush(int x, int y);

int	main(void)
{
	rush (5, 3);
	return (0);
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: