Hvorfor udfore den ikke den sidste else??

Tags:    c++

#include <iostream>

using namespace std;

int main()
{

/*Bed om to tal
Tildel tal1 og tal2
Hvis Tal1 er større end Tal2,
så se, om tal2 går op i tal1.
Er dette tilfældet, så se, om de er identiske*/
int long Tal1,Tal2;
std::cout<<("Indtast to tal, det første:\\t");
std::cin>>Tal1;
std::cout<<("\\nSaa det andet:\\t");
std::cin>>Tal2;


if (Tal1>=Tal2)
{
if(Tal1 % Tal2 == 0)
{
if (Tal1==Tal2)
std::cout<<("\\nTallene er lige store")<<endl;
else
std::cout<<("\\nAndet går op i det foerste")<<endl;
}
else
std::cout<<("\\nDet andet tal er stoerre end det første.\\n")<<endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}





Hvad mener du at der skulle ske?
Og hvad sker der?

Du mente måske:
Fold kodeboks ind/udKode 


Bemærk at jeg har flyttet den sidste else



Det er bare en øvelse i komplekse IF sætninger, jeg er igang med at lære c++ og det var sådan det var sat op i bogen. Nu virker det den viser else sætningen (sidste) hvis tal 2 er større en tal 1 Det gjorde den ikke før. Kan du forklare mig forskellen på din kode og min. (Hvad der sker tekninsk) Mange tak :)



Din koden med pseudo sprog:

Hvis Tal1 er større end eller lig med Tal2
(
Hvis Tal2 går op i Tal1
(
Hvis Tal1 er det samme som Tal2
skriv: de to tal er ens
Ellers (1)
Skriv at Tal2 går op i Tal1
)
Ellers (2)
Skriv at Tal2 er større end Tal1
)

Min:
Hvis Tal1 er større end eller lig med Tal2
(
Hvis Tal2 går op i Tal1
(
Hvis Tal1 er det samme som Tal2
skriv: de to tal er ens
Ellers (1)
Skriv at Tal2 går op i Tal1
)
)
Ellers (2)
Skriv at Tal2 er større end Tal1

I dit eksempel bliver Ellers (2) udført hvis Tal2 ikke går op i Tal1, i mit eksempel bliver Ellers (2) udført hvis Tal1 ikke er større end eller lig med Tal2



Det kan jeg godt se nu, det er logisk når man lige ser forskellen og får det forklaret. Tak for hjælpen




t