Witam, mam problem z moim programem w C#, z racji tego, że zaczynam dopiero naukę tego języka, nie wiem jak sobie poradzić. Pierwszy problem jest związany z konwersją typów zmiennych, w C++ nie miałem problemów w tym miejscu programu. Natomiast co do drugiego błędu, to nie wiem zupełnie, co zrobić.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace GraTeleturniejowa
{
public class Obiekt
{
public string Pytanie { get; private set; }
public string Odpowiedz1 { get; private set; }
public string Odpowiedz2 { get; private set; }
public string Odpowiedz3 { get; private set; }
public string Odpowiedz4 { get; private set; }
public int Poprawna { get; private set; }
public Obiekt(string Pyt, string Odp1, string Odp2, string Odp3, string Odp4, int Popr)
{
Pytanie = Pyt;
Odpowiedz1 = Odp1;
Odpowiedz2 = Odp2;
Odpowiedz3 = Odp3;
Odpowiedz4 = Odp4;
Poprawna = Popr;
}
public void Wyswietlaj()
{
Console.WriteLine(Pytanie);
Console.WriteLine(Odpowiedz1);
Console.WriteLine(Odpowiedz2);
Console.WriteLine(Odpowiedz3);
Console.WriteLine(Odpowiedz4);
}
}
class Program
{
public static int PozycjeMenu=5;
static void menu(int PozycjaMenu) {
Console.Clear();
Console.WriteLine("Menu:");
Console.WriteLine("\t1"+((PozycjaMenu == 1) ? ">" : ":")+"Graj");
Console.WriteLine("\t2"+((PozycjaMenu == 2) ? ">" : ":")+"Zasady");
Console.WriteLine("\t3"+((PozycjaMenu == 3) ? ">" : ":")+"Autor");
Console.WriteLine("\t4"+((PozycjaMenu == 4) ? ">" : ":")+"Wyniki");
Console.WriteLine("\tEsc"+((PozycjaMenu == 5) ? ">" : ":")+"Koniec");
}
static void Graj() {
List<Obiekt> Teleturniej = new List<Obiekt>();
Console.Clear();
int liczba;
int ile_wylosowac = 8;
int ile_juz_wylosowano = 0;
int[] wylosowane = new int[9];
Random przedzial = new Random();
bool losowanie_ok;
for (int i = 1; i <= ile_wylosowac; i++)
{
do
{
liczba = przedzial.Next(1, 40);
losowanie_ok = true;
for (int j = 1; j <= ile_juz_wylosowano; j++)
{
if (liczba == wylosowane[j]) losowanie_ok = false;
}
if (losowanie_ok == true)
{
ile_juz_wylosowano++;
wylosowane[ile_juz_wylosowano] = liczba;
}
} while (losowanie_ok != true);
}
for (int z = 1; z <= 8; z++) { Console.WriteLine(wylosowane[z]); }
Console.ReadKey();
FileStream plik = new FileStream("teleturniej.txt", FileMode.Open);
StreamReader str_odczyt = new StreamReader(plik);
string odczyt;
do
{
odczyt = str_odczyt.ReadLine();
if (odczyt == null)
break;
string[] split = odczyt.Split(new Char[] { ' ' });
string Pytanie = split[0];
string Odpowiedz1 = split[1];
string Odpowiedz2 = split[2];
string Odpowiedz3 = split[3];
string Odpowiedz4 = split[4];
int Poprawna = Int32.Parse(split[5]);
Teleturniej.Add(new Obiekt(Pytanie, Odpowiedz1, Odpowiedz2, Odpowiedz3, Odpowiedz4, Poprawna));
} while (odczyt != null);
str_odczyt.Close();
plik.Close();
Console.ReadKey();
}
static void Zasady () {
Console.Clear();
Console.WriteLine("ZASADY GRY:");
Console.WriteLine("Na wstepie dostajesz 40 paczek, kazda zawiera 25000zl.");
Console.WriteLine("Musisz odpowiedziec na 8 prostych pytan, kazde ma 4 odpowiedzi.");
Console.WriteLine("Wybierasz prawidlowa odpowiedz.");
Console.WriteLine("Jesli odpowiesz zle, tracisz polowe pieniedzy.");
Console.WriteLine("Jesli pomylisz sie w ostatnim pytaniu, to stracisz wszystko");
Console.WriteLine("POWODZENIA!");
Console.ReadKey();
}
static void Autor () {
Console.Clear();
Console.WriteLine("AUTOR: ");
Console.WriteLine("xyzx");
Console.WriteLine("fgh");
Console.WriteLine("iop");
Console.ReadKey();
}
static void Wyniki () {
Console.Clear();
Console.WriteLine("WYNIKI:");
Console.WriteLine("|IMIE| KWOTA |CZAS|");
string sTmp = File.ReadAllText("wyniki.txt");
Console.WriteLine(sTmp);
Console.ReadKey();
}
static int Main(string[] args)
{
int iPozycjaMenu = 1;
menu(iPozycjaMenu);
for(; ; )
{
if (Console.KeyAvailable)
{
char znak = Console.ReadKey().KeyChar;
ePowtorz:
switch (znak)
{
case '1':
Graj();
menu(iPozycjaMenu);
break;
case '2':
Zasady();
menu(iPozycjaMenu);
break;
case '3':
Autor();
menu(iPozycjaMenu);
break;
case '4':
Wyniki();
menu(iPozycjaMenu);
break;
case (char)13:
znak ='0'+(char)iPozycjaMenu;
goto ePowtorz;
case (char)27:
return 0;
case (char)-32:
znak = Console.ReadKey().KeyChar;
switch (znak)
{
case (char)71:
iPozycjaMenu = 1;
menu(iPozycjaMenu);
break;
case (char)79:
iPozycjaMenu = PozycjeMenu;
menu(iPozycjaMenu);
break;
case (char)72:
if (iPozycjaMenu > 1) iPozycjaMenu--;
menu(iPozycjaMenu);
break;
case (char)80:
if (iPozycjaMenu < PozycjeMenu) iPozycjaMenu++;
menu(iPozycjaMenu);
break;
default:
Console.WriteLine("-32."+(int)znak+":"+znak);
break;
}
break;
default:
Console.WriteLine((int)znak + ":" + znak);
break;
}
}
};
}
}
}