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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | 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),), ), ) ], ) ), ) ), ); } } |