поэтому у меня этот код. Мне нужно создать цикл for, который проверяет все символы в строке и проверяет, все ли они действительны (So numbers from 0-> 7). Но я не знаю, как это писать, я что-то пробовал, но это не сработало. Вот примеры: пользователь вводит: 77, код работает, пользователь вводит 99, код не работает, пользователь вводит 5., код не работает, и т.д ..C# для случая в строке (простой)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace NALOGA1
{
class Program
{
static string decToOct(int stevilo)//v mojon primere 7
{
string izhod = "";
//7>0 DRŽI
while (stevilo > 0)
{
//izhodi se dodeli ostanek deljenja z 8 keri se spremeni v string
izhod = (stevilo % 8) + izhod;
//7/8;
stevilo /= 8;
}
return izhod;
}
static int Octtodesetisko(string stevilo)
{
double vsota = 0;
for (int i = stevilo.Length - 1; i >= 0; i--)
{
int stevka = stevilo[i] - '0';
vsota += (stevka * Math.Pow(8, i));
}
return (int)vsota;
}
static void Main(string[] args)
{
//3 podprogram-in progress
string prvastevilka = Console.ReadLine();
int prvasprememba = Int32.Parse(prvastevilka);
if (prvasprememba > 0)
{
Console.WriteLine(decToOct(prvasprememba));
}
else
{
Console.WriteLine("Napaka");
}
string drugastevilka = Console.ReadLine();
int drugasprememba = Octtodesetisko(drugastevilka);
foreach (char znak in drugastevilka)
{
if(znak!=1 || znak!=2 || znak!=3 || znak!=4 || znak!=5 || znak!=6 || znak!=7)
{
Console.WriteLine("Napaka");
}
else
{
Console.WriteLine("dela :D");
}
}
Console.ReadKey();
}
}
}
Определить _works_ и _doesn't work_ ясно. –
Хотя технически можно следить за потоком программы, просто глядя на логику, это было бы ДЕЙСТВИТЕЛЬНО полезно, если бы вы перевели все на английский. Сокращает накладные расходы на тонну для людей, пытающихся помочь. – kai
вам не нужно проверять каждый символ; 'if (znak> = '0' && znak <= '7') {// valid}' - вы также в настоящее время исключаете '0' –