![]() |
| Home > Programming > C-faq > |
LEARN C/C++ TODAY (A list of resources/tutorials) |
Section 1 of 2 - Prev - Next
Archive-name: C-faq/learn-c-cpp-today
Last-modified: Tuesday - August 01, 1995
Copyright (c) 1995 Vinit Carpenter
All rights reserved
Introduction:
-------------
This is a list of a few C and C++ language tutorials available to a
user. This list includes interactive tutorials, public-domain code
collections, books etc. I've developed this FAQ purely as a volunteer
effort as a service to the Internet community. Although every effort
has been made to insure that all the information here is as accurate as
possible, no guarantee is implied or intended.
I welcome comments, suggestions or criticism for all the people out
there on the net that read this. If you can help me make this list a
little better, you will be helping a lot of people out there on the
net. I am a horrible writer and an even worse speller. If you find
any errors or would like to suggest any additions please feel free to
email me at the address below:
carpenterv@vms.csd.mu.edu
What's new in this issue:
-------------------------
This section of the document will point out all the new additions,
corrections, updates etc. If there is enough interest, I will start
producing a 'diff' version.
1. Added a second web server that has the HTML and PS version of this
document.
2. Updated the information on the 'C++ on the WWW'. The address has
of the web server has changes. The author also converted Dordill's
C++ course to HTML which is online.
3. Updated the information in the MSDOS/Windows compiler section.
4. Added a new item called `Programming in C' that contains a great
collection of C and programming items.
5. Updated the information on the C++ FAQ.
6. Added a lot of information on OS/2. (Joe Dougherty)
7. Added more information about Scott Meyers new book titled "More
Effective C++".
8. Updated the oak.oakland.edu info and the directory structure has
been changed.
9. Update the information on the C Snippets packages. The author
released a new package that includes 400+ files.
I am switching to URL in place of the standard ftp and filename format.
URL stands for "Uniform Resource Locator". Think of it as a networked
extension of the standard filename concept: not only can you point to a
file in a directory, but that file and that directory can exist on any
machine on the network, can be served via any of several different
methods, and might not even be something as simple as a file: URLs can
also point to queries, documents stored deep within databases, the
results of a finger or archie command, or whatever.
File URL:
---------
file://oak.oakland.edu/simtel/msdos/c/00_index.txt
Gopher URL:
-----------
To connect to a particular gopher server, use this URL:
gopher://gopher.tc.umn.edu/
News URL:
---------
To point to a Usenet Newsgroups, the URL is simply:
news:comp.lang.c
HTTP URL:
---------
HTTP stands for HyperText Transport Protocol. HTTP servers are
commonly used for serving hypertext documents
http://vinny.csd.mu.edu
This file is posted on the 1st and the 15th of each month to the Usenet
Newsgroups COMP.LANG.C, COMP.LANG.C.MODERATED, COMP.LANG.C++,
NEWS.ANSWERS & COMP.ANSWERS. The HTML and postscript version of this
documents are available. Here's the URL:
http://vinny.csd.mu.edu
NOTE: This is my Linux PC that does get inundated with request. The
last time I checked the stats, there were about 27 connections every
minute. If you get timed out, please try again. The most recently
posted version of this document is kept on the news.answers archive on
rtfm.mit.edu. You can receive it via anonymous ftp. The URL is listed
below.
ftp://rtfm.mit.edu/pub/usenet/news.answers/C-faq/learn-c-cpp-today
If you don't have access to ftp, you can also receive this file via
e-mail by sending mail to mail-server@rtfm.mit.edu with:
send /pub/usenet/news.answers/C-faq/learn-c-cpp-today
in the body (not subject line) of your message. You can also receive
the latest version via electronic mail by e-mailing me.
To: learncpp@vinny.csd.mu.edu
Subject: send learn-c-cpp-today
Body: ignored. Can be blank.
A lot of tutorials discussed here are available via anonymous ftp. If
you don't have ftp, you can also retrieve these files via a ftp-email
gateway. To retrieve files via e-mail, send mail to
ftpmail@decwrl.dec.com with the command HELP in the body of the message
to receive a complete list of all commands. A typical message would
look something like this:
connect oak.oakland.edu
chdir /simtel/msdos/c
binary
uuencode
get xxx.zip
quit
Some of the items discussed here are platform-dependent, but most of
the items are applicable across all platforms (portable). If you have
any comments, suggestions, complaints, additions, etc, please feel free
to e-mail me at the following address:
carpenterv@vms.csd.mu.edu
If you are working on a tutorial or would like something added to this
list, please e-mail me at the address given above.
The Origins of C and C++:
-------------------------
The 'C' programming language was originally developed for and
implemented on the UNIX operating system, on a DEC PDP-11 by Dennis
Ritchie. One of the best features of C is that it is not tied to any
particular hardware or system. This makes it easy for a user to write
programs that will run without any changes on practically all machines.
C is often called a middle-level computer language as it combines the
elements of high-level languages with the functionalism of assembly
language.
C allows the manipulation of bits, bytes and addresses- the basic
elements with which the computer functions. Another good point about C
is its portability which makes it possible to adapt software written
for one type of computer to another. C was created, influenced, and
field tested by working programmers. The end result is that C gives
the programmer what the programmer wants. C offers the speed of
assembly language and the extensibility of FORTH, but few of the
restrictions of Pascal and Modula-2.
C++ is an enhanced version of the C language. C++ includes everything
that is part of C and adds support for object-oriented programming
(OOP). In addition, C++ also contains many improvements and features
that make it a "better C", independent of object oriented programming.
C++ is actually an extendible language since we can define new types in
such a way that they act just like the predefined types which are part
of the standard language.
If you just use C++ as a better C, you will not be using all of its
power. Like any quality tool, C++ must be used the way it was designed
to be used to exploit its richness. Some of the new features include
encapsulation, inline function calls, overloading operators,
inheritance and polymorphism. I am not going to explain what they mean
here as that would simply take me away from my purpose here, but you
can refer to any good C++ book or the C++ FAQ (Item 7) for more
information.
What do you need to get started?
--------------------------------
The first thing you need is a compiler. A compiler reads the entire
program and converts it into object code, which is a translation of the
program source code into a form that the computer can execute directly.
UNIX SYSTEM:
Type cc at the % prompt. If you don't get any error messages, you
probably have a C compiler . If you get an error message, try acc, gcc
or g++. If any of these don't work, contact your local system
administrator and ask him/her to get you a C/C++ compiler. GNU C/C++
compiler is available from a lot of anonymous ftp sites free of charge.
Look into it. (I've got g++ running on my Linux box without any
problems)
MSDOS/Windows/OS2/Linux (IBM COMPATIBLES):
There are a lot of good compilers available to you. Microsoft Quick C
and Borland Turbo C/C++ are both good products for beginners. You can
buy both of them for under $50.00. I use Microsoft Quick C and
MS-Visual C/C++, and I prefer Quick-C for all my DOS programs as it is
small, and yet very powerful. Most of my programming is now on my
Linux PC with gcc/g++. (If you want a great 32 bit operating system,
you should look into Linux. E-mail me for details). You can also get
the DOS port of GNU C/C++ called DJGPP from oak.oakland.edu
/simtel/vendors/djgpp.
The increased popularity of OS/2 and it's latest incarnation Warp, has
provided programmers with a wider selection of compilers and
programming tools. Still available for free is the GNU gcc package
under the name emx. Emx integrates nicely with the Extended Editor
included with OS/2. It's available on ftp.cdrom.com, hobbes.nmsu.edu,
and other sites. IBM provides the CSet++ 2.x, as well as a smaller,
less-expensive package on CD-ROM called CSet++ First Step. Other
popular compilers include Borland C++ 1.0 for OS/2, and Watcom C/C++
for OS/2 10.0, and CA-C++ for OS/2 from Computer Associates.
OpenVMS (VAX & AXP)
If you're on a VAX, type in CC to check and see if you have a C
compiler. VAX C is not the best compiler around, but it certainly does
the job. If you don't have a C compiler, look into the GNU C/C++
compiler GCC. You can get the VAX version of GCC from ftp.spc.edu via
anonymous ftp. If on a AXP system, you should have access to DEC
C/C++. Please contact your local system administrator or computer
consultant for more site specific questions.
Macintosh (Apple/PowerMac)
There are three main players in the Mac compiler market: MPW (from
Apple), THINK C / Symantec C++ (both from Symantec), or CodeWarrior
(from Metrowerks): THINK C is $225 (only a C compiler), while Symantec
C++ is $375 (includes C and C++ compilers). CodeWarrior comes in two
versions: bronze and gold, at $199/299/399, respectively. The Symantec
C++ compiler (ver 8.0) is PowerMac native. Symantec and Metrowerks
offer academic pricing on their products which are substantially less
than the commercial prices.
There have been two attempts at freeware/shareware Mac C compilers:
Sesame C and Harvest. Harvest C was an ambitious attempt at a
production-quality freeware compiler which was later abandoned by the
author.
Tutorials:
----------
1) Title: A C tutorial.
Filename: C-LESSON.ZIP
Author: Christopher Sawtell.
E-mail: chris@gerty.equinox.gen.nz
URL: ftp://garbo.uwasa.fi/pc/c-lang/c-lesson.zip
This tutorial contains a complete course for you to learn the 'C'
computer language itself. Some knowledge, of computers and the jargon
is assumed, but complicated concepts are fully explained. This
tutorial is geared towards the UNIX operating system, but everything
discussed here applies across all platforms. Most of the source code
included here compiles under all the platforms. This is a good effort
and is worth your time. Updates to this tutorials are posted to the
USENET group comp.lang.c.
2) Title: Coronado;s Generic C tutor v2.0
Filename: GENCSRC.ZIP
GENCTXT.ZIP
Author: Gordon Dodrill
E-mail: --
URL: ftp://oak.oakland.edu/simtel/msdos/c/gencsrc.zip
ftp://oak.oakland.edu/simtel/msdos/c/genctxt.zip
This is one of the most complete tutorials out there. Once again, most
of the items covered here are apply across all platforms. There are
some items discussed here that are DOS dependent. The tutorial
includes a manual that covers all the aspects of the C language. The
archive also includes a huge collection of C code that is discussed in
this tutorial. The best way to learn anything is by practical
application and this tutorial does just that. A payment of $10.00 is
requested by the author if you find the tutorial helpful, but the
payment is not required. I think you should send in the $10.00 as a
lot of time and effort went into this project.
3) Title: Thread An On-Line C Help File V 1.01
Filename: THREAD.ZIP
Author: Fran Horvath
E-mail: --
URL: ftp://oak.oakland.edu/simtel/msdos/c/thread.zip
Thread is a C language help utility. It was written by a member of the
U.S.D.A. Grad School faculty to help students learning the C language.
Thread is a variable record-length database, together with an index,
that enables the fast lookup and display of C keywords, standard
library functions, and other items. There are a few important
functions missing from this help utility, but it is still a pretty good
resource. Give it a shot.
4) Title: Collection of C-Snippets
Filename: SNIP9503.ZIP
Author: Bob Stout
E-mail: bobstout@neosoft.com
URL: ftp://oak.oakland.edu/simtel/msdos/c/snip9503.zip
This is the March 95 release of SNIPPETS which is a public
domain/freeware portable C source code & instructional text. According
to the author, the 1.6 MB archive contains over 400 files and
approximately 35% of it is PC-specific. The rest of it is completely
portable. The PC-specific functions are system-level utility code with
no multimedia or GUI code. This archive has been tested on all popular
PC compilers and gcc, SCO, and HP/UX compilers where possible. An
eclectic collection containing everything from macros to complete
cut-and-paste C code solutions & utilities, along with FAQ and
instructional files.
There is a piece of code for every single task starting with macros to
complete cut-and-paste C code solution and utilities, along with some
frequently asked questions and instructional files. This archive is a
must for every programmer. If you already have a copy of snip9404.zip,
see snpd9503.zip which includes the diff needed to upgrade to
snip9503.zip. Numerous bug fixes and enhancements were made in this
archive and 60 New files added.
This is Public Domain/freeware created by the archivist, ex Fidonet
C_Echo moderator and author, Bob Stout
5) Title: COMP.LANG.C FAQ
Filename: FAQ
Author: Steve Summit
E-mail: scs@eskimo.com
URL: ftp://rtfm.mit.edu/pub/usenet/news.answers/C-faq/faq
The FAQ (Frequently Asked Questions) is a compilation of frequently-
asked questions of the usenet group, COMP.LANG.C along with the
answers. Steve's put in a lot of work and this compilation shows it.
I found that the FAQ answered a lot of my questions. I even learned a
lot of new things browsing through the document. I think this FAQ
should should be on your computer desk right next to a good C
programming book. The FAQ is posted to COMP.LANG.c and news.answers
every month along with the diff version.
6) Title: TUTOR v3.10
Filename: CTUTORDE.ZIP
Author: Gordon Dodrill
E-mail: rowe@netcom.com
URL: ftp://oak.oakland.edu/simtel/msdos/c/ctutorde.zip
This is an educational learning tool which helps expedite the difficult
process of learning the C Programming Language. It includes a
tutorial, style guide, and interactive quiz program all integrated
together in one program. The tutorial covers both K&R version of C and
ANSI C. One of the biggest limitation of this tutorial is that it is
only available for DOS computers.
7) Title: Programming in C
Filename: CE.html
Author: Dave Marshall
E-mail: Dave.Marshall@cm.cf.ac.uk
URL: http://www.cm.cf.ac.uk/Dave/C/CE.html
This is one of the best C programming tutorials out there on the World
Wide Web (WWW). See tutorial #11 for more information on the web and
tools to access the web. This tutorial starts out with some basic
ideas and then extends to some more advanced features of C. With the
popularity of the World Wide Web, items on the web servers are going to
be very popular. This is really a great tutorial and worth checking
out. Some of the items discussed here are loops, arrays, string
manipulation, pointers, dynamic memory allocation, I/O, UNIX, C
preprocessor and some exercises. While you're out there, check out
Ceilidh, the online C tutoring system.
8) Title: ANSI C for Programmers on UNIX systems.
Filename: love_C.ps.z, love_C.shar
Author: Tim Love
E-mail: tpl@eng.cam.ac.uk
URL: ftp://svr-ftp.eng.cam.ac.uk/pub/misc/love_C.ps.Z
This is a really nice C tutorial geared towards people on UNIX system
as the title would suggest. This document introduces C by providing
sample programming tasks. One of the good things about this tutorial
is that all the source code included is ANSI compliant. This tutorial
also includes programming exercises to aid or gauge your progress as
you go through the material (answers included in back). The tutorial
covers some of the basics such as functions, pointers and string
manipulation followed by some programming examples to apply the items
you've just learned.
There is also a section on memory allocation that illustrates the use
and dangers of malloc. The section on the Make utility helped me a lot
as I really don't like make and makefiles. The section of debugging is
also extensive and has some great tips. The appendix of this tutorial
also has a section of converting from K&R to ANSI C. Really great job
and well worth the checking into.
9) Title: Coronado Enterprises C++ Tutorial (v2.20)
Filename: CPTUTS22.ZIP
CPTUTT22.ZIP
Author: Gordon Dodrill
E-mail: --
Phone: (505) 293-5464
URL: ftp://oak.oakland.edu/simtel/msdos/cpluspls/cptuts22.zip
ftp://oak.oakland.edu/simtel/msdos/cpluspls/cptutt22.zip
Just like its C counterpart, this is really one of the best and most
complete C++ tutorial out there. This tutorial is not for the person
just starting out in programming as C++ is not an ideal first language.
But if you are familiar with C or any other programming language, this
tutorial will get you started with C++. All the source discussed in
this tutorial is included and learning is really accelerated as you can
compile the code while you are reading about it. This tutorial will
assume a thorough knowledge of the C programming language and little
time will be spent on the fundamental aspects of the language. Special
attention has be devoted to explaining the newer additions as provided
by the ANSI-C standard, as many programmers are used to the old K&R
school of thought.
10) Title: COMP.LANG.C++ FAQ
Filename: FAQ
Author: Marshall P. Cline, Ph.D.
E-mail: cline@parashift.com
URL: ftp://sun.soe.clarkson.edu/pub/C++/FAQ
Wow!!! That's really all I can say about this collection of questions
and answers for C++ and Object Oriented Programming (OOP). This is the
complete FAQ for the Newsgroups COMP.LANG.C++ compiled by Dr. Marshall
Cline. I have been programming in C++ for a few months and am far away
from being an 'expert', and this compilation helped me enormously.
Once again, this is not for the person that is starting to learn C++,
but if you've already taken the first step, this FAQ is for you. If
you don't have ftp, you can also receive it via e-mail by sending a
message to archive-server@sun.soe.clarkson.edu with the subject `send
C++/FAQ'.
The C++ FAQ has been released as a book called `C++ FAQS -- Frequently
Asked Questions' by Addison-Wesley. The book is a complete re-write
and contains about 5 times the material that is indexed and cross
referenced. Check out the book section for a review of the book. The
FAQ will still be posted in the Newsgroup comp.lang.c++, but if you
find the FAQ helpful, you should really buy the book.
11) Title: C++ on the World Wide Web
Filename: C++.html
Author: Marcus Speh
E-mail: marcus@x4u.desy.de
URL: http://uu-gna.mit.edu:8001/uu-gna/text/cc/index.html
This is one of the award wining courses at the 1st WWW conference
(congratulations Marcus. great job). One of the newest addition here
is the Dorill C++ course converted to HTML. There is a wealth of
information on C++ available on the World Wide Web (WWW). The World
Wide Web (WWW) is a wide area hypermedia information retrieval system
that gives the user universal access to a large universe of documents.
One of the most popular to the Web is called Mosaic developed by NCSA.
Mosaic is an Internet based global hypermedia browser that allows you
to discover, retrieve and display documents and data from all over the
world. Global hypermedia means that information located around the
world is interconnected in an environment that allows you to travel
through the information by clicking on hyperlinks-- terms, icons or
images in documents that point to other related documents. Here's the
URL (Uniform Resource Locator) for the C++ Virtual Course.
http://uu-gna.mit.edu:8001/uu-gna/text/cc/index.html
You might also want to connect to info.desy.de and browse. I found a
lot of great items such as documents and sources on C++ and Object
oriented programming, Internet groups for discussions and questions on
C++, discussion of Object-Oriented Literate Programming and many other
postscript papers.
http://info.desy.de/general/users.html
12) Title: Programming in C
Filename: index.html
Author: Jutta Degener
E-mail: jutta@cs.tu-berlin.de
URL: http://www.lysator.liu.se/c/index.html
This is really one of the best collection of C related items out there
on the World Wide Web maintained by the Lysator computer society, an
association of computer science students at Linkoping University,
Sweden. Here's a list of some of the items. There is a great section
on ANSI C, reviews of 3 books and a list of errata from 2 books. There
is a very interesting paper called `A development of the C language' by
Dennis Ritchie that traces the origin of the language we know and love
today.
There is a HTML version of Kernighan's historical "Programming in C: A
Tutorial" from 1974 (that describes an early version of C, four years
before K&R. WARNING: DO NOT USE THIS DOCUMENT AS A TUTORIAL); also
included are the "Ten Commandments for C Programmers (Annotated
Version)" and a HTML version of Steve Summit's comp.lang.c FAQ.
13) Title: C++ Annotations (ver 3.3.3)
Filename: cplusplus.html
Author: Frank Brokken & Karel Kubat
E-mail: frank@icce.rug.nl, karel@icce.rug.nl
URL: http://www.icce.rug.nl/docs/cplusplus/cplusplus.html
This web based tutorial is intended for knowledgeable users of C who
would like to make the transition to C++. This document presents an
introduction to programming in C++. It is a guide for programming
courses taught at State University of Groningen This document is not a
complete C/C++ handbook, but rather serves as an great addition to
other documentation sources. The reader should take note of the fact
that an extensive knowledge of the C programming language is assumed
and required.
This document continues where topics of the C programming language end,
such as pointers, memory allocation and compound types which makes it a
very good programming guide. I highly recommend this tutorial to any
individual who is really interested in becoming extremely knowledgeable
on C++ and a proficient programmer. Here is a listing of the chapters.
1. Introduction to C++
2. A first impression of C++
3. Classes
4. Classes and memory allocation
5. Static data and functions
6. Inheritance
7. Polymorphism, late binding and virtuality
8. Concrete examples of C++
9. Templates
14) Title: C programming reference 1.1
Filename: cref.html
Author: Martin Leslie
E-mail: leslim@gatwick.Geco-Prakla.slb.com
URL: http://vinny.csd.mu.edu/martin/DOC/C/cref.html
This is not an ordinary C language tutorial, rather it is a great
reference guide for the C programming language. As the author states,
"I have found several C tutorials and lessons on the net but no
reference documents. This is not an attempt to replace the many high
quality books available, but does try to provide an on-line reference
that can give answers to questions quickly and without hassle".
Martin has put a lot of work in this and the archive is definitely
worth checking out. One of the nicest item is the `Function Quick
Reference'. It is a summary of a lot of useful functions including
ANSI standard functions, Non Standard functions from CONIO.H, non
Standard UNIX functions, user written functions and variable length
argument lists including the library, prototype, syntax and example
programs. Here's a sample.
FGETC/GETC FUNCTION 08-MAY-94
fgetc and getc both read a character from a file (input stream) and
have the same syntax. They are for all intents and purposes the same!
Library: stdio.h
Prototype: int fgetc(FILE *stream);
Syntax: ch = fgetc(file_pointer);
ch = getc(file_pointer);
[IMAGE] example program.
See also:
getchar, fgets, gets
getch, getche (non standard)
And if you're really nice to him, he will give a really cool program to
randomly change the root window color on X Displays. :) The program
randomly selects a target color and then performs a basic interpolation
to move from the current color to the target color. When the target
has been reached, a new target is selected and the process is repeated.
Books currently being reviewed:
------------------------------
If you have any thoughts or comments, please feel free to e-mail me at
carpenterv@vms.csd.mu.edu
1. C++ A Pratical Introduction by Brian Hahn (ISBN 1-85554-325-7)
2. C++ For Dummies by Stephen R. Davis (ISBN 1-56884-163-9)
3. The Craft of C: Take Charge Programming by Herbert Schildt (ISBN
0-07-881882-6)
4. C By Discovery by L.S.Foster (ISBN 1-881991-29-6)
5. Teach yourself C++ programming in 21 days by Jesse Liberty (ISBN
0-672-39541-0)
Books:
------
[1] "The C Programming Language" (2nd ed.)
Brian W. Kernighan & Dennis Ritchie
Prentice Hall ISBN: 0-13-110362-8
This is the second edition of the original Kernighan & Ritchie (K&R)
text. This book is commonly referred to as the New Testament as it
includes the modifications incorporated by the ANSI standard, while
retaining the nature of the 1st edition. This book assumes that the
reader has some basic programming knowledge. So if you're just
starting to program and C is the first language, this might not be the
ideal book. This is one of THE BEST books on C and a must have,
especially if you're starting your own little programming library.
A good book to go along with K&R's "The C Programming Language" is "The
C Answer Book" by Clovis L. Tondo and Scott E. Gimpel, Prentice Hall,
subtitled 'Solutions to the Exercises in The C Programming Language,
second edition by Brian W. Kernighan & Dennis M. Ritchie', ISBN
0-13-109653-2
[2] "Programming in ANSI C" (Revised edition: 1994)
Kochan, Steven
SAMS Publishing ISBN 0-672-30339-6
This book by Steve Kochan is absolutely the best book for anyone
starting out programming in C. This is an excellent introductory text
with frequent examples and good text. This book makes no assumptions
about the particular computer system or operating system on which the C
language is implemented. This books is written for novices and
experienced programmers alike. I love this book as the comprehensive
'teach by examples' book can help you master the unique features of the
C language. There is complete coverage of program looping, decision
making, arrays, strings, pointers and bit operations and helpful
end-of-chapter exercises. This is the book I used to learn C and it
really is a great book. The K&R book is really great as a reference,
but not as the first book.
[3] "Expert C Programming: Deep C Secrets"
Peter Van Der Linden
SunSoft Press. (ISBN 0-13-177429-8)
Peter has written one of the greatest books to hit the computer book
stands in a long time! This is not your typical C book, but is rather
a fun book to read. As I told Peter, most C programming texts are
really boring as all they do is describe the functions, give a abstract
example and then move onto something different. This book is chock
full of real world C stories and folklore, including a story about the
C bug that brought down the AT&T network. I found the tongue-in-cheek
attitude and real world examples/stories very, very interesting. Run,
don't walk, down to your local store and buy this book. I really
really loved this book, and I read most of it in one sitting. There is
also a great introduction to C++ for C programmers that will get you
started with C++ and Object-Oriented programming. This book is not for
beginners, but is a great second book on C.
Expert C Programming is also ideal for those C programmers who want to
move to C++. According to the author, the book puts the "fun" back in
"functions" :)
[4] "C: The Complete Reference" (2nd ed.)
Section 1 of 2 - Prev - Next
| Back to category C-faq - Use Smart Search |
| Home - Smart Search - About the project - Feedback |
© allanswers.org | Terms of use