calculeaire 0.1.5 calculeaire: ^0.1.5 copied to clipboard
Ce package contient un ensemble de fonctions permettant de calculer l'aire de 3 figures à savoir: Carré, Triangle, Cercle.
import 'package:calculeaire/calculeaire.dart';
import 'package:flutter/material.dart';
class Home extends StatefulWidget {
const Home({Key? key}) : super(key: key);
@override
_HomeState createState() => _HomeState();
}
class _HomeState extends State<Home> {
String figure = "Carré";
double aire = 0;
TextEditingController cote = TextEditingController();
TextEditingController base = TextEditingController();
TextEditingController hauteur = TextEditingController();
TextEditingController rayon = TextEditingController();
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text("Calcule d'aire"),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ListTile(
title: const Text('Carré'),
leading: Radio(
value: "Carré",
groupValue: figure,
onChanged: (value) {
setState(() {
figure = value.toString();
});
},
),
),
ListTile(
title: const Text('Trangle'),
leading: Radio(
value: "Triangle",
groupValue: figure,
onChanged: (value) {
setState(() {
figure = value.toString();
});
},
),
),
ListTile(
title: const Text('Cercle'),
leading: Radio(
value: "Cercle",
groupValue: figure,
onChanged: (value) {
setState(() {
figure = value.toString();
});
},
),
),
const SizedBox(
height: 20,
),
SizedBox(
width: MediaQuery.of(context).size.width / 1.1,
child: TextFormField(
controller: (figure == "Carré")
? cote
: (figure == "Triangle")
? base
: rayon,
keyboardType: TextInputType.number,
decoration: InputDecoration(
labelText: (figure == "Carré")
? "Coté"
: (figure == "Triangle")
? "Base"
: "Rayon",
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(25.0),
),
),
),
),
const SizedBox(
height: 20,
),
if (figure == "Triangle")
SizedBox(
width: MediaQuery.of(context).size.width / 1.1,
child: TextFormField(
controller: hauteur,
keyboardType: TextInputType.number,
decoration: InputDecoration(
labelText: "Largeur",
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(25.0),
),
),
),
),
const SizedBox(
height: 20,
),
ElevatedButton(
onPressed: () {
setState(() {
switch (figure) {
case "Carré":
aire = aireCarre(double.parse(cote.text));
break;
case "Triangle":
aire = aireTriangle(
double.parse(base.text), double.parse(hauteur.text));
break;
case "Cercle":
aire = aireCercle(double.parse(rayon.text));
break;
default:
}
});
},
child: const Text("Calculer"),
),
const SizedBox(
height: 20,
),
Text(
"Aire: $aire",
style: const TextStyle(fontSize: 20),
),
],
),
),
);
}
}