не работает 4 цикл C++

252
30 ноября 2018, 21:50
#include <iostream>
using namespace std;
int main()
{
long int sX,sA = 0;
long int sS,sM,sD = 0;
long int t = 0;
long double x,a,y,b,z,c,k,j;
for (sX;sX > 0;)
{
    cout<<"1-addition,2-subtraction,3-multiplication,4-division 5-exit" 
<<endl;
    cin>>t;
    if (t==1)
    {
        for (sA;sA>0;)
        {
            cout<<"1 number"<<endl;
            cin>>x;
            cout<<"2 number"<<endl;
            cin>>a;
            cout<<"Result = "<<x+a<<endl;
            cout<<"continue? 1-yes 0-no"<<endl;
            cin>>sA;
        }
    }
           if (t==2)
    {
        for (sS;sS>0;)
        {
            cout<<"1 number"<<endl;
            cin>>y;
            cout<<"2 number"<<endl;
            cin>>b;
            if (y<b)
            {
                cout<<"error the first number must be greater than the 
            second"<<endl;
                cin;
            }
            else
            {
            cout<<"Result = "<<y-b<<endl;
            }
            cout<<"continue? 1-yes 0-no"<<endl;
            cin>>sS;
        }
    }
           if (t==3)
            {
        for (sM;sM>0;)
        {
            cout<<"1 number"<<endl;
            cin>>z;
            cout<<"2 number"<<endl;
            cin>>c;
            cout<<"Result = "<<z*c<<endl;
            cout<<"continue? 1-yes 0-no"<<endl;
            cin>>sM;
        }
     }
          if (t==4)
       {
        for (sD;sD>0;)
        {
            cout<<"1 number"<<endl;
            cin>>k;
            cout<<"2 number"<<endl;
            cin>>j;
            if (k > 0||j == 0 )
            {
                cout<<"the error can not be divided by zero"<<endl;
            }
            else if (k<j)
            {
                cout<<"error the first number must be greater than the 
            second"<<endl;
            }
            cout<<"Result = "<<k/j<<endl;
            cout<<"continue? 1-yes 0-no"<<endl;
            cin>>sD;
            }
        }
     if (t==5)
     {
         break;
     }
}
return 0;
}
Answer 1

Показательный пример, почему не надо пихать объявления сразу нескольких переменных в одну строку.

long int sX,sA = 0;  // sX остается неинициализированным
long int sS,sM,sD = 0; // sS и sM остаются неинициализированными

Соответственно в циклах

for (sX;sX > 0;) // неопределенное поведение
for (sD;sD>0;) // никогда не выполняется, ведь sD = 0
READ ALSO
loadFromFile SFML C++

loadFromFile SFML C++

Вообщем

218
Запрос SELECT к SQLite ничего не возвращает

Запрос SELECT к SQLite ничего не возвращает

Решил я прикрутить к своему проекту файловую базу данныхНу и выбрал как самый простой вариант - sqlite

178
C++ WINAPI, CALLBACK, INT

C++ WINAPI, CALLBACK, INT

Раньше не особо обращал внимание, но что значат и зачем нужны слова (не знаю как называть) в методах в winapi приложении?

231
Уточнение с константами

Уточнение с константами

В данном случае, 5 - это константа?

169