Dobrý den,
vytvořil jsem kód na generování náhodných příkladů s náročností pro druhou třídu, které se zapíší do textového souboru. Řešení se mi zdá zdlouhavé, ale nevím jak bych ho zjednodušil. Příklady jsou jen na +-*/ přičemž násobilka je jen malá.
Zde přikládám zdrojový kód
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.IO;
namespace SeznamPrikladu
{
class Program
{
static void Main(string[] args)
{
int v=0;
int pocet = 0;
int max = 0;
string priklady = "";
try
{
Console.Write("Počet příkladů: ");
pocet = int.Parse(Console.ReadLine());
Console.Write("Do kolika se dítě učí: ");
max = int.Parse(Console.ReadLine());
}
catch
{
Console.WriteLine("Nevyplněná hodnota...");
}
Random random = new Random();
using (StreamWriter sw = new StreamWriter(@"soubor.txt"))
{
}
using (StreamWriter sw = new StreamWriter(@"soubor.txt", true))
{
for(int iterator=0;pocet >= iterator;iterator++)
{
int randomNumberA = random.Next(0, max);
int randomNumberB = random.Next(0, max);
if (priklady != "")
{
sw.WriteLine(priklady);
priklady = "";
sw.WriteLine(priklady);
sw.Flush();
}
if (randomNumberA < randomNumberB && randomNumberA+randomNumberB<= max)
{
priklady = randomNumberA + "+" + randomNumberB + "= ";
}
if (randomNumberA > randomNumberB)
{
priklady = randomNumberA + "-" + randomNumberB + "= ";
}
for (int i = 0; i < 20; i++)
{
if (randomNumberA <= 10 && randomNumberB <= 10 )
{
priklady = randomNumberA + "·" + randomNumberB + "= ";
break;
}
randomNumberA = random.Next(0, max);
randomNumberB = random.Next(0, max);
}
for (int i = 0; i < 20; i++)
{
if (randomNumberA <= 10 && randomNumberB <= 10 && randomNumberA<randomNumberB && randomNumberB>0)
{
v = randomNumberA * randomNumberB;
priklady = v + ":" + randomNumberB + "= ";
break;
}
randomNumberA = random.Next(0, max);
randomNumberB = random.Next(0, max);
}
}
sw.Close();
}
Console.WriteLine("Zapsáno do souboru");
Console.ReadLine();
}
}
}
Byl bych rád za každé zjednodušení kódu, případně o odkaz na nějaký článek s popisem jak text zapsat do Wordu (3 sloupce).
Předem děkuji.