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

Chat with Claude AI Free – Your Super-Smart AI Buddy

It's like having a super-smart buddy that is always there to help you write stories,…

18 hours ago

Best Festivals UK 2025 [Free Guide Included]

The UK is known for its rich history, diverse culture, and most of all  its…

4 days ago

Bank Holidays 2025 UK – Plan Your Perfect Long Weekends

Do you have a plan for your next holiday? Being aware of the Bank Holidays within the…

4 days ago

Master Cursor AI Full Guide for Students & Creators

The world is rapidly changing of software development AI-assisted tools for coding have become the main focus. As…

5 days ago

Google Gemini AI Free AI Tool for Students & Creators

Google Gemini AI is among the top talked about developments. What exactly is it? What…

5 days ago

Top 5 Reasons You Should Use Grubby AI Humanizer in 2025

As the need for AI content undetectable humanization software skyrockets with more and more AI…

1 week ago