-->

WAP to enter student id, student name and address for any 10 students. Then search a data and its location.

in codeblocks:
--------------------------------------------------------------------------------------------------
// program to search data in given  detail of some  students       //comment abt. program
#include <stdio.h>                                 //header file
#include<string.h>
struct data                                        //struct tag named data
{
    char name[80];                                //member1 of struct
    char address[80];                             //member2 of struct
    int roll;                                     //member3 of struct
    int english,maths,physics,chemistry,nepali,total;   //marks member declaration
    float percentage;                       //member for total and percentage

}access[100];                 //'access' is a variable to access members. This can hold maximum 100 members.it is called array of struct.
int main()
{
   int n,i,loc=0;                                         //variable declaration
   char naam[70];
    printf("enter total value of n\n");
   scanf("%d",&n);                                  //accepts total value
   for(i=0;i<n;i++)
   {                                                 //execution of loop with inputs
    puts("enter roll number \n");
   scanf("%d",&access[i].roll);                      //gets data in different member
   puts("enter name \n");
   scanf("%s",access[i].name);                       //gets name
   puts("enter address \n");
   scanf("%s",access[i].address);                    //gets address
   printf("enter english marks\n");
   scanf("%d",&access[i].english);                  //gets respective marks
   printf("enter maths marks\n");
   scanf("%d",&access[i].maths);
   printf("enter Physics marks\n");
   scanf("%d",&access[i].physics);
   printf("enter chemistry marks\n");
   scanf("%d",&access[i].chemistry);
   printf("enter nepali marks\n");
   scanf("%d",&access[i].nepali);
   access[i].total=access[i].english+access[i].maths+access[i].physics+access[i].chemistry+access[i].nepali;//finds total and stores
      access[i].percentage=(float)access[i].total/5;               //finds percentage and stores in respective member
   }
   printf("entered data are\n");                  //loop execution to display data
   for(i=0;i<n;i++)
   {
   printf("roll=%d,name=%s,address=%s, english=%d,maths=%d,physics=%d,chemistry=%d,nepali=%d\n",access[i].roll,access[i].name,access[i].address,access[i].english
          ,access[i].maths,access[i].physics,access[i].chemistry,access[i].nepali);
   }                                                //displays data

   printf(" data with total and percentage are\n");     // displays data with total and percentage
  for(i=0;i<n;i++)
   {
   printf("roll=%d,\tname=%s,\taddress=%s,\tenglish=%d,\tmaths=%d,\tphysics=%d,\tchemistry=%d,\tnepali=%d,\ttotal=%d,\tpercentage=%f\n",access[i].roll,access[i].name,access[i].address,access[i].english
          ,access[i].maths,access[i].physics,access[i].chemistry,access[i].nepali,access[i].total,access[i].percentage);
   }
   printf("to be searched is\n");
   scanf("%s",naam);         //data input to be searched
   for(i=0;i<n;i++)
   {
       if(strcmp(naam,access[i].name)==0)//data comparison
        {
           loc=1;
           break;                    //terminating the loop
        }
   }
   if(loc==1)
   {
       printf("data found and location=%d",i);//printing the location of data
       printf("and data are,roll=%d,\tname=%s,\taddress=%s,\tenglish=%d,\tmaths=%d,\tphysics=%d,\tchemistry=%d,\tnepali=%d,\ttotal=%d,\tpercentage=%f\n",access[i].roll,access[i].name,access[i].address,access[i].english
          ,access[i].maths,access[i].physics,access[i].chemistry,access[i].nepali,access[i].total,access[i].percentage);
")
   }
   else
   {
       printf("not found\n");
   }

    return 0;
}

program to add two times given in hrs,mm and ss using struct

in codeblocks
------------------------------------------------------------------------------------------
//program to add two times given in hrs,mm and ss using struct
#include <stdio.h>
#include <stdlib.h>
struct timeaddition
{
    int hrs;
    int mm;
    int ss;
}time1,time2,ttime;
int main()
{
    int totalmm;
    printf("enter first time in hrs,minutes and seconds\n");
    scanf("%d%d%d",&time1.hrs,&time1.mm,&time1.ss);
    printf("enter second time in hrs,minutes and seconds\n");
    scanf("%d%d%d",&time2.hrs,&time2.mm,&time2.ss);
    totalmm=time1.mm+time2.mm+(time1.ss+time2.ss)/60;
    ttime.ss=(time1.ss+time2.ss)%60;
    ttime.mm=totalmm%60;
    ttime.hrs=time1.hrs+time2.hrs+totalmm/60;
    printf("total hrs=%d minutes=%d and seconds=%d\n",ttime.hrs,ttime.mm,ttime.ss);
    return 0;
}

struct initialization

in turboc++
------------------------------------------------------------------------------
//struct initialization
#include <stdio.h>
#include<string.h>
struct onl
{
    int a;
    float b;
    char name[30];
}var;
int main()
{
     var.a=98;
     var.b=5.4;
    strcpy(var.name,"raman");
    printf("a=%d\n",var.a);
     printf("b=%f\n",var.b);
     printf("name=%s",var.name);
    return 0;
}
/*note:
We donot need to use strcpy()if we use initialization
in same line as the var is.
same we can apply in union as well.
*/

concept of register storage

in turboc++
-------------------------------------------------------------------------------


//program to understand register variable .
#include <stdio.h>
#include <stdlib.h>
#include<conio.h>
void function();
int main()
{
    function();//function calling
    getch();
    return 0;
}
void function()//function body line
{

     register int a=4;//local variable, it can not be accessed from outsides and stored in RAM. We can store that in register location
    register float b=7.89;//local variable// can not be accessed from outsides stored in register
    printf("a=%d,b=%f",a,b);//printing value
}

/*note:
If we declare variable as register then it is stored in register and not not RAM. Its execution becomes faster.
*/


-------------------------------------------------------------------------------
in codeblocks:
-------------------------------------------------------------------------------------------
//program to understand register variable .
#include <stdio.h>
#include <stdlib.h>
void function();
int main()
{
    function();//function calling
    return 0;
}
void function()//function body line
{

     register int a=4;//local variable, it can not be accessed from outsides and stored in RAM. We can store that in register location
    register float b=7.89;//local variable// can not be accessed from outsides stored in register
    printf("a=%d,b=%f",a,b);//printing value
}

/*note:
If we declare variable as register then it is stored in register and not not RAM. Its execution becomes faster.
*/

concept of static storage

in turboc++
--------------------------------------------------------------------------------------
//program to understand static variable .
#include <stdio.h>
#include <stdlib.h>
#include<conio.h>
void function();
int main()
{
    function();//function calling
    function();
   getch();
    return 0;
}
void function()//function body line
{

     int a=4;//local variable, it can not be accessed from outsides. change this with static int a=4.

    printf("a=%d\n",a);//printing value
    a=a+1;
}
/* note:
It gives
a=4
a=4
where as it has to be 5 second time.
The computer can not retain its value on second calling.It loses its content (5) and prints same 4.

---------------------------
where as if we take static int a=4
the increased value remains there in memory untill the program is terminated.
We get
a=4
a=5
*/


-------------------------------------------------------------------------------------
in codeblocks:
-----------------------------------------------------------------------------------------------------
//program to understand static variable .
#include <stdio.h>
#include <stdlib.h>
void function();
int main()
{
    function();//function calling
    function();
    return 0;
}
void function()//function body line
{

     int a=4;//local variable, it can not be accessed from outsides. change this with static int a=4.

    printf("a=%d\n",a);//printing value
    a=a+1;
}
/* note:
It gives
a=4
a=4
where as it has to be 5 second time.
The computer can not retain its value on second calling.It loses its content (5) and prints same 4.

---------------------------
where as if we take static int a=4
the increased value remains there in memory untill the program is terminated.
We get
a=4
a=5
*/

External storage (also called global storage or variables:

in turboc++
-------------------------------------------------------------------------
//program to understand global variable .
#include <stdio.h>
#include <stdlib.h>
extern int a=5;// or simply int a //global variable; can be used with keyword extern
float b=4.5;//global variable;can be used with extern keyword
void function();
int main()
{
    printf("value of a and b from main function are=%d and %f\n",a,b);
    function();//function calling
    return 0;
}
void function()//function body line
{

        printf("from user defined function a=%d,b=%f\n",a,b);//printing value
}

















---------------------------------------------------------------------------------------------
in codeblocks:
------------------------------------------------------------------------------------------
//program to understand global variable .
#include <stdio.h>
#include <stdlib.h>
#include<conio.h>
extern int a=5;// or simply int a //global variable; can be used with keyword extern
float b=4.5;//global variable;can be used with extern keyword
void function();
int main()
{
    printf("value of a and b from main function are=%d and %f\n",a,b);
    function();//function calling
    getch();
    return 0;
}
void function()//function body line
{

        printf("from user defined function a=%d,b=%f\n",a,b);//printing value
}

Automatic (also called local variables):

in turbo c++
-----------------------------------------------------------------------------
//program to understand local variable .
#include <stdio.h>
#include <stdlib.h>
#include<conio.h>
void function();
int main()
{
    function();//function calling
   getch();
    return 0;
}
void function()//function body line
{

    auto int a=4;//local variable, it can not be accessed from outsides. we can also use keyword auto.
    float b=7.89;//local variable// can not be accessed from outsides
    printf("a=%d,b=%f",a,b);//printing value
}







---------------------------------------------------------------------
in codeblocks
--------------------------------------------------------------------
//program to understand local variable .
#include <stdio.h>
#include <stdlib.h>
void function();
int main()
{
    function();//function calling
    return 0;
}
void function()//function body line
{

    auto int a=4;//local variable, it can not be accessed from outsides. we can also use keyword auto.
    float b=7.89;//local variable// can not be accessed from outsides
    printf("a=%d,b=%f",a,b);//printing value
}