My Projects 

I can suggest many practice projects. The following are some of the projects which I have done. You could try them. If you have any doubts you could ask me the solutions. I would be glad to help you.. 

C programming

1. Password Cracker
 Take an array of length 65. Fill it with a,b,c....z, A, B, C.... Z, 0, 1, 2, 3....9, _, *, - .  Ask your friend to enter a password of length 4 characters using any combination of the above 65 characters. Now try to run a loop through the array to try all possible combinations of 4 characters to match the password. Once you get the exact match the password is cracked. 
Extend the above program to take any number of characters between 4 and 13 both inclusive.

2. In an online banking system, active customer accounts are maintained in a file using account number as the key. To speed up access, an index file is also maintained that stores for each account number in ascending order the location of the corresponding record in the accounts file. Write a program for the following banking transactions : opening a new account, balance enquiry, deposit to an account, withdrawal from an account and closing of an account. Your program should first do a binary search in the index file to fetch the record for the given record from the accounts file. 

3. Write a function which creates a family tree. Each person is represented by a structure that contains the person's name and pointers to parents, spouse and children. Use this tree in a program which determines whether two persons are cousins.

4. Write an interactive co-ordinate geometry program that enables the user to write simple commands to draw figures of various shapes to which user may give names. For example the user may type
p = point 0 0     q = point  1 2     l = line p q    c = circle q  5  etc.

5. Write a program to plot the curve y = x2 for -1 < x < 1

6. Write a program that allows two users to play a TIC TAC TOE game. The program should ask the moves alternately from player X and O. The game displays its positions as

1 2 3
4 5 6
7 8 9

The players enter their moves by providing the position number. After each move the program displays a changed board. A Sample board configuration is as follows

X X O
O X 6
7 X O

Extend the above program so that, in case of a single player, the computer could play as the second player.

7. Write a program which reads a positive integer N and determines the smallest integer n such that n>N and x2+y3+z4=n, where x>y>z and x, y, z are positive integers.

8. Write a simple TEXT FORMATTER to format raw text into pages of specified size,  say 55 lines of 60 characters each. The text in each line should be adjusted both on left and right margins by including the maximum possible words in a line and adding extra blanks between the words. Two front slashes at the start of the sentence in a raw text mark the beginning of a new paragraph. The formatter should also print the title of the text and the page number at the top of each page.

C/Assembly

Write a simple TELLER system, which stores balance amount and date of transaction pertaining to bank accounts. Assume that a 8051 microcontroller is being used in the system and it could hold as many as 40000 entries at a time. Since input would be through a special 54 key pad and output on an LCD display, do not use scanf/printf statements. Use DOS/BIOS routines wherever applicable for input/output.

C++ programming

1. Write a program that concatenates two linked list objects of characters. The program should include function concatenate that takes references to both list objects as arguments and concatenates the second list to the first list.

2. Develop  a C++ program that will determine if a department store customer has exceeded the credit limit on a charge account. For each customer the following facts are available. 

a. Account Number (Integer)

b. Balance at the beginning of the month
c. Total of all credits applied to the customer this month.
d. Total of all items charged to the customer this month
e. Allowed credit limit
The program should input each of these facts, calculate the new balance (= beginning balance + charges - credits) and determine if the new balance exceeds the customer's credit limit. For those customers whose credit limit is exceeded, the program should display the customer's account number, credit limit, new balance and the message " Credit Limit Exceeded"
3. Create a class MATRIX  of size m x n. Define all matrix operations for MATRIX type objects.
4. Write a string class having all possible operations and overloaded operator functions.
Visual Basic 6.0
1. Try connecting an Oracle database (EMP table) to a VB form using a DAO control. Try the same using an ADO control. Try doing the same by defining your own recordset and connection string.
2. Define your own ActiveX control to play video in all popular formats viz. QuickTime, MPEG, RealPlayer, ASF, DAT, FLA, SWF etc.
3. Try interfacing VB with Outlook Express.
4. Create your own Word processing and Accounting software with your own additional useful features not available in MS Word 2000 and MS Excel 2000.
Java Programming
1. Create a software similar to paintbrush.
2. Make a Scientific calculator.
3. Implement Registry Access functions as Native Methods.
4. Create a Tree View of all the files and directories available on your system.
5. Implement a CORBA server.