C++ omija pętle while

0

Przy wykonywaniu program omija algorytm w pętli while i przechodzi od razu do wypisania wyniku, dlaczego?

 #include "stdafx.h"
#include <iostream>
#include <stack>
#include <fstream>
#include <string>
#include <stdio.h>
#include <ctype.h>
using namespace std;

int priorytet(char dzialanie)
{
    if((dzialanie=='*') || (dzialanie=='/')) return 2;
    else if((dzialanie=='+') || (dzialanie=='-')) return 1;
    else  return 0;
}

int main()
{
    string nazwa;
    cout << "Podaj nazwe pliku wejsciowego: ";
    cin >> nazwa;

    ifstream plik(nazwa.c_str(), ios::in);

    if(!plik)
        {
            cout << "Nie mozna otworzyc pliku.\n";
            return 1;
        }

    char znak,
        dzialanie,
        tab[20],
        wynik[20];
    int i=0,
        j=0;
    stack <int> stos;

    while(plik.get(znak))  tab[i++]= znak;

    while(i<20)
    {
        if (isalnum(tab[i]))
        {
            wynik[j]=tab[i];
            j++;
        }

        else if (tab[i]=='(') 
        {
            stos.push(tab[i]);
        }

        else if (tab[i]=='+' || tab[i]=='-' || tab[i]=='/' || tab[i]=='*')
        {
            if (stos.empty())
            {
                stos.push(tab[i]);
            }

            else
            {
                dzialanie=stos.top();
                while((priorytet(stos.top()))>=priorytet(tab[i]))
                {
                    wynik[j]=stos.top();
                    j++;
                    stos.pop();
                }
                stos.push(tab[i]);
            }
        }

        else if (tab[i]==')') 
        {
            while(stos.top()=='(')
            {
                wynik[j]=stos.top();
                j++;
                stos.pop();
            }
            stos.pop();
        }
        i++;
    }

    for (i=0; i<20; i++)
    {
        cout << tab[i];
    }

    cin.get();
    cin.ignore();
}
0

while(plik.get(znak)) tab[i++]= znak;
while(i<20)

teraz widać?
Swoją drogą co za lenistwo patentowane,żeby debuggera nie chcieć odpalić...

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