-->

program to find sum of two distances measured in feet and inch using function and typedef.

using codeblocks
------------------------------------------------------------
//using typedef and function to print sum of two feet and inches
#include <stdio.h>
 typedef struct               //creating a new tag called feet_inch and supplying struct property to it.
{
    int feet1,feet2;          //members
    int inch1,inch2;
    int total_feet,total_inch;
}feet_inch;                  //works like tag; but is a variable
void sum( feet_inch var, feet_inch var1);   //function prototype.
int main()
{
    feet_inch var, var1;       // creating two variables
    printf("enter first feet and inch\n");
    scanf("%d%d",&var.feet1,&var.inch1);//gets input
    printf("enter second feet and inch\n");
    scanf("%d%d",&var1.feet2,&var1.inch2);//gets input
    sum(var,var1);                         //calling with parameter var and var1
    return 0;
}
void sum( feet_inch var,feet_inch var1)
{
 feet_inch total;                          // creating third variable to store total
total.total_feet=var.feet1+var1.feet2+(var.inch1+var1.inch2)/12;//finds total feet
total.total_inch=(var.inch1+var1.inch2)%12;                //finds total inch
printf("total feet=%d and total inch=%d\n",total.total_feet,total.total_inch);//prints output
}

//note: Let's not declare function at the top like we do in functions. If it is then it would not work.
-----------------------------------------------------------------------------------------------------
using turboc++
------------------------------------------------------------------------------------------
//using typedef and function to print sum of two feet and inches
#include <stdio.h>
#include<conio.h>
 typedef struct               //creating a new tag called feet_inch and supplying struct property to it.
{
    int feet1,feet2;          //members
    int inch1,inch2;
    int total_feet,total_inch;
}feet_inch;                  //works like tag; but is a variable
void sum( feet_inch var, feet_inch var1);   //function prototype.
int main()
{
    feet_inch var, var1;       // creating two variables
    printf("enter first feet and inch\n");
    scanf("%d%d",&var.feet1,&var.inch1);//gets input
    printf("enter second feet and inch\n");
    scanf("%d%d",&var1.feet2,&var1.inch2);//gets input
    sum(var,var1);                         //calling with parameter var and var1
   getch();
    return 0;
}
void sum( feet_inch var,feet_inch var1)
{
 feet_inch total;                          // creating third variable to store total
total.total_feet=var.feet1+var1.feet2+(var.inch1+var1.inch2)/12;//finds total feet
total.total_inch=(var.inch1+var1.inch2)%12;                //finds total inch
printf("total feet=%d and total inch=%d\n",total.total_feet,total.total_inch);//prints output
}

//note: Let's not declare function at the top like we do in functions. If it is then it would not work.


program to understand typedef

using codeblocks
------------------------------------------------------------------------------------------
//understanding typedef
#include <stdio.h>
int main()
{
    typedef int second_type;// creates another data type named second_type. It gets all property of 'int'
    second_type a,b,c;      // second_type is working as integer data type.
    printf("enter a,b,and c\n");
    scanf("%d%d%d",&a,&b,&c);  //gets input
    printf("a=%d,b=%d and c=%d",a,b,c);//prints output
    return 0;
}

------------------------------------------------------------------------------------------
using turboc++
------------------------------------------------------------------------------------------

//understanding typedef
#include <stdio.h>
#include<conio.h>
int main()
{
    typedef int second_type;// creates another data type named second_type. It gets all property of 'int'
    second_type a,b,c;      // second_type is working as integer data type.
    printf("enter a,b,and c\n");
    scanf("%d%d%d",&a,&b,&c);  //gets input
    printf("a=%d,b=%d and c=%d",a,b,c);//prints output
   getch(); 
  return 0;
}

Program to understand typedef for struct.

using codeblocks
----------------------------------------------------------------------------------------
//understanding typedef with struct
#include <stdio.h>
typedef struct                   // typedef for struct to assign its property to access
{
    char name[40];              //members
    char add[40];
    int roll;
}access;                         // it is being tag (struct). It has got all property of struct
    access first;                 //variable of tag access. we can also put inside main function.
int main()
{
    printf("enter name\n");
    gets(first.name);            //gets input
    printf("enter add\n");
    gets(first.add);
    printf("enter roll\n");
    scanf("%d",&first.roll);
    printf("name=%s , address=%s and roll=%d\n",first.name,first.add,first.roll);//displays output.
    return 0;
}
-------------------------------------------------------------------------------------
Or
--------------------------------------------------------------------------------
//understanding typedef with struct
#include <stdio.h>
typedef struct   tag                // typedef for struct to assign its property to access via 'tag'
{
    char name[40];              //members
    char add[40];
    int roll;
}access;                         // it is being tag (struct). It has got all property of struct
    access first;                 //variable of tag access. we can also put inside main function.
int main()
{
    printf("enter name\n");
    gets(first.name);            //gets input
    printf("enter add\n");
    gets(first.add);
    printf("enter roll\n");
    scanf("%d",&first.roll);
    printf("name=%s , address=%s and roll=%d\n",first.name,first.add,first.roll);//displays output.
    return 0;
}

//note: putting a tag doesnot make any different. We have to use same method as given in above //example.
//Mostly, the tag is unimportant.

---------------------------------------------------------------------------------------------------
using turboC++
-------------------------------------------------------------------------

//understanding typedef with struct
#include <stdio.h>
#include<conio.h>
typedef struct                   // typedef for struct to assign its property to access
{
    char name[40];              //members
    char add[40];
    int roll;
}access;                         // it is being tag (struct). It has got all property of struct
    access first;                 //variable of tag access. we can also put inside main function.
int main()
{
    printf("enter name\n");
    gets(first.name);            //gets input
    printf("enter add\n");
    gets(first.add);
    printf("enter roll\n");
    scanf("%d",&first.roll);
    printf("name=%s , address=%s and roll=%d\n",first.name,first.add,first.roll);//displays output.
    getch();
    return 0;
}

program to copy a string to another using pointer passed to function

using codeblocks
--------------------------------------------------------------------------------------------------------------
//program to copy a string to another using pointer passed to function// program title
#include <stdio.h>                   //header file
#include <string.h>                   // header file to handle string
void string_length(char [],char[]);    // function prototype with character array
int main()
{
    char string[50],string1[50];            // character string
    puts("enter string1 and string2\n");
    gets(string);              //gets string
    gets(string1);
    string_length(string,string1);     //calling of function with string as parameter
                               // here, string is passed  as reference to formal parameter
    return 0;
}
void string_length(char *strings,char *strings1)// this accepts string with address from main function
{
     puts(strings);
     puts(strings1);
     printf("after copying\n");
     strcpy(strings,strings1);        // copies string
     puts(strings);          //displays string
}
//note: we can also use char string[] with void string_length in body line. It works.
//once you try.It runs.
//but we can not pass string as pointer in prototype.
// i.e. void string_length(char *[]);
--------------------------------------------------------------------------------------------
using turboc++
------------------------------------------------------------------------------------------
//program to copy a string to another using pointer passed to function// program title
#include <stdio.h>                   //header file
#include <string.h>                   // header file to handle string
#include<conio.h>
void string_length(char [],char[]);    // function prototype with character array
int main()
{
    char string[50],string1[50];            // character string
    puts("enter string1 and string2\n");
    gets(string);              //gets string
    gets(string1);
    string_length(string,string1);     //calling of function with string as parameter
                               // here, string is passed  as reference to formal parameter
getch();    
return 0;
}
void string_length(char *strings,char *strings1)// this accepts string with address from main function
{
     puts(strings);
     puts(strings1);
     printf("after copying\n");
     strcpy(strings,strings1);        // copies string
     puts(strings);          //displays string
}
//note: we can also use char string[] with void string_length in body line. It works.
//once you try.It runs.
//but we can not pass string as pointer in prototype.
// i.e. void string_length(char *[]);

program to reverse a string using pointer. Pass pointer to function.

using codeblocks
-----------------------------------------------------------------------------------------------------
//program to find reverse of string using pointer passed to function// program title
#include <stdio.h>                   //header file
#include <string.h>                   // header file to handle string
void string_length(char []);    // function prototype with character array
int main()
{
    char string[50];            // character string
    puts("enter string\n");
    gets(string);              //gets string
    string_length(string);     //calling of function with string as parameter
                               // here, string is passed  as reference to formal parameter
    return 0;
}
void string_length(char *strings)// this accepts string with address
{
     strrev(strings);        // supplies length
     puts(strings);          //displays string
}
//note: we can also use char string[] with void string_length in body line. It works.
//once you try.It runs.
//but we can not pass string as pointer in prototype.
// i.e. void string_length(char *[]);
---------------------------------------------------------------------------------------

using turboC++
------------------------------------------------------------------------------------------------
//program to find reverse of string using pointer passed to function// program title
#include <stdio.h>                   //header file
#include <string.h>                   // header file to handle string
#include<conio.h>
void string_length(char []);    // function prototype with character array
int main()
{
    char string[50];            // character string
    puts("enter string\n");
    gets(string);              //gets string
    string_length(string);     //calling of function with string as parameter
                               // here, string is passed  as reference to formal parameter
   getch();
    return 0;
}
void string_length(char *strings)// this accepts string with address
{
     strrev(strings);        // supplies length
     puts(strings);          //displays string
}
//note: we can also use char string[] with void string_length in body line. It works.
//once you try.It runs.
//but we can not pass string as pointer in prototype.
// i.e. void string_length(char *[]);

program to get length of a string using pointer

using codeblocks
----------------------------------------------------------------------------------------------------------
//program to find length of string using pointer passed to function// program title
#include <stdio.h>                   //header file
#include <string.h>                   // header file to handle string
void string_length(char []);    // function prototype with character array.compiler supports this. You                                                      //can also write char string[50].
int main()
{
    char string[50];            // character string
    puts("enter string\n");
    gets(string);              //gets string
    string_length(string);     //calling of function with string as parameter
                               // here, string is passed  as reference to formal parameter
    return 0;
}
void string_length(char *strings)// this accepts string with address
{
   int length;
   length=strlen(strings);        // supplies length
   printf("total length=%d\n",length);//displays length
}

//note: we can also use char string[] with void string_length in body line. It works.
//once you try.It runs.
//but we can not pass string as pointer in prototype.
// i.e. void string_length(char *[]);

------------------------------------------------------------------------------------------------------
using turbo c++
-----------------------------------------------------------------------------------------------------
//program to find length of string using pointer passed to function// program title
#include <stdio.h>                   //header file
#include <string.h>                   // header file to handle string
#include<conio.h>
void string_length(char []);     // function prototype with character array.compiler supports this. You                                                      //can also write char string[50].

int main()
{
    char string[50];            // character string
    puts("enter string\n");
    gets(string);              //gets string
    string_length(string);     //calling of function with string as parameter
                               // here, string is passed  as reference to formal parameter
   getch();
    return 0;
}
void string_length(char *strings)// this accepts string with address
{
   int length;
   length=strlen(strings);        // supplies length
   printf("total length=%d\n",length);//displays length
}

//note: we can also use char string[] with void string_length in body line. It works.
//once you try.It runs.
//but we can not pass string as pointer in prototype.
// i.e. void string_length(char *[]);


Program to understand pointer passed to function.

using codeblocks
----------------------------------------------------------------------------------------------
//program to pick the greatest number using pointer passed to function
#include <stdio.h>            //header file
void max_number(int a[],int *);
int main()
{
    int a[100];                 //array declaration
    int i;
    int total;                   //variables declaration
    printf("enter value of total\n");
    scanf("%d",&total);              //input of total value of array
    printf("enter elements of array\n");
    for(i=0;i<total;i++)                   //execution of loop
    {
        printf("enter value for location=%d\t",i);
        scanf("%d",a+i);                  //input of element using array. here array acts as pointer.
                                          //It gets input using address starting from location 0.
    }
    max_number(a,&total);                //calling the function with passing of array and pointer
    return 0;
}
void max_number(int a[],int*p)
{
    int i,max;
    max=*(a+0);                          //It stores value stored in location 0

    for(i=0;i<*p;i++)                    //value of pointer being used
    {
       if(max<*(a+i))                   //comparison takes place
       {
         max=*(a+i);                    //assigning value
       }
    }
    printf("max value=%d",max);       //display of maximum value

}

----------------------------------------------------------------------------------------------------------
using turbo c++
------------------------------------------------------------------------------------------------------------------
//program to pick the greatest number using pointer passed to function
#include <stdio.h>            //header file
#include<conio.h>
void max_number(int a[],int *);
int main()
{
    int a[100];                 //array declaration
    int i;
    int total;                   //variables declaration
    printf("enter value of total\n");
    scanf("%d",&total);              //input of total value of array
    printf("enter elements of array\n");
    for(i=0;i<total;i++)                   //execution of loop
    {
        printf("enter value for location=%d\t",i);
        scanf("%d",a+i);                  //input of element using array. here array acts as pointer.
                                          //It gets input using address starting from location 0.
    }
    max_number(a,&total);                //calling the function with passing of array and pointer
   getch();
    return 0;
}
void max_number(int a[],int*p)
{
    int i,max;
    max=*(a+0);                          //It stores value stored in location 0

    for(i=0;i<*p;i++)                    //value of pointer being used
    {
       if(max<*(a+i))                   //comparison takes place
       {
         max=*(a+i);                    //assigning value
       }
    }
    printf("max value=%d",max);       //display of maximum value

}