Showing posts with label Programs. Show all posts
Showing posts with label Programs. Show all posts

Upload files using Ajax with Progress Bar

Uploading files using some server side languages are not a big deal. But, if we handle file uploads asynchronously, then we will be able to save time as well as some sudden overload to the server. Here is a very short working demo of code that uploads the file through Ajax. Actually, the file is uploaded via the server side code (here PHP), but the user don't have to step upto the next page and it feels like it is happening in client side.


  • 1.   Create an HTML file say, form.html and put the following code.

        <!DOCTYPE html>
        <html>
        <head>
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script>
        <script src="http://malsup.github.com/jquery.form.js"></script>
        </head>
        <body>
        <div class="container">
        <h3 class="page-header">File Upload via Ajax with Progress Bar</h3>
        <div>
        <form action="upload.php" method="post" enctype="multipart/form-data">
        <input type="file" name="myfile"><br/>
        <input type="submit" value="Upload File to Server" class="btn btn-primary">
        </form>
        </div>
        <br/>
        <div class="progress">
        <div class="progress-bar progress-bar-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100">
        </div>
        <div class="percent">0%</div >
        </div>
        <p class="alert-info" id="status"></p>
        </div>
    
        <script>
        (function() {
        var bar = $('.progress-bar');
        var percent = $('.percent');
        var status = $('#status');
    
        $('form').ajaxForm({
        beforeSend: function() {
        status.empty();
        var percentVal = '0%';
        bar.width(percentVal);
        percent.html(percentVal);
        },
        uploadProgress: function(event, position, total, percentComplete) {
        var percentVal = percentComplete + '%';
        bar.width(percentVal);
        percent.html(percentVal);
        },
        success: function() {
        var percentVal = '100%';
        bar.width(percentVal);
        percent.html(percentVal);
        },
        complete: function(xhr) {
        status.html(xhr.responseText);
        status.addClass('alert');
        }
        });
    
        })();
        </script>
        </body>
        </html>

    2.  Now, handle the file upload into another file, upload.php as follows.
    <?php
        $uploaddir = 'E:/WebArtisans/';  //Path to a directory on your file system
        $uploadfile = $uploaddir . basename($_FILES['myfile']['name']);
    
        if (move_uploaded_file($_FILES['myfile']['tmp_name'], $uploadfile)) {
            echo "File is successfully uploaded.";
        } else {
            echo "Upload failed.";
        }
    ?>
    


    You can download the complete project from GitHub. Click here.

    Now, run and see. :)

    Program to find the sum of the series 0.9, 0.99, 0.999, 0.9999, ..........

    Problem:

    WAP to display the series 0.9, 0.99, 0.999, 0.9999, .......... and also find the sum of the series.

    Source Code:

    /*to find the sum of the series 0.9, 0.99, 0.999, 0.9999, ..........*/
    #include<stdio.h>
    #include<stdlib.h>
    #include<math.h>
    int main()
    {
        int i, n;
        double j=0, sum=0;
        printf("Enter the length of the series: ");
        scanf("%d", &n);
        printf("The series is\n");
        for(i = 1; i <= n; i++)
        {
            j += 0.9/pow(10, i-1);
            printf("%f, ", j);
            sum += j;
        }
        printf("\nSum of  the series is %f", sum);
        system ("pause");
        return 0;
    }

    Sample Run:

    Enter the length of the series: 5
    The series is
    0.900000, 0.990000, 0.999000, 0.999900, 0.999990,
    Sum of  the series is 4.888890

    Program to decide the type of a triangle.

    Problem:

    Given the lengths of three sides of a triangle. Write a program in C which decides the type (Right Angled, Acute, Obtuse, Isosceles, Scalene, Equilateral etc.) of the triangle.

    Source Code:

    /*to decide the type of triangle*/
    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
        float a,b,c;
        printf("Enter the length of three sides of a triangle: ");
        scanf("%f%f%f",&a,&b,&c);
        if(a > b + c || b > c + a || c > a+b)
        {
            printf("This is not a triangle.");
            system ("pause");
            exit(0);
        }
        else if( a == b && b == c && c == a)
            printf("This is an equilateral triangle.");
        else if(a==b || b==c || c==a)
            printf("This is an isosceles triangle.");
        else if(a*a == b*b + c*c || b*b == c*c + a*a || c*c == a*a + b*b)
            printf("This is a right angled triangle.");
        else if(a*a > b*b + c*c || b*b > c*c + a*a || c*c > a*a + b*b)
            printf("This is an obtuse angled triangle.");
        else if(a*a < b*b + c*c || b*b < c*c + a*a || c*c < a*a + b*b)
            printf("This is an acute angled triangle.");
        else
            printf("This is a scalene triangle.");
        system ("pause");
        return 0;
    }

    Sample Output:

    Enter the length of three sides of a triangle: 5 6 7
    This is an acute angled triangle.

    Program to display the number in reverse order.

    Problem:

    WAP to read four digit number and display the number in reverse order.


    Source Code:

    /*to display the numbers in reverse order*/
    #include<stdio.h>
    int main()
    {
    int n;
    printf("Enter a four digit number: ");
    scanf("%d", &n);
     printf("The number in reverse order is ");
    printf("%d", n %10);
    n = n/10;
    printf("%d", n %10);
    n = n/10;
    printf("%d", n %10);
    n = n/10;
    printf("%d", n %10);
    return 0;
    }

    Sample Run:

    Enter a four digit number: 1234
    The number in reverse order is 4321


    Program to find net salary

    Problem:

    WAP to read basic salary. Apart from basic salary, allowances are given as follows
    a. TA (Travelling Allowance) is 5% of basic salary
    b. DA (Daily Allowance) is 3% of basic salary
    c. HRA (House Rate Allowance) is 8% of basic salary
    Also, tax is witheld 1% of basic salary.
    Finally, calculate the net salary


    Source Code:

    /*to find net salary*/
    #include<stdio.h>
    int main()
    {
    float bs, ta, hra, da, tax, ns;
    printf("Enter the amount of basic salary: ");
    scanf("%f", &bs);
    ta = 0.05 * bs;
    da = 0.03 * bs;
    hra = 0.08 * bs;
    tax = 0.01 * bs;
    ns = bs + ta + da + hra - tax;
    printf("Travelling Allowance = %f", ta);
    printf("\nDaily Allowance = %f", da);
    printf("\nHome Rate Allowance = %f", hra);
    printf("\nTax = %f", tax);
    printf("\nNet Salary = %f", ns);
    return 0;
    }

    Sample Run:

    Enter the amount of basic salary: 50000
    Travelling Allowance = 2500.00
    Daily Allowance = 1500.00
    Home Rate Allowance = 4000.00
    Tax = 500.00
    Net Salary = 57500.00


    To find total price paid by a customer

    Problem:

    WAP to read price of three items. Apart from normal cost, a customer has to pay 13% VAT and 10% service charge. Finally, calculate the total price paid by the customer.


    Source Code:

    /*to find total price*/
    #include<stdio.h>
    int main()
    {
    float nc1, nc2, nc3, nc, vat, sc, tp;
    printf("Enter normal cost of first item: ");
    scanf("%f", &nc1);
    printf("Enter normal cost of second item: ");
    scanf("%f", &nc2);
    printf("Enter normal cost of third item: ");
    scanf("%f", &nc3);
    nc = nc1 + nc2 + nc3;
    vat = 0.13 * nc;
    sc = 0.10 * nc;
    tp = nc + vat + sc;
    printf("Total net cost = %f", nc);
    printf("\nVat = %f", vat);
    printf("\nService charge = %f", sc);
    printf("\nTotal price = %f", tp);
    return 0;
    }


    Sample Run:

    Enter normal cost of first item: 3000
    Enter normal cost of second item: 4500
    Enter normal cost of third item: 6000
    Total net cost = 13500.00
    Vat = 1755.00
    Service charge = 135.00
    Total price = 15390.00


    Program to read marks in five subjects and calculate the total and percentage

    Source Code:

    /*to find the total and percentage of an examination*/
    #include<stdio.h>
    int main()
    {
    int s1, s2, s3, s4, s5, tot;
    float per;
    printf("Enter the marks of 5 subjects: ");
    scanf("%d %d %d %d %d", &s1, &s2, &s3, &s4, &s5);
    tot = s1 + s2 + s3 + s4 + s5;
    per = tot / 500.0 * 100;
    printf("Total = %d", tot);
    printf("\nPercentage = %f", per);
    return 0;
    }


    Sample Run:

    Enter the marks of 5 subjects: 90 89 88 87 86
    Total = 440
    Percentage = 88.00


    Program to read principle, time and rate and calculate simple interest

    Source Code:

    /*to find the simple interest*/
    #include<stdio.h>
    int main()
    {
    float p, t, r, si;
    printf("Enter the value of principle: ");
    scanf("%f", &p);
    printf("Enter the time (in years): ");
    scanf("%f", &t);
    printf("Enter the interest rate: ");
    scanf("%f", &r);
    si = (p * t * r) / 100;
    printf("Simple Interest = %f", si);
    return 0;
    }

    Sample Run:

    Enter the value of principle: 10000
    Enter the time (in years): 3
    Enter the interest rate: 12
    Simple Interest = 3600.00


    Program to read the length and bredth of a rectangle and find the perimeter

    Source Code:

    /*to find the perimeter of a rectangle*/
    #include<stdio.h>
    int main()
    {
        float l, b, p;
        printf("Enter the value of length: ");
        scanf("%f", &l);
        printf("Enter the value of breadth: ");
        scanf("%f", &b);
        p = 2 * (l + b);
        printf("Perimeter of the rectangle is %f", p);
        return 0;
    }



    Sample Run:

    Enter the value of length: 5
    Enter the value of breadth: 6
    Perimeter of the rectangle is 22