How to organize/simplify the file main.c on a C project [closed]











up vote
0
down vote

favorite












I have an assigment for a college's class called "Procedural Programming" where I need to implement/write a card game on C language.



This is my first medium sized project (at least it is medium compared to I've been used to write (very simple programs)), so I have some doubts about how to make my code simplier and easier to read/understand.



Should I write everything in the same .c file? But in my opinion it would be pretty hard to "navigate" throught all the code if it was all written in this unique .c file, so I thought of doing the next.



Using my main .c file just to call other functions, functions which would be declared/stored in header files. For example:



//main .c file

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>

#include "display.h"

void main()
{
/*this is just something I'm going to use to make the
main menu a litte more stylistic*/
gotoxy(60, 10);
asteriscos(50);
}


//Header "display.h".

void gotoxy(int x, int y)
{
printf("%c[%d;%df", 0x1B, y, x);
}

void asteriscos(int numero_de_asteriscos)
{
int i;

for (i = 0; i < numero_de_asteriscos; i++)
{
Sleep(40);
printf("*");
}
}


The point would be just to create the main menu of the game on the main .c file, but for each option (1. Play the Game; 2. Description of the Game; 3. Start from a saved game; 4. Exit.) it would call a function declared on a header file. And inside that function would be called more fuctions all stored in .h files, for example: if the user pressed 1 (to play the game) it would call a function, that would ask the number of players, declared and defined in a .h file. Then, inside that same function, after the user introduced the number of players, it would be called another function that would create the decks and give 7 cards to each player and this function was going also to be declared and defined inside the same .h file. This means that, after the main menu, everything was going to be done in .h files.



So, in the end my main .c file would look something like this (just to show as example here):



//main .c file
void main()
{
int option;

printf("n1 - Play the Game");
printf("n2 - Descripiton of the Game");
printf("n3 - Start from a saved Game");
printf("n4 - Exit.")
scanf("%d", &option);

switch (option)
{
case 1 :
{
some1_function_stored_header();
break;
}
case 2:
{
some2_function_stored_header();
break;
}
case 3:
{
some3_function_stored_header();
break;
}
case 4:
{
some3_function_stored_header();
break;
}
}
}


And all the work for the different options would be done inside .h files. I would have a main .c file cleaner and shorter, and it would be easier for me to look for a specific part of my code, because it would all be divided in sections(.h files). But then I read that this would not be a good practice because we should just store the functions prototypes on .h files but the definition in one source file.



So what would be the best practice? To only store the prototypes of functions inside a .h file and declare all the functions inside my main .c? But then I would get a very large (in terms of lines) .c file because of the many functions I need to build this game. What and how should I do to make the code easy to read/understand?



Kind Regards










share|improve this question













closed as primarily opinion-based by John Bollinger, kiran Biradar, usr2564301, Basile Starynkevitch, kfx Nov 10 at 19:17


Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.











  • 2




    This would be a very good fit for codereview.stackexchange.com
    – kfx
    Nov 10 at 18:24






  • 1




    Questions asking for recommendations on code organization and style are largely opinion-based and therefore off-topic here on SO. I suggest you look up C style guides in Google. You will find several different ones, and at least some of them should address the question of how to divide functions among files. Choose an approach that suits you.
    – John Bollinger
    Nov 10 at 18:28












  • "all the work for the different options would be done inside .h files" — that is not the way to do it. The .h files should usually contain the code interfaces, such as function prototypes and other common declarations, while the definitions and implementations should be in the corresponding .c file. The .h files will be used by the compiler during the compilation of each source file that #includes them, while the linker will put the compiled modules together.
    – Weather Vane
    Nov 10 at 18:30












  • What does "large code" mean to you? Are you aware that several free software projects have millions of source lines?
    – Basile Starynkevitch
    Nov 10 at 18:38















up vote
0
down vote

favorite












I have an assigment for a college's class called "Procedural Programming" where I need to implement/write a card game on C language.



This is my first medium sized project (at least it is medium compared to I've been used to write (very simple programs)), so I have some doubts about how to make my code simplier and easier to read/understand.



Should I write everything in the same .c file? But in my opinion it would be pretty hard to "navigate" throught all the code if it was all written in this unique .c file, so I thought of doing the next.



Using my main .c file just to call other functions, functions which would be declared/stored in header files. For example:



//main .c file

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>

#include "display.h"

void main()
{
/*this is just something I'm going to use to make the
main menu a litte more stylistic*/
gotoxy(60, 10);
asteriscos(50);
}


//Header "display.h".

void gotoxy(int x, int y)
{
printf("%c[%d;%df", 0x1B, y, x);
}

void asteriscos(int numero_de_asteriscos)
{
int i;

for (i = 0; i < numero_de_asteriscos; i++)
{
Sleep(40);
printf("*");
}
}


The point would be just to create the main menu of the game on the main .c file, but for each option (1. Play the Game; 2. Description of the Game; 3. Start from a saved game; 4. Exit.) it would call a function declared on a header file. And inside that function would be called more fuctions all stored in .h files, for example: if the user pressed 1 (to play the game) it would call a function, that would ask the number of players, declared and defined in a .h file. Then, inside that same function, after the user introduced the number of players, it would be called another function that would create the decks and give 7 cards to each player and this function was going also to be declared and defined inside the same .h file. This means that, after the main menu, everything was going to be done in .h files.



So, in the end my main .c file would look something like this (just to show as example here):



//main .c file
void main()
{
int option;

printf("n1 - Play the Game");
printf("n2 - Descripiton of the Game");
printf("n3 - Start from a saved Game");
printf("n4 - Exit.")
scanf("%d", &option);

switch (option)
{
case 1 :
{
some1_function_stored_header();
break;
}
case 2:
{
some2_function_stored_header();
break;
}
case 3:
{
some3_function_stored_header();
break;
}
case 4:
{
some3_function_stored_header();
break;
}
}
}


And all the work for the different options would be done inside .h files. I would have a main .c file cleaner and shorter, and it would be easier for me to look for a specific part of my code, because it would all be divided in sections(.h files). But then I read that this would not be a good practice because we should just store the functions prototypes on .h files but the definition in one source file.



So what would be the best practice? To only store the prototypes of functions inside a .h file and declare all the functions inside my main .c? But then I would get a very large (in terms of lines) .c file because of the many functions I need to build this game. What and how should I do to make the code easy to read/understand?



Kind Regards










share|improve this question













closed as primarily opinion-based by John Bollinger, kiran Biradar, usr2564301, Basile Starynkevitch, kfx Nov 10 at 19:17


Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.











  • 2




    This would be a very good fit for codereview.stackexchange.com
    – kfx
    Nov 10 at 18:24






  • 1




    Questions asking for recommendations on code organization and style are largely opinion-based and therefore off-topic here on SO. I suggest you look up C style guides in Google. You will find several different ones, and at least some of them should address the question of how to divide functions among files. Choose an approach that suits you.
    – John Bollinger
    Nov 10 at 18:28












  • "all the work for the different options would be done inside .h files" — that is not the way to do it. The .h files should usually contain the code interfaces, such as function prototypes and other common declarations, while the definitions and implementations should be in the corresponding .c file. The .h files will be used by the compiler during the compilation of each source file that #includes them, while the linker will put the compiled modules together.
    – Weather Vane
    Nov 10 at 18:30












  • What does "large code" mean to you? Are you aware that several free software projects have millions of source lines?
    – Basile Starynkevitch
    Nov 10 at 18:38













up vote
0
down vote

favorite









up vote
0
down vote

favorite











I have an assigment for a college's class called "Procedural Programming" where I need to implement/write a card game on C language.



This is my first medium sized project (at least it is medium compared to I've been used to write (very simple programs)), so I have some doubts about how to make my code simplier and easier to read/understand.



Should I write everything in the same .c file? But in my opinion it would be pretty hard to "navigate" throught all the code if it was all written in this unique .c file, so I thought of doing the next.



Using my main .c file just to call other functions, functions which would be declared/stored in header files. For example:



//main .c file

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>

#include "display.h"

void main()
{
/*this is just something I'm going to use to make the
main menu a litte more stylistic*/
gotoxy(60, 10);
asteriscos(50);
}


//Header "display.h".

void gotoxy(int x, int y)
{
printf("%c[%d;%df", 0x1B, y, x);
}

void asteriscos(int numero_de_asteriscos)
{
int i;

for (i = 0; i < numero_de_asteriscos; i++)
{
Sleep(40);
printf("*");
}
}


The point would be just to create the main menu of the game on the main .c file, but for each option (1. Play the Game; 2. Description of the Game; 3. Start from a saved game; 4. Exit.) it would call a function declared on a header file. And inside that function would be called more fuctions all stored in .h files, for example: if the user pressed 1 (to play the game) it would call a function, that would ask the number of players, declared and defined in a .h file. Then, inside that same function, after the user introduced the number of players, it would be called another function that would create the decks and give 7 cards to each player and this function was going also to be declared and defined inside the same .h file. This means that, after the main menu, everything was going to be done in .h files.



So, in the end my main .c file would look something like this (just to show as example here):



//main .c file
void main()
{
int option;

printf("n1 - Play the Game");
printf("n2 - Descripiton of the Game");
printf("n3 - Start from a saved Game");
printf("n4 - Exit.")
scanf("%d", &option);

switch (option)
{
case 1 :
{
some1_function_stored_header();
break;
}
case 2:
{
some2_function_stored_header();
break;
}
case 3:
{
some3_function_stored_header();
break;
}
case 4:
{
some3_function_stored_header();
break;
}
}
}


And all the work for the different options would be done inside .h files. I would have a main .c file cleaner and shorter, and it would be easier for me to look for a specific part of my code, because it would all be divided in sections(.h files). But then I read that this would not be a good practice because we should just store the functions prototypes on .h files but the definition in one source file.



So what would be the best practice? To only store the prototypes of functions inside a .h file and declare all the functions inside my main .c? But then I would get a very large (in terms of lines) .c file because of the many functions I need to build this game. What and how should I do to make the code easy to read/understand?



Kind Regards










share|improve this question













I have an assigment for a college's class called "Procedural Programming" where I need to implement/write a card game on C language.



This is my first medium sized project (at least it is medium compared to I've been used to write (very simple programs)), so I have some doubts about how to make my code simplier and easier to read/understand.



Should I write everything in the same .c file? But in my opinion it would be pretty hard to "navigate" throught all the code if it was all written in this unique .c file, so I thought of doing the next.



Using my main .c file just to call other functions, functions which would be declared/stored in header files. For example:



//main .c file

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>

#include "display.h"

void main()
{
/*this is just something I'm going to use to make the
main menu a litte more stylistic*/
gotoxy(60, 10);
asteriscos(50);
}


//Header "display.h".

void gotoxy(int x, int y)
{
printf("%c[%d;%df", 0x1B, y, x);
}

void asteriscos(int numero_de_asteriscos)
{
int i;

for (i = 0; i < numero_de_asteriscos; i++)
{
Sleep(40);
printf("*");
}
}


The point would be just to create the main menu of the game on the main .c file, but for each option (1. Play the Game; 2. Description of the Game; 3. Start from a saved game; 4. Exit.) it would call a function declared on a header file. And inside that function would be called more fuctions all stored in .h files, for example: if the user pressed 1 (to play the game) it would call a function, that would ask the number of players, declared and defined in a .h file. Then, inside that same function, after the user introduced the number of players, it would be called another function that would create the decks and give 7 cards to each player and this function was going also to be declared and defined inside the same .h file. This means that, after the main menu, everything was going to be done in .h files.



So, in the end my main .c file would look something like this (just to show as example here):



//main .c file
void main()
{
int option;

printf("n1 - Play the Game");
printf("n2 - Descripiton of the Game");
printf("n3 - Start from a saved Game");
printf("n4 - Exit.")
scanf("%d", &option);

switch (option)
{
case 1 :
{
some1_function_stored_header();
break;
}
case 2:
{
some2_function_stored_header();
break;
}
case 3:
{
some3_function_stored_header();
break;
}
case 4:
{
some3_function_stored_header();
break;
}
}
}


And all the work for the different options would be done inside .h files. I would have a main .c file cleaner and shorter, and it would be easier for me to look for a specific part of my code, because it would all be divided in sections(.h files). But then I read that this would not be a good practice because we should just store the functions prototypes on .h files but the definition in one source file.



So what would be the best practice? To only store the prototypes of functions inside a .h file and declare all the functions inside my main .c? But then I would get a very large (in terms of lines) .c file because of the many functions I need to build this game. What and how should I do to make the code easy to read/understand?



Kind Regards







c function file






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 10 at 18:23









Gatsby

11




11




closed as primarily opinion-based by John Bollinger, kiran Biradar, usr2564301, Basile Starynkevitch, kfx Nov 10 at 19:17


Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.






closed as primarily opinion-based by John Bollinger, kiran Biradar, usr2564301, Basile Starynkevitch, kfx Nov 10 at 19:17


Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.










  • 2




    This would be a very good fit for codereview.stackexchange.com
    – kfx
    Nov 10 at 18:24






  • 1




    Questions asking for recommendations on code organization and style are largely opinion-based and therefore off-topic here on SO. I suggest you look up C style guides in Google. You will find several different ones, and at least some of them should address the question of how to divide functions among files. Choose an approach that suits you.
    – John Bollinger
    Nov 10 at 18:28












  • "all the work for the different options would be done inside .h files" — that is not the way to do it. The .h files should usually contain the code interfaces, such as function prototypes and other common declarations, while the definitions and implementations should be in the corresponding .c file. The .h files will be used by the compiler during the compilation of each source file that #includes them, while the linker will put the compiled modules together.
    – Weather Vane
    Nov 10 at 18:30












  • What does "large code" mean to you? Are you aware that several free software projects have millions of source lines?
    – Basile Starynkevitch
    Nov 10 at 18:38














  • 2




    This would be a very good fit for codereview.stackexchange.com
    – kfx
    Nov 10 at 18:24






  • 1




    Questions asking for recommendations on code organization and style are largely opinion-based and therefore off-topic here on SO. I suggest you look up C style guides in Google. You will find several different ones, and at least some of them should address the question of how to divide functions among files. Choose an approach that suits you.
    – John Bollinger
    Nov 10 at 18:28












  • "all the work for the different options would be done inside .h files" — that is not the way to do it. The .h files should usually contain the code interfaces, such as function prototypes and other common declarations, while the definitions and implementations should be in the corresponding .c file. The .h files will be used by the compiler during the compilation of each source file that #includes them, while the linker will put the compiled modules together.
    – Weather Vane
    Nov 10 at 18:30












  • What does "large code" mean to you? Are you aware that several free software projects have millions of source lines?
    – Basile Starynkevitch
    Nov 10 at 18:38








2




2




This would be a very good fit for codereview.stackexchange.com
– kfx
Nov 10 at 18:24




This would be a very good fit for codereview.stackexchange.com
– kfx
Nov 10 at 18:24




1




1




Questions asking for recommendations on code organization and style are largely opinion-based and therefore off-topic here on SO. I suggest you look up C style guides in Google. You will find several different ones, and at least some of them should address the question of how to divide functions among files. Choose an approach that suits you.
– John Bollinger
Nov 10 at 18:28






Questions asking for recommendations on code organization and style are largely opinion-based and therefore off-topic here on SO. I suggest you look up C style guides in Google. You will find several different ones, and at least some of them should address the question of how to divide functions among files. Choose an approach that suits you.
– John Bollinger
Nov 10 at 18:28














"all the work for the different options would be done inside .h files" — that is not the way to do it. The .h files should usually contain the code interfaces, such as function prototypes and other common declarations, while the definitions and implementations should be in the corresponding .c file. The .h files will be used by the compiler during the compilation of each source file that #includes them, while the linker will put the compiled modules together.
– Weather Vane
Nov 10 at 18:30






"all the work for the different options would be done inside .h files" — that is not the way to do it. The .h files should usually contain the code interfaces, such as function prototypes and other common declarations, while the definitions and implementations should be in the corresponding .c file. The .h files will be used by the compiler during the compilation of each source file that #includes them, while the linker will put the compiled modules together.
– Weather Vane
Nov 10 at 18:30














What does "large code" mean to you? Are you aware that several free software projects have millions of source lines?
– Basile Starynkevitch
Nov 10 at 18:38




What does "large code" mean to you? Are you aware that several free software projects have millions of source lines?
– Basile Starynkevitch
Nov 10 at 18:38












1 Answer
1






active

oldest

votes

















up vote
1
down vote














Should I write everything in the same .c file? But in my opinion it would be pretty hard to "navigate" throught all the code if it was all written in this unique .c file, so I thought of doing the next.




It is a matter of opinion. Some people have programs in a single C file of several dozens thousands of source code. Other people prefer to split such a program in several dozens of smaller files, each of less than a thousand lines long.



Of course, the compilation time is depending on the size of your source file. (FWIW, the distributed sqlite has a single huge C file, an agglomeration of several other ones).



A general recommendation, however, is to keep each of your functions of reasonable size. Some people recommend having short functions of a few dozen lines. Other people could accept, in some cases (when the function is doing simple things in sequence) a function of a few hundred lines.



You are learning C. My personal recommendation is to split your program in source files of a few hundreds (or perhaps a thousand) lines each and have your functions not bigger than 50 or 60 lines each (and usually smaller). Of course, you need to choose and learn how to use your C compiler (if using GCC, be sure to read its Invoking GCC chapter). You'll need to write a header file declaring all your global types, functions and variables. You'll need to learn how to use a build automation tool, such as make or ninja.



Look at the current practices. Study the source code of some small free software written in C (a small program is anything smaller than a hundred thousand lines of source code in total). You'll find a lot of them on github, gitlab, or inside a Linux distribution.



You might want to use some existing library (such as ncurses or perhaps GTK or libSDL) in your game. And you'll find out that coding C programs is easier on Linux than on Windows.






share|improve this answer






























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    1
    down vote














    Should I write everything in the same .c file? But in my opinion it would be pretty hard to "navigate" throught all the code if it was all written in this unique .c file, so I thought of doing the next.




    It is a matter of opinion. Some people have programs in a single C file of several dozens thousands of source code. Other people prefer to split such a program in several dozens of smaller files, each of less than a thousand lines long.



    Of course, the compilation time is depending on the size of your source file. (FWIW, the distributed sqlite has a single huge C file, an agglomeration of several other ones).



    A general recommendation, however, is to keep each of your functions of reasonable size. Some people recommend having short functions of a few dozen lines. Other people could accept, in some cases (when the function is doing simple things in sequence) a function of a few hundred lines.



    You are learning C. My personal recommendation is to split your program in source files of a few hundreds (or perhaps a thousand) lines each and have your functions not bigger than 50 or 60 lines each (and usually smaller). Of course, you need to choose and learn how to use your C compiler (if using GCC, be sure to read its Invoking GCC chapter). You'll need to write a header file declaring all your global types, functions and variables. You'll need to learn how to use a build automation tool, such as make or ninja.



    Look at the current practices. Study the source code of some small free software written in C (a small program is anything smaller than a hundred thousand lines of source code in total). You'll find a lot of them on github, gitlab, or inside a Linux distribution.



    You might want to use some existing library (such as ncurses or perhaps GTK or libSDL) in your game. And you'll find out that coding C programs is easier on Linux than on Windows.






    share|improve this answer



























      up vote
      1
      down vote














      Should I write everything in the same .c file? But in my opinion it would be pretty hard to "navigate" throught all the code if it was all written in this unique .c file, so I thought of doing the next.




      It is a matter of opinion. Some people have programs in a single C file of several dozens thousands of source code. Other people prefer to split such a program in several dozens of smaller files, each of less than a thousand lines long.



      Of course, the compilation time is depending on the size of your source file. (FWIW, the distributed sqlite has a single huge C file, an agglomeration of several other ones).



      A general recommendation, however, is to keep each of your functions of reasonable size. Some people recommend having short functions of a few dozen lines. Other people could accept, in some cases (when the function is doing simple things in sequence) a function of a few hundred lines.



      You are learning C. My personal recommendation is to split your program in source files of a few hundreds (or perhaps a thousand) lines each and have your functions not bigger than 50 or 60 lines each (and usually smaller). Of course, you need to choose and learn how to use your C compiler (if using GCC, be sure to read its Invoking GCC chapter). You'll need to write a header file declaring all your global types, functions and variables. You'll need to learn how to use a build automation tool, such as make or ninja.



      Look at the current practices. Study the source code of some small free software written in C (a small program is anything smaller than a hundred thousand lines of source code in total). You'll find a lot of them on github, gitlab, or inside a Linux distribution.



      You might want to use some existing library (such as ncurses or perhaps GTK or libSDL) in your game. And you'll find out that coding C programs is easier on Linux than on Windows.






      share|improve this answer

























        up vote
        1
        down vote










        up vote
        1
        down vote










        Should I write everything in the same .c file? But in my opinion it would be pretty hard to "navigate" throught all the code if it was all written in this unique .c file, so I thought of doing the next.




        It is a matter of opinion. Some people have programs in a single C file of several dozens thousands of source code. Other people prefer to split such a program in several dozens of smaller files, each of less than a thousand lines long.



        Of course, the compilation time is depending on the size of your source file. (FWIW, the distributed sqlite has a single huge C file, an agglomeration of several other ones).



        A general recommendation, however, is to keep each of your functions of reasonable size. Some people recommend having short functions of a few dozen lines. Other people could accept, in some cases (when the function is doing simple things in sequence) a function of a few hundred lines.



        You are learning C. My personal recommendation is to split your program in source files of a few hundreds (or perhaps a thousand) lines each and have your functions not bigger than 50 or 60 lines each (and usually smaller). Of course, you need to choose and learn how to use your C compiler (if using GCC, be sure to read its Invoking GCC chapter). You'll need to write a header file declaring all your global types, functions and variables. You'll need to learn how to use a build automation tool, such as make or ninja.



        Look at the current practices. Study the source code of some small free software written in C (a small program is anything smaller than a hundred thousand lines of source code in total). You'll find a lot of them on github, gitlab, or inside a Linux distribution.



        You might want to use some existing library (such as ncurses or perhaps GTK or libSDL) in your game. And you'll find out that coding C programs is easier on Linux than on Windows.






        share|improve this answer















        Should I write everything in the same .c file? But in my opinion it would be pretty hard to "navigate" throught all the code if it was all written in this unique .c file, so I thought of doing the next.




        It is a matter of opinion. Some people have programs in a single C file of several dozens thousands of source code. Other people prefer to split such a program in several dozens of smaller files, each of less than a thousand lines long.



        Of course, the compilation time is depending on the size of your source file. (FWIW, the distributed sqlite has a single huge C file, an agglomeration of several other ones).



        A general recommendation, however, is to keep each of your functions of reasonable size. Some people recommend having short functions of a few dozen lines. Other people could accept, in some cases (when the function is doing simple things in sequence) a function of a few hundred lines.



        You are learning C. My personal recommendation is to split your program in source files of a few hundreds (or perhaps a thousand) lines each and have your functions not bigger than 50 or 60 lines each (and usually smaller). Of course, you need to choose and learn how to use your C compiler (if using GCC, be sure to read its Invoking GCC chapter). You'll need to write a header file declaring all your global types, functions and variables. You'll need to learn how to use a build automation tool, such as make or ninja.



        Look at the current practices. Study the source code of some small free software written in C (a small program is anything smaller than a hundred thousand lines of source code in total). You'll find a lot of them on github, gitlab, or inside a Linux distribution.



        You might want to use some existing library (such as ncurses or perhaps GTK or libSDL) in your game. And you'll find out that coding C programs is easier on Linux than on Windows.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Nov 10 at 18:45

























        answered Nov 10 at 18:27









        Basile Starynkevitch

        174k13162357




        174k13162357















            Popular posts from this blog

            Florida Star v. B. J. F.

            Danny Elfman

            Lugert, Oklahoma