Flutter

Student Marks Calculation in Flutter

This Flutter tutorial will teach you how to  do the Student Marks Calculation.due to current techoligal demend we also created an app user friendly.The app is developed steps ahead of the existing world. While app development will be very useful for the future as well.

Main.dart

import 'package:flutter/material.dart';
import 'package:studentmarks/studentmarks.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
 
        primarySwatch: Colors.blue,
      ),
      home: StudentMarks(),
    );
  }
}

studentmarks.dart

import 'package:flutter/material.dart';

class StudentMarks extends StatelessWidget {

final TextEditingController controller; 

  const StudentMarks({ Key key,this.controller }) : super(key: key);

  @override
  Widget build(BuildContext context) {
     final _marks1 = TextEditingController();
      final _marks2 = TextEditingController();
      final _marks3 = TextEditingController();

      final _tot= TextEditingController();

      final _avg= TextEditingController();
       final _grade= TextEditingController();

      
      int result;
      double average;
     
      int sum;


    var size = MediaQuery.of(context).size;


    return Scaffold(
      
      body: SafeArea(
        child: SingleChildScrollView(
          child: Container(
              padding:EdgeInsets.symmetric(horizontal: 15,vertical: 20),
              child: Column(
                children: [
                  Text("Student Marks Calcuation",style: TextStyle(fontSize: 30, color: Colors.red)),
                    SizedBox(height: 15,),
                  TextField(
                           controller: _marks1,
                           decoration: InputDecoration(
                             labelText: "Marks 1",
                             labelStyle: TextStyle(fontSize: 15,color: Colors.grey.shade400),
                             border: OutlineInputBorder(borderRadius: BorderRadius.circular(10))
                           ),
                ),
                  SizedBox(height: 15,),
                 TextField(
                         controller: _marks2,
                           decoration: InputDecoration(
                             labelText: "Marks 2",
                             labelStyle: TextStyle(fontSize: 15,color: Colors.grey.shade400),
                             border: OutlineInputBorder(borderRadius: BorderRadius.circular(10))
                           ),
                ),
                    SizedBox(height: 15,),
              TextField(
                           controller: _marks3,
                           
                           decoration: InputDecoration(
                             labelText: "Marks 3",
                             labelStyle: TextStyle(fontSize: 15,color: Colors.grey.shade400),
                             border: OutlineInputBorder(borderRadius: BorderRadius.circular(10))
                           ),
                ),
                 SizedBox(height: 15,),
                 TextField(
                          controller: _tot,
                           decoration: InputDecoration(
                             labelText: "Total",
                             labelStyle: TextStyle(fontSize: 15,color: Colors.grey.shade400),
                             border: OutlineInputBorder(borderRadius: BorderRadius.circular(10))
                           ),
                ),
                 SizedBox(height: 15,),
                  TextField(
                           controller: _avg,
                           decoration: InputDecoration(
                             labelText: "Avg",
                             labelStyle: TextStyle(fontSize: 15,color: Colors.grey.shade400),
                             border: OutlineInputBorder(borderRadius: BorderRadius.circular(10))
                           ),
                ),
                 SizedBox(height: 15,),
                  TextField(
                          controller: _grade,
                           decoration: InputDecoration(
                             labelText: "Grade",
                             labelStyle: TextStyle(fontSize: 15,color: Colors.grey.shade400),
                             border: OutlineInputBorder(borderRadius: BorderRadius.circular(10))
                           ),
                ),
                 GestureDetector
               ( 
               onTap: ()
               {
                     sum = int.parse(_marks1.text) + int.parse( _marks2.text)+ int.parse( _marks3.text);
                     result = sum;
                     _tot.text = result.toString();

                     average = result/3;


                    _avg.text = average.toString();

                    if(average > 50)
                    {
                      
                      _grade.text = "Pass";
                    }
                    else
                    {
                       _grade.text = "Fail";
                    }

               },
                  child: Container(
                              alignment: Alignment.center,
                                  height: size.height / 14,
                                  width: size.width,
                            decoration: BoxDecoration(color: Colors.red,
                                borderRadius: BorderRadius.circular(5)),
                                child: Text("Add", 
                                style: TextStyle(color: Colors.white,
                                fontWeight: FontWeight.bold),),


                  ),
                )

                 
                ],
              )
          ),
        )

      ),
    );
  }
}

I have attached the video tutorial below it will help you  to do this  step by step.

admin

Recent Posts

ChatGPT Free Online Download the ChatGPT App Easily

Have you ever wanted to talk to a friendly, smart robot that helps you with…

6 days ago

Free GPT Chat? DeepSeek AI Does It Better

DeepSeek AI is becoming a friendly and powerful new tool in the world of artificial…

2 weeks ago

Spring Boot MySQL Complete CRUD REST API [ Free Sourecode ]

Do you want to become an expert in Spring Boot CRUD operations? This comprehensive tutorial…

3 weeks ago

CREATE Responsive Navigation Bar with FlexBox CSS!

Modern websites must have a navigation bar that is clear and responsive. FlexBox CSS is…

4 weeks ago

Registration with image upload Java Jdbc(Download Source code)

Introduction In this section, we will guide you step by step in the development of an image upload registration system in Java using MySQL and JDBC. In the application, users register…

2 months ago

Touchable shop Pos system using Java

The Touchable Shop POS (Point of Sale) system is a sophisticated software solution developed using…

3 months ago