int indexOfOperateur = GetPositionOperateur(ref result, new char[] { '+', '-', '*', '/' });
/// <summary> /// /// </summary> /// /// /// <returns></returns> static private int GetPositionOperateur(ref string result, char[] p) { int index = 0; foreach (char s in result) { // Recherche +,-,/,* dans la formule int k = s.ToString().IndexOfAny(p); if (k == 0 && index > 0) break; else index++; } return index; }
if (indexOfOperateur != -1) Calculer(ref result, ref indexOfOperateur); else Console.WriteLine("Erreur ! Il faut rentrer trois termes comme ceci : a +|-|*|/ b");
static private void Calculer(ref string result, ref int indexOfOperateur) { float computeResult = 0f; string[] cal = new string[3]; cal[0] = result.Substring(0, indexOfOperateur); cal[1] = result[indexOfOperateur].ToString(); cal[2] = result.Substring(indexOfOperateur + 1); float r1; if (!float.TryParse(cal[0], out r1)) { Console.WriteLine("Erreur le premier membre n'est pas un nombre"); return; } float r2; if (!float.TryParse(cal[2], out r2)) { Console.WriteLine("Erreur ! Le second membre n'est pas un nombre"); return; } switch (cal[1]) { case "+": computeResult = r1 + r2; break; case "-": computeResult = r1 - r2; break; case "*": computeResult = r1 * r2; break; case "/": if (r2 == 0) { Console.WriteLine("{0} / {1} = Indéfini ", r1, r2); Main(); } else computeResult = r1 / r2; break; } Console.WriteLine("{0} {1} {2} = {3}\n", r1, cal[1], r2, computeResult); }
static private int GetPositionOperateur(ref string result, char[] p) { int index = 0; bool found = false; foreach (char s in result) { int k = s.ToString().IndexOfAny(p); if (k == 0 && index > 0) { found = true; break; } else index++; } return found ? index : -1; }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionstring result = Console.Readline(); float computeResult = 0f;
string[] cal = result.Split(' ');
float r1; float.TryParse(cal[0], out r1); float r2; float.TryParse(cal[2], out r2);
switch(cal[1]) { case "+": computeResult = r1 + r2; break; case "-": computeResult = r1 - r2; break; case "*": computeResult = r1 * r2; break; case "/": computeResult = r1 / r2; break; }
using System; namespace Dimitrie { public class Program { public static void Main () { Introduction (); } public static void Introduction () { char rep = LireChar ("Veuillez taper la lettre "a" pour passer a la suite : ", "a"); if (rep == 'a') { Calculatrice ("Donner l'expression mathématique à calculer : "); Main (); } } public static void Calculatrice (string question) { Console.WriteLine (); Console.Write (question); string result = Console.ReadLine (); float computeResult = 0f; //T[0] = x; //T[1] = operateur; //T[2] = y; string [] cal = result.Split (' '); float r1; float.TryParse (cal[0], out r1); float r2; float.TryParse (cal[2], out r2); switch(cal[1]) { case "+": computeResult = r1 + r2; break; case "-": computeResult = r1 - r2; break; case "*": computeResult = r1 * r2; break; case "/": if (r2 == 0) { Console.WriteLine ("{0} / {1} = Indéfini ",r1, r2); Main(); } else computeResult = r1 / r2; break; } Console.WriteLine ("{0} {1} {2} = {3}\n", r1, cal[1], r2, computeResult); } public static char LireChar (string question) { do { Console.Write (question); string rep = Console.ReadLine (); if (rep.Length == 1) return rep [0]; Console.WriteLine ("Erreur : Veuillez ne taper qu'un seul caractère\n"); } while (true); } public static char LireChar (string question, string caracterePermis) { do { char caractereLue = LireChar (question); foreach (char ch in caracterePermis) if (ch == caractereLue) return caractereLue; Console.WriteLine ("Erreur : "{0}" ne fait pas partie de "{1}".\n", caractereLue, caracterePermis); } while (true); } } }
if (indexOfOperateur != -1) Calculer(ref result, ref indexOfOperateur); else Console.WriteLine("Erreur ! Il faut rentrer trois termes comme ceci : a +|-|*|/ b");
public static void Calculatrice (string question) { Console.WriteLine (); Console.Write (question); string result = Console.ReadLine (); int indexOfOperateur = GetPositionOperateur(ref result, new char[] { '+', '-', '*', '/' }); if (indexOfOperateur != -1) Calculer(ref result, ref indexOfOperateur); else Console.WriteLine("Erreur ! Il faut rentrer trois termes comme ceci : a +|-|*|/ b"); }
private int[] tabNombres; //Tableau qui contiendra tes nombres
public void CreeTableau() { // Taille du tableau Console.WriteLine("Quelle est la taille de votre tableau ?"); string strTailleTableau = Console.ReadLine(); int tailleTableau = int.Parse(strTailleTableau); // TryParse ne sert à rien si tu ne t'occupe pas de la gestion d'erreur // Création du tableau tabNombres = new int[tailleTableau]; // Remplissage du tableau for (int i = 0; i < tailleTableau; i++) { Console.WriteLine("Veuillez entrer le {0}ème élément", i + 1); string strElement = Console.ReadLine(); int element = int.Parse(strElement); tabNombres[i] = element; } }
public int GetMin() // Le tableau est un champ de la classe, inutile de le refournir { if(tabNombre != null) // On vérifie qu'on a bien initialisé le tableau { int Min = tabNombre[0]; // On dit que le 1er est le minimum, puis on comparera avec chaque autre for (int i = 1; i < tabNombres.Length; i++) { if(tab[i] < Min) Min = tab[i]; } return Min; } else { return 0; } } public int GetMax() // Le tableau est un champ de la classe, inutile de le refournir { if(tabNombre != null) // On vérifie qu'on a bien initialisé le tableau { int Max = tabNombre[0]; // On dit que le 1er est le maximum, puis on comparera avec chaque autre for (int i = 1; i < tabNombres.Length; i++) { if(tab[i] > Max) Max = tab[i]; } return Max; } else { return 0; } }
public float GetMoyenne() { if(tabNombre != null) { int somme = 0; for (int i = 0; i < tabNombre.Length; i++) { somme = somme + tabNombre[i]; } return (float)somme/(float)(tabNombre.Length); // On "cast" en float pour que ce ne soit pas arrondi } else { return 0; } }
public bool EstPremier(int nombre)