我是编程新手,我遇到了一个问题。我试图在第二个电源上编程计算器和计算器。我想让我或别人选择他是否愿意 “kalkulacka”或“mocninator”。当我完成“mocninator”或“kalkulacka”时,我希望程序能够问我是否想再次运行它。但是有问题。每次我选择选项1(mocninator)然后程序会问我是否要重复它。我输入“ano”(是),它从kalkulacka开始。它不会问我如果我想选择mocninator或kalkulacka。代码可能真的很糟糕,但正如我所说,我一直在编程为max。 4个小时。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WhatAnApp
{
class Program
{
static void Main(string[] args)
{
bool kalkulacka = true;
bool mocninator = false;
bool pokracovat = true;
while (pokracovat == true)
{
Console.WriteLine("Vítejte v mé aplikaci, pro začátek si vyber, jestli chceš spustit kalkulačku nebo mocninátor.");
Console.WriteLine("1 - mocninátor");
Console.WriteLine("2 - kalkulačka");
int volba1 = int.Parse(Console.ReadLine());
switch (volba1)
{
case 1:
mocninator = true;
break;
case 2:
kalkulacka = true;
break;
default:
Console.WriteLine("Zadal jste špatnout hodnotu!");
break;
}
if (mocninator)
{
Console.WriteLine("Vybrál sis mocninátor");
Console.WriteLine("Zadejte číslo, které chcete umocnit");
float s = float.Parse(Console.ReadLine());
double d = s;
double m = 2;
Console.WriteLine("Výsledek je: " + Math.Pow(s, m));
Console.WriteLine("Přeješ si aplikaci spustit znovu? ano/ne");
Console.ReadKey();
}
else
pokracovat = true;
switch (Console.ReadLine())
{
case "ano":
pokracovat = true;
break;
case "ne":
Environment.Exit(0);
break;
}
while (kalkulacka == true)
{
Console.WriteLine("Pro začátek musíš zadat dvě čísla, se kterými budeš pracovat");
Console.WriteLine("Zadej první číslo: ");
float a;
while (!float.TryParse(Console.ReadLine(), out a))
Console.WriteLine("Zadal jste neplatné číslo");
Console.WriteLine("Zadej druhé číslo: ");
float b;
while (!float.TryParse(Console.ReadLine(), out b))
Console.WriteLine("Zadal jste neplatné číslo");
Console.WriteLine("Výborně, teď si vyber operaci: ");
Console.WriteLine("1 - sčítání");
Console.WriteLine("2 - odčítání");
Console.WriteLine("3 - násobení");
Console.WriteLine("4 - dělení");
char volba = Console.ReadKey().KeyChar;
Console.ReadKey();
Console.WriteLine("Zvolil jste volbu číslo: " + volba);
float vysledek = 0;
bool platnaVolba = true;
switch (volba)
{
case '1':
vysledek = a + b;
break;
case '2':
vysledek = a - b;
break;
case '3':
vysledek = a * b;
break;
case '4':
vysledek = a / b;
break;
default:
platnaVolba = false;
break;
}
if (platnaVolba)
Console.WriteLine("Výsledek: {0}", vysledek);
else
Console.WriteLine("Neplatná volba operace");
Console.WriteLine("Přejete si kalkulačku použít znovu? ano/ne");
platnaVolba = false;
while (!platnaVolba)
{
switch (Console.ReadLine().ToString().ToLower())
{
case "ano":
platnaVolba = true;
pokracovat = true;
break;
case "ne":
platnaVolba = true;
pokracovat = false;
break;
default:
Console.WriteLine("Neplatná volba. Zadejte ano/ne !");
break;
}
}
if (pokracovat)
Console.Clear();
}
}
Console.ReadKey();
}
}
}
我改变了一些东西,但现在它不会开始kalkulacka。我不知道为什么。 bool kalkulacka = false,当我在volba1输入2时,它应该变为true --->虽然(kalkulacka == true)所以问题出在哪里?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WhatAnApp
{
class Program
{
static void Main(string[] args)
{
bool kalkulacka = false;
bool mocninator = false;
bool pokracovat = true;
while (pokracovat == true)
{
Console.WriteLine("Vítejte v mé aplikaci, pro začátek si vyber, jestli chceš spustit kalkulačku nebo mocninátor.");
Console.WriteLine("1 - mocninátor");
Console.WriteLine("2 - kalkulačka");
int volba1 = int.Parse(Console.ReadLine());
switch (volba1)
{
case 1:
mocninator = true;
break;
case 2:
kalkulacka = true;
break;
default:
Console.WriteLine("Zadal jste špatnout hodnotu!");
break;
}
if (mocninator)
{
Console.WriteLine("Vybrál sis mocninátor");
Console.WriteLine("Zadejte číslo, které chcete umocnit");
float s = float.Parse(Console.ReadLine());
double d = s;
double m = 2;
Console.WriteLine("Výsledek je: " + Math.Pow(s, m));
}
else
kalkulacka = true;
Console.WriteLine("Přeješ si aplikaci spustit znovu? ano/ne");
switch (Console.ReadLine())
{
case "ano":
pokracovat = true;
break;
case "ne":
Environment.Exit(0);
break;
default:
Console.WriteLine("Špatná hodnota");
break;
}
while (kalkulacka)
{
Console.WriteLine("Pro začátek musíš zadat dvě čísla, se kterými budeš pracovat");
Console.WriteLine("Zadej první číslo: ");
float a;
while (!float.TryParse(Console.ReadLine(), out a))
Console.WriteLine("Zadal jste neplatné číslo");
Console.WriteLine("Zadej druhé číslo: ");
float b;
while (!float.TryParse(Console.ReadLine(), out b))
Console.WriteLine("Zadal jste neplatné číslo");
Console.WriteLine("Výborně, teď si vyber operaci: ");
Console.WriteLine("1 - sčítání");
Console.WriteLine("2 - odčítání");
Console.WriteLine("3 - násobení");
Console.WriteLine("4 - dělení");
char volba = Console.ReadKey().KeyChar;
Console.ReadKey();
Console.WriteLine("Zvolil jste volbu číslo: " + volba);
float vysledek = 0;
bool platnaVolba = true;
switch (volba)
{
case '1':
vysledek = a + b;
break;
case '2':
vysledek = a - b;
break;
case '3':
vysledek = a * b;
break;
case '4':
vysledek = a / b;
break;
default:
platnaVolba = false;
break;
}
if (platnaVolba)
Console.WriteLine("Výsledek: {0}", vysledek);
else
Console.WriteLine("Neplatná volba operace");
Console.WriteLine("Přejete si kalkulačku použít znovu? ano/ne");
platnaVolba = false;
while (!platnaVolba)
{
switch (Console.ReadLine().ToString().ToLower())
{
case "ano":
platnaVolba = true;
pokracovat = true;
break;
case "ne":
platnaVolba = true;
pokracovat = false;
break;
default:
Console.WriteLine("Neplatná volba. Zadejte ano/ne !");
break;
}
}
if (pokracovat)
Console.Clear();
}
}
Console.ReadKey();
}
}
}
答案 0 :(得分:0)
namespace WhatAnApp
{ 课程 { static void Main(string [] args)
{
bool kalkulacka = false;
bool mocninator = false;
bool pokracovat = true;
while (pokracovat == true)
{
Console.WriteLine("Vítejte v mé aplikaci, pro začátek si vyber, jestli chceš spustit kalkulačku nebo mocninátor.");
Console.WriteLine("1 - mocninátor");
Console.WriteLine("2 - kalkulačka");
int volba1 = int.Parse(Console.ReadLine());
switch (volba1)
{
case 1:
mocninator = true;
Console.Clear();
break;
case 2:
kalkulacka = true;
Console.Clear();
break;
default:
Console.WriteLine("Zadal jste špatnout hodnotu!");
break;
}
if (mocninator)
{
Console.WriteLine("Vybrál sis mocninátor");
Console.WriteLine("Zadejte číslo, které chcete umocnit");
float s = float.Parse(Console.ReadLine());
double d = s;
double m = 2;
Console.WriteLine("Výsledek je: " + Math.Pow(s, m));
Console.WriteLine("Přeješ si aplikaci použit znovu? ano/ne");
switch (Console.ReadLine().ToString().ToLower())
{
case "ano":
pokracovat = true;
mocninator = false;
Console.Clear();
break;
case "ne":
Environment.Exit(0);
break;
default:
Console.WriteLine("Špatná volba");
break;
}
}
while (kalkulacka == true)
{
Console.WriteLine("Pro začátek musíš zadat dvě čísla, se kterými budeš pracovat");
Console.WriteLine("Zadej první číslo: ");
float a;
while (!float.TryParse(Console.ReadLine(), out a))
Console.WriteLine("Zadal jste neplatné číslo");
Console.WriteLine("Zadej druhé číslo: ");
float b;
while (!float.TryParse(Console.ReadLine(), out b))
Console.WriteLine("Zadal jste neplatné číslo");
Console.WriteLine("Výborně, teď si vyber operaci: ");
Console.WriteLine("1 - sčítání");
Console.WriteLine("2 - odčítání");
Console.WriteLine("3 - násobení");
Console.WriteLine("4 - dělení");
char volba = Console.ReadKey().KeyChar;
Console.ReadKey();
Console.WriteLine("Zvolil jste volbu číslo: " + volba);
float vysledek = 0;
bool platnaVolba = true;
switch (volba)
{
case '1':
vysledek = a + b;
break;
case '2':
vysledek = a - b;
break;
case '3':
vysledek = a * b;
break;
case '4':
vysledek = a / b;
break;
default:
platnaVolba = false;
break;
}
if (platnaVolba)
Console.WriteLine("Výsledek: {0}", vysledek);
else
Console.WriteLine("Neplatná volba operace");
Console.WriteLine("Přejete si aplikaci použít znovu? ano/ne");
platnaVolba = false;
while (!platnaVolba)
{
switch (Console.ReadLine().ToString().ToLower())
{
case "ano":
platnaVolba = true;
pokracovat = true;
kalkulacka = false;
Console.Clear();
break;
case "ne":
platnaVolba = true;
pokracovat = false;
kalkulacka = false;
break;
default:
Console.WriteLine("Neplatná volba. Zadejte ano/ne !");
break;
}
}
}
}
}
}
}