Problem początkującego

0

Część, zacząłem się uczyć C# i chciałem napisac prorsty program który
zapyta o wiek -> uzytkownik poda jakas liczba -> twoj wiek to ...
ale nie działa
int = age;
Console.WriteLine("what is your age?");
age = Console.ReadLine(); (tu ma się zapytac o wiek zamierzenie)
age = Convert.ToInt32(age); (tu ma skonwertować)
Console.WriteLine("you age is " +age); (podaje wynik)
gdzie jest błąd (wydaje mi sie ze podczas konwersji string -> int, ale nie wiem jak to zrobic)
pozdrawiam

0

Czemu do int przypisujesz age?
Usuń znak równości pomiędzy int i age w pierwszej linijce.

0

nic to nie zmienilo :/

0
Console.WriteLine("what is your age?");
var age = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("you age is " + age);
1

dzięki :) ale chce to zrozumiec
mam pytanie do : var age = Convert.ToInt32(Console.ReadLine());
czemu var zamiast int? i czemu na koncu sa 3 )))? i gdzie tutaj consola zapyta nas o liczbe?

0
nowy123456789 napisał(a):

dzięki :) ale chce to zrozumiec
mam pytanie do : var age = Convert.ToInt32(Console.ReadLine());
czemu var zamiast int? i czemu na koncu sa 3 )))?

Może być i int. Co do tych nawiasów to przyjrzyj się uważnie i zobacz kiedy one są otwierane, a jak są otwierane to trzeba je też kiedyś zamknąć. Zresztą na końcu nie ma 3 nawiasów zamykających tylko 2.

i gdzie tutaj consola zapyta nas o liczbe?

Ta linijka odpowiada za pobranie wartości od użytkownika oraz konwersję na int.

var age = Convert.ToInt32(Console.ReadLine());

Mógłbyś to zapisać w taki sposób.

var age = Console.ReadLine(); // Pobierasz wartość od użytkownika 
Convert.ToInt32(age); // Tu ją konwertujesz
0

dzięki wielki :))

0

Witam,

Kod dla LinqPad/Aplikacji konsolowej

string text = string.Empty;

do
{
	Console.WriteLine("Podaj datę urodzenia:");
	//text = Console.ReadLine();
	text = Util.ReadLine();
	if (int.TryParse(text, out int year))
	{
		Console.WriteLine($"Twój wiek to: {DateTime.Now.Year - year}");
	}
	else
	{
		Console.WriteLine("Niepoprawny format");
	}
}while (text != "exit");

Pozdrawiam,

mr-owl

1

Jestem na etapie poznawania zmiennych i chciałem ten program napisać jak najłatwiej jak napisał GN ale dzięki mr owl może kiedyś twoj kod zrozumiem :))

0
nowy123456789 napisał(a):

Jestem na etapie poznawania zmiennych i chciałem ten program napisać jak najłatwiej jak napisał GN ale dzięki mr owl może kiedyś twoj kod zrozumiem :))

A co tutaj jest do rozumienia, deklaruję zmienną text która ma być typu string (ciąg znaków) i tam zapamiętuje dane które odczytałem z klawiatury. Są one typu string. W kolejnym kroku sprawdzam czy tekst który zapamiętałem da się przekształcić do liczby całkowitej, jeśli tak to wyświetlam go na ekranie a jeśli nie informuję że format danych jest nieprawidłowy.

$"Twój wiek to: {DateTime.Now.Year - year}"

można zamienić na:

int aktualnyRok = DateTime.Now.Year;
int wiek = aktualnyRok - year;
string wiadomość = string.Format("Twój wiek to: {0}", wiek);

Pozostaje jeszcze sprawa pętli która musi zostać wykonana przynajmniej raz. W pętli czekam na słowo kluczowe "exit" które kończy działanie pętli. Zainstaluj sobie LinqPad-a i wykonuj pod krok po kroku wyszukując w sieci objaśnień do słów kluczowych (if/else/do/while) i baw się zmieniając podany przykład.

Pozdrawiam,

mr-owl

1 użytkowników online, w tym zalogowanych: 0, gości: 1