-->

Tuesday, February 25, 2014

C Program to implement doubly linked list for Data Structrue in 'C'

C Program to implement doubly linked list:

#include<stdio.h>
#include<alloc.h>
#include<stdlib.h>
#include<conio.h>
struct dlnode
{
Int info;
struct dlnode *link;
struct dlnode *prev;
}; typedef struct dlnode dln;
main( )
{
dln *root, *temp, *new, *ptr; char choice=’y’;
root=NULL;
while(choice= =’y’)
{
new=(dln*)malloc(sizeof(dln);
if(new= =NULL)
{
printf(“Memory allocation error…”); exit(0);
}
new->link=NULL; new->prev=NULL;
printf(“\nEnter node information :”);
scanf(“%d”,&new->info);
if(root= =NULL)
{
root=new;    temp=root;
}
else
{
new->prev=temp;   temp->link=new;
temp=new;
}
printf(“Do you want to continue…(y/n)”);
choice=getche();
}
printf(“\nDoubly linked list is:\n\n”);
/* Doubly linked list normal singly linked list if it is traversed using link field of the node*/
ptr=root;
while(ptr=NULL)
{
printf(“%d”,ptr->info);
ptr=ptr->link;
}
printf(“\n\nDoubly linked list(reverse order):\n\n”);
/*The pointer temp is pointing to the last node. So, we can use it traverse in reverse order*/
while(temp!=NULL)
{
printf(“%d”,temp->info);
temp=temp->prev;
}
getch();
}

Calculate duration between two dates in c# programming

Introduction

Design simple age calculator , calculate remaining days from two dates. Suppose your Date of Birth is 19/mar/1987 and you want to calculate total days on till date. Here we take an simple demonstration of this type of application.

Design

Step-1 : Add two DateTimerPicker and one button control on windows form.
Step-2 : Take Two Datetime class instance, first for starting date and second for ending date.
Step-3 :  Calulate difference between two dates using Timespan structure.
Step-4 :  Using TotalDays property of TimeSpan structure you can calculate days.

Calculate duration between two dates in c# programming

Code

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace datecalulator
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            DateTime dtstart = dateTimePicker1.Value;
            DateTime enddate = dateTimePicker2.Value;
            TimeSpan totaldays = enddate - dtstart;
            int calculate =Convert .ToInt32 (totaldays.TotalDays);
            MessageBox.Show(calculate.ToString()+" Days");

        }
    }
}

 Code generate the following output

Calculate duration between two dates in c# programming

Monday, February 24, 2014

Understanding creation of doubly linked list for Data Structrue in 'C'

Understanding creation of doubly linked list:
                                                                                                  
One node with information ‘6’ is added to the doubly linked list. Then the list become,
                                                                                                                                                                                                                                                         



Another node with information ‘16’ is added to the circular linked list. Then the list become,


Similarly when two more nodes are added with information ‘1’ and ’61’, the list become,



Traversing the Doubly Linked List

       Set a pointer variable PTR with ROOT. Process PTR-->INFO and update PTR by LINK of PTR i.e. PTR<--PTR-->LINK. Repeat till the PTR is NULL. The algorithm is as follows:

      TRAVERSDLL (ROOT)
      PTR<--ROOT
      Repeat While PTR< >NULL
      Apply process to PTR-->INFO
      PTR<--PTR-->LINK
      [End of while]
      Exit

Algorithm to print the contents of a linked list:

      TRAVERSEDLL (ROOT)
      PTR<--ROOT
      Repeat While PTR< >NULL
      Write: PTR-->INFO;  PTR<--PTR-->LINK
      [End of while]
      Exit.

        From the just created doubly list in the example shown it is possible to traverse the doubly linked list in reverse order starting from the last node. Address of the last node is available in external pointer TEMP. Set a pointer variable PTR with TEMP. Process PTR-->INFO and update PTR by storing the address of previous node given by the pointer part PREV of PTR i.e. PTR<--PTR-->PREV. Repeat till the PTR is NULL.
The algorithm is as follows:

       TRAVERSEDLLRO
       PTR<--TEMP
       Repeat While PTR< >NULL
       Apply process to PTR-->INFO; PTR<--PTR-->PREV
       [End of while]
       Exit.
  Rests of the operations are similar to singly linked list and are left out as exercises.

How to Create User-Defined Database in SQL Programming

In addition to system databases, the SQL Server also contains user-defined databases where the users store and manages their information. When the users create a database, it is stored as a set of files on the hard disk of the computer.

To create a user-defined database, you can use the CREATE DATABASE statement. The syntax of the CREATE DATABASE statement is:

CREATE DATABASE database_name
[ON [ PRIMARY ] [ < filespec >]]
[LOG ON [ < filespec >}}
< filespec > : : =
( [ NAME = logical_file_name , ]
FILENAME = ‘os_file_name’
[ , SIZE = size]
[ , MAXSIZE = { max_size | UNLIMITED } ]
[ , FILEGROWTH = growth_increment ] ) [ ,…n ]

Where
  • Database_name is the name of the new database.
  • ON specifies the disk files used to store the data portion of the database (data files).
  • PRIMARY specifies the associated <filespec> list that defines file in the primary filegroup.
  • LOG ON specifies the disk files used to store the log files.
  • NAME=logical_file_name specifies the logical name for the file.
  • FILENAME=os_file_name specifies the operating-system file name for the file.
  • SIZE=size specifies the initial size of the file defined in the <filespec> list.
  • MAXSIZE=max_size specifies the maximum size to which the file defined in the <filespec> list can grow.
  • FILEGROWTH=growth_increment specifies the growth increment of the file defined in the <filespec> list. The FILEGROWTH setting for a file cannot exceed the MAXSIZE setting.

To create a database, you must be a member of the dbcreator server role. In addition, you must have the CREATE DATABASE, CREATE ANY DATABASE, or ALTER ANY DATABASE permissions.

The following SQL query creates a database named Personnel to store the data related to all the employees:
CREATE DATABASE Personnel
The preceding statement creates a database named Personnel in the C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data folder. The data file name of the database is Personnel.mdf and the log file name is Personnel_Log.ldf.
You can also create a database in the Object Explorer window by right-clicking the Databases folder and selecting the New Database option from the shortcut menu. When the database is created, the user, who creates the database, automatically becomes the owner of the database. The owner of the database is called dbo.
After a database has been created, you may also need to see the details of the database. For this purpose, you can use he sp_helpdb command. The synbtax of the sp_helpdb command is:
sp_helpdb [database name]

Store information in database
Rename or Drop Database

How to Identify the Database Files in SQL Server

In SQL Server programming context, each database is stored as a set of files on the hard disk of the computer. These files may be of following types including

Primary data file

The primary data file contains the database objects. The primary file can be used for the system tables and objects, and the secondary file can be used to store user data and objects. The primary data file has (.mdf) extension.

Secondary data file

The secondary data file also stores the database objects. Very large databases may need multiple secondary data files spread across multiple disks. Databases need not have secondary data files, if the primary data file is large enough to hold all the data in the database. The secondary data file has (.ndf) extension.

Transaction log file

The transaction log file records all modifications that have occurred in the database and the transactions that caused those modifications. At least one transaction log file holds all the transaction’s information and can be used to recover a database. At least one transaction log file must exist for a database. There can be more than one transaction log file. The minimum size of a transaction log file is 512K. The size of the transaction log file should be 25 – 40 percent of the size of the database. The log file have an (.Idf) extension.
A database must consist of a primary data file and one transaction log file.
The database files are stored in filegroups. A filegroup is a collection of files. A database comprises a primary filegroup and any user-defined filegroup. A primary filegroup contains the primary data file and any other files that are not put into any other filegroup. The primary filegroup also contains the system database. When objects are created in the database without specifying the filegroup, they are assigned to the default filegroup. Only one filegroup in a database can be the default filegroup.

A user-defined filegroup is a filegroup that is created by users. You can create filegroups to distribute the data amongst more than one filegroups to improve the performance of database.

Sunday, February 23, 2014

Print one month later date in ASP.NET

You can use DateTime class for add months in current object of DateTime. DateTime class provides different types of methods to add this types of query like AddDays(), AddMonths() etc. This example cover AddMonth. Now take an simple example for that.

Complete Code 

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default4.aspx.cs" Inherits="Default4" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
        <asp:Label ID="Label1" runat="server"></asp:Label>
    
    </div>
    </form>
</body>
</html>
//code file

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default4 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        DateTime d1 = new DateTime();
        Label1.Text += d1.ToLongDateString() + "<br/>";
        DateTime onemonthlater= d1.AddMonths(1);
        Label1.Text += onemonthlater.ToString()+ "<br/>";

        TimeSpan difference = onemonthlater - d1;
        Label1.Text += "difference in days" + difference.Days;

    }
}

Output
Print one month later date in ASP.NET


Doubly Linked List for Data Structure in C Programming

Doubly Linked List:

 A little more variation to linear linked list gives another type of linked list called as doubly linked list. You might have observed in the linear list that every node contains two parts. One part contains the information and the other part contains the address of the next node in the list. If another pointer part is added to the node, to contain the address of previous node then the linear linked list becomes doubly linked list. In such lists you can traverse only in one direction. In the middle of traverse if you want to come back to the previous node it is not possible. The movement is one-way. It is possible to move in both the directions in doubly linked list. You can traverse in both the directions. This application of variation is very simple. The node in doubly linked list looks as follows:


If the node is the first node of the list been previous pointer contains a NULL address because there are no previous nodes. If the node is the last node then next pointer contains a NULL address because there are no next nodes. A simple representation of doubly linked list is as follows:


In the above doubly linked list, ROOT, the external pointer points to the first node with information 12. The first node’s previous pointer points to NULL. The first node’s next pointer points to the second node with information 15. The second node’s previous pointer points to the previous node containing information 15. The last node’s next pointer points to NULL address. Creation of doubly linked list is almost similar to singly linked list. Only addition is assigning the previous pointer of every node except the first node, with the address of the previous node. The operations like traversing, searching, insertion and deletion are almost similar to singly linked list. While traversing the operation can be reversed from any point in the doubly linked list. While insertion and deletion the operations are similar to singly linked list except the change in previous as well as next pointer values.

Algorithm to create a doubly linked list:

CREATEDLL
ROOT<--NULL; CHOICE<--‘Y’
Repeat While CHOICE=’Y’
 If AVAIL = NULL Then:
  Write: ’Memory Allocation Error’ 
  Exit.
Else 
NEW<--AVAIL;   NEW-->LINK<--NULL
NEW-->PREV<--NULL;   NEW-->INFO<--Information
[Information is the data to be stored in linked list]
AVAIL<--AVAIL-->LINK
[End of it]
If ROOT=NULL Then:
   ROOT<--NEW;   TEMP<--NEW
Else 
TEMP-->LINK<--NEW;     NEW-->PREV<--TEMP
TEMP<--NEW
[End of If]
Write: ‘Do you want to add another node?(Y/N)’
 Read: CHOICE
[End of while]
© Copyright 2013 Computer Programming | All Right Reserved