C# else if - proste pytanie

Wszystko co dotyczy tworzenia i optymalizacji stron internetowych oraz programowania
LucasRun

Użytkownik
Posty: 16
Rejestracja: 19 sie 2014, 17:59

C# else if - proste pytanie

Post10 gru 2014, 21:10

Witam,
mam pytanie czemu nie mogę zastosować esle if w kodzie. Chodzi o moment, w którym chciałem zastosować else if i visual 2013 podkreśla to na czerwono(2 errors: Invalid expression term 'else', ;expected)

Kod: Zaznacz cały

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication4
{
    class Program
    {
        static void Main(string[] args)
        {
            int i, j, a, b, jeden=1, dwa=1;
            Console.Write("Podaj wartosc liczby a:");
            a = Convert.ToInt32(Console.ReadLine());
            Console.Write("Podaj wartosc potegi b:");
            b = Convert.ToInt32(Console.ReadLine());
            if (a== 2)
                for (i=1;i<=b;i++)
                    jeden *= 2;
                    Console.WriteLine("{0}^{1}={2}",b, a, jeden);

            else if (a == 3)
                        for (j = 1; j <= b; j++)
                            dwa *= 3;
                    Console.WriteLine("{0}^{1}={2}", b, a, dwa);


                            Console.ReadKey(true);
        }
       
    }
}

Awatar użytkownika
cosik_ktosik

Administrator
Posty: 21399
Rejestracja: 13 lis 2008, 01:17
Lokalizacja: Szczecin
Kontaktowanie:

C# else if - proste pytanie

Post10 gru 2014, 22:04

Jeśli po IF, FOR nie Masz klamry to dana instrukcja dotyczy tylko następnej, a zatem po for jest jeden*=2; na tym FOR się skończył, a Ty dalej chcesz pisać na ekran. Oki, ale z powodu braku klamer skończył się na tamtej linijce też IF, a zatem Console.Write.... jest już poza nimi.

A zatem z powodu braku klamer nie można zrobić else if bo tam już nie obowiązuje żaden wcześniejszy IF. Wniosek: użyj klamer.
Hotfix
Pozdrawiam, cosik_ktosik :)

Awatar użytkownika
rokko

Administrator
Posty: 4082
Rejestracja: 23 lis 2008, 22:14
Lokalizacja: Myszków
Kontaktowanie:

C# else if - proste pytanie

Post11 gru 2014, 15:05

Na pętli też powinny być klamry.
Poradniki informatyczne »» Dostępne tylko dla zarejestrowanych użytkowników
Na stronie znajdziesz porady komputerowe a także informacje dotyczące technik promowania serwisów WWW, ciekawe narzędzia dla marketingowców. Zapraszam!

Promocja sklepów, Optymalizacja stron, Pozycjonowanie w Google »» kontakt<małpa>techformator.pl
W sprawach IT nie pomagam na PW

Awatar użytkownika
cosik_ktosik

Administrator
Posty: 21399
Rejestracja: 13 lis 2008, 01:17
Lokalizacja: Szczecin
Kontaktowanie:

C# else if - proste pytanie

Post11 gru 2014, 15:13

Mi ogólnie chodziło o stosowanie klamer do wydzielania bloków funkcjonalnych. W takim sensie pisałem.
Hotfix
Pozdrawiam, cosik_ktosik :)



  • Reklama

Wróć do „Webmastering i programowanie”



Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 11 gości