Tuesday, February 9, 2016

C Program to Create Employee Record and Update it

    /*

     * C Program to Create Employee Record and Update it

     */

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #define size 200

     struct emp
    {

        int id;
        char *name;
    }*emp1, *emp3;

    
    void display();
    void create();
    void update();

    
    FILE *fp, *fp1;
    int count = 0;
    

    void main(int argc, char **argv)

    {
        int i, n, ch;
   

        printf("1] Create a Record\n");
        printf("2] Display Records\n");
        printf("3] Update Records\n");
        printf("4] Exit");
        while (1)

        {
            printf("\nEnter your choice : ");
            scanf("%d", &ch);
            switch (ch)
            {
            case 1:   

                fp = fopen(argv[1], "a");
                create();
                break;

            case 2:   

                fp1 = fopen(argv[1],"rb");
                display();
                break;

            case 3:   

                fp1 = fopen(argv[1], "r+");
                update();
                break;

            case 4:
                exit(0);

            }

        }

    }

    

    /* To create an employee record */

    void create()

    {
        int i;

        char *p;

        emp1 = (struct emp *)malloc(sizeof(struct emp));
        emp1->name = (char *)malloc((size)*(sizeof(char)));
        printf("Enter name of employee : ");
        scanf(" %[^\n]s", emp1->name);
        printf("Enter emp id : ");
        scanf(" %d", &emp1->id);
        fwrite(&emp1->id, sizeof(emp1->id), 1, fp);
        fwrite(emp1->name, size, 1, fp);
        count++;   // count to number of entries of records
        fclose(fp);
    }

    
    /* Display the records in the file */

    void display()

    {   

        emp3=(struct emp *)malloc(1*sizeof(struct emp));   
        emp3->name=(char *)malloc(size*sizeof(char));
        int i = 1;
  

        if (fp1 == NULL)   
            printf("\nFile not opened for reading");
        while (i <= count)

        {
            fread(&emp3->id, sizeof(emp3->id), 1, fp1);
            fread(emp3->name, size, 1, fp1);
            printf("\n%d %s",emp3->id,emp3->name);
            i++;

        }

        fclose(fp1);
        free(emp3->name);
        free(emp3);

    }
   

    void update()

    {
        int id, flag = 0, i = 1;

        char s[size];

      if (fp1 == NULL)

        {
            printf("File cant be opened");
            return;

        }

        printf("Enter employee id to update : ");
        scanf("%d", &id);
        emp3 = (struct emp *)malloc(1*sizeof(struct emp));
            emp3->name=(char *)malloc(size*sizeof(char));
        while(i<=count)

        {   

            fread(&emp3->id, sizeof(emp3->id), 1, fp1);

            fread(emp3->name,size,1,fp1);

            if (id == emp3->id)

            {

                printf("Enter new name of emplyee to update : ");   

                scanf(" %[^\n]s", s);

                fseek(fp1, -204L, SEEK_CUR);

                fwrite(&emp3->id, sizeof(emp3->id), 1, fp1);

                fwrite(s, size, 1, fp1);

                flag = 1;

                break;

            }

            i++;

        }

        if (flag != 1)

        {

            printf("No employee record found");

            flag = 0;

        }

        fclose(fp1);

        free(emp3->name);        /* to free allocated memory */

        free(emp3);

    }

C Program to sort numbers using counting sort and save the o/p in a file using FILE handling

/*********************************************************************
* Program to sort numbers using counting sort and save
* the o/p in a file using FILE handling
**********************************************************************/
#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 500
void selection(int elements[], int maxsize);
int elements[MAXSIZE],maxsize;
void main()
{
int i;
FILE *f;
printf("\nHow many elements you want to sort: ");
scanf("%d",&maxsize);
printf("\nEnter the values one by one: ");
for (i = 0; i < maxsize; i++)
{
printf ("\nEnter element %i :",i);
scanf("%d",&elements[i]);
}
f=fopen("a.txt","w");
if(f==NULL)
{
printf("\nUnable to write in to the file\n");
exit(1);
}
//fprintf(f,"\nArray before sorting:\n");
//for (i = 0; i < maxsize; i++)
//fprintf(f,"[%i], ",elements[i]);
//fprintf (f,"\n");
selection(elements,maxsize);
//fprintf(f,"\nArray after sorting:\n");
fprintf(f,"\nSorted order is:\n");
for (i = 0; i < maxsize; i++)
fprintf(f,"[%i], ", elements[i]);
}


void selection(int elements[], int array_size)
{
int i, j, k;
int min, temp;
for (i = 0; i < maxsize-1; i++)
{
min = i;
for (j = i+1; j < maxsize; j++)
{
if (elements[j] < elements[min])
min = j;
}
temp = elements[i];
elements[i] = elements[min];
elements[min] = temp;
}
}

Featured posts

सौंफ के फायदे

 सौंफ त्रिदोषनाशक है, इसकी तासीर ठंडी है, पर यह जठराग्नि को मंद नहीं करती।            आंखों की रोशनी सौंफ का सेवन करके बढ़ाया जा सकता है। सौ...

Popular posts