Metoda nie zwraca, Początkujący

0

Witam

Jestem początkujący. Mam problem z moja metodą. Chce aby moja metoda po wpisaniu ile pasażerów bedzie jechać mówiła czy można jechać czy nie można. Nie moge doszukać się co jest nie tak dołączam kod i prosze o nakierowanie.

using System;


    class Pojazd
    {
        public int pasazezy;
        public int spalanie;
        public int pojemnosc;

        public int zasieg()
        {

            int wartosc = pojemnosc * 100 / spalanie;
            return wartosc;
        
        }
        public void czy_zmiesci(int pasazerowie)
        {
            if (pasazerowie > pasazezy)
            {
                Console.WriteLine("Za duza liczba pasazerów");
            }
            else
            {
                Console.WriteLine("Można jechać");
            }
            return ;
            
            
        }
    }


    class Pokaz
    {
        public static void Main()
        {

           

            Pojazd maluch = new Pojazd();
            maluch.pasazezy = 4;
            maluch.spalanie = 6;
            maluch.pojemnosc = 30;

            Pojazd audi = new Pojazd();
            audi.pasazezy = 5;
            audi.spalanie = 9;
            audi.pojemnosc = 40;

            Console.WriteLine("Maluch pomieści " + maluch.pasazezy + " pasażerów");
            Console.WriteLine("Maluch na pełnym baku przejedzie" + maluch.zasieg() + "km");

            Console.WriteLine("Podaj liczbe pasazerów: ");
            maluch.pasazezy = Console.Read();
            maluch.czy_zmiesci(maluch.pasazezy);

            

            Console.WriteLine("");

            Console.WriteLine("Audi pomieści " + audi.pasazezy + " pasażerów");
            Console.WriteLine("Audi na pelnym paku przejedzie " + audi.zasieg() + "km");
            audi.czy_zmiesci(audi.pasazezy);


            Console.Read();
        }
    }

 

Pozdrawiam
GłupiHomik

0

wpisujesz liczbę do zmiennej:

maluch.pasazezy = 4;

potem do tej samej zmiennej wczytujesz liczbę z klawiatury:

maluch.pasazezy = Console.Read();

a potem wywołujesz:

maluch.czy_zmiesci(maluch.pasazezy);

w środku którego zostanie porównana wartość maluch.pasazezy z parametrem maluch.pasazezy
jeśli dalej nie wiesz co jest źle to chyba nikt Ci tego już nie wytłumaczy

BTW co ma znaczyć "pasazezy"?

0
using System;


class Pojazd
{
    public int pasazezy;
    public int spalanie;
    public int pojemnosc;

    public int zasieg()
    {

        int wartosc = pojemnosc * 100 / spalanie;
        return wartosc;

    }
    public void czy_zmiesci(int pasazerowie)
    {
        if (pasazerowie > pasazezy)
        {
            Console.WriteLine("Za duza liczba pasazerów");
        }
        else
        {
            Console.WriteLine("Można jechać");
        }
        return;


    }
}


class Pokaz
{
    public static void Main()
    {



        Pojazd maluch = new Pojazd();

        maluch.spalanie = 6;
        maluch.pojemnosc = 30;

        Pojazd audi = new Pojazd();
        audi.pasazezy = 5;
        audi.spalanie = 9;
        audi.pojemnosc = 40;

        Console.WriteLine("Maluch pomieści " + maluch.pasazezy + " pasażerów");
        Console.WriteLine("Maluch na pełnym baku przejedzie" + maluch.zasieg() + "km");

        Console.WriteLine("Podaj liczbe pasazerów: ");
        maluch.pasazezy = Console.Read();
        maluch.czy_zmiesci();



        Console.WriteLine("");

        Console.WriteLine("Audi pomieści " + audi.pasazezy + " pasażerów");
        Console.WriteLine("Audi na pelnym paku przejedzie " + audi.zasieg() + "km");
        audi.czy_zmiesci(audi.pasazezy);


        Console.Read();
    }
}


Prosze zobacz czy w dobra strone się kieruje?

pasazezy to takie słowo żarcik od pasażerów ;)

0

Teraz to się nawet nie skompiluje.

0

wywal ten **return ** z metody czy_zmiesci, bo ona jest typu void czyli nic nie zwraca, a w Main (jeśli dobrze rozumiem co chcesz osiągnąć) sprawdź taką konstrukcję:

            Pojazd maluch = new Pojazd();
            maluch.pasazezy = 5;
            Console.Write("Podaj liczbe pasazerów: ");
            maluch.czy_zmiesci(int.Parse(Console.ReadLine())); 

No i na przyszłość do wczytywania danych z konsoli używaj Console.ReadLine(), a konwertować na int możesz tak jak w moim przykładzie.

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