[C++]Schleifen,Statements,Menü?

06/10/2010 13:15 BloodlyKnife#1
Hi ich hab in etwa das gleiche Problem wie VersionX im Main Bereich :)
Ich bin auch anfänger kann aber schon einiges :cool: :P xD

Hier mal ein Code(damit ihr es euch vorstellen könnt):
Code:
#include <iostream>
#include <string>

using namespace std;

main(){

cout << "Wählen sie eine Funktion!" << endl;
cout << "100% mit For-Schleife                    <1>" << endl;
cout << "100% mit While-Schleife                 <2>" << endl;
///usw......

int x1;
cin >> x1;

switch(x1){
case 1:
    for(int i = 0; i == 100; i++){
    cout << i << " %" << endl;
    } 
    getchar();
    break;
case 2:
 int x2 = 0;
while(x2 == 100){
cout << x2 << " %" << endl;
}
getchar();
break;
}
}
So.
Das Konsolen Fenster das sich öffnet ignoriert if statemants und Schleifen.
Das Programm beendet sich einfach mit "Bitte drücken sie eine Beliebige Tase....".
Was kann ich da machen?

Und wie komme ich nach den Herunter zählen der 100% wieder in das Menü wo man auswählen kann was er machen soll?(100% For schleife, 100% while..,)

Gibt für jede Hilfreiche Antwort ein Thanks:D
Hab auf C++ Deverloper
MFG: BloodlyKnife
06/10/2010 13:52 Demon-777#2
Kann C++ nicht so gut aber so muss es wohl gehen.
Pass nur auf dass du keine Buchstaben eingibst :D

Code:
#include <iostream>
#include <string>

void main()
{
	int iSelection, a, b;

menu:
	a = 0;
	b = 0;

	std::cout << "Wählen sie eine Funktion!"   << std::endl;
	std::cout << "100% mit For-Schleife   <1>" << std::endl;
	std::cout << "100% mit While-Schleife <2>" << std::endl;
	std::cin >> iSelection;

	switch (iSelection)
	{
	case 1:
		for (a; a <= 100; a++) // loops 100 times till 100%.
		{
			std::cout << a << "%" << std::endl;
		}
		break;
	case 2:
		while (b <= 100) // loops again 100 times till 100%.
		{
			std::cout << b << "%" << std::endl;
			b++;
		}
		break;
	default:
		std::cout << "Diese Option wurde nicht gefunden!" << std::endl;
		break;
	}

	std::system("PAUSE");
	std::system("CLS");

	goto menu;
}
06/10/2010 13:55 nkkk#3
Quote:
for(int i = 0; i == 100; i++){
cout << i << " %" << endl;
}
naja du initialisiertst i mit null, und dnn sagtst du "solange i 100 ist" klar, dass der fall nie eintritt ;)

eigentlich willst du ja "solage i kleiner oder gleich 100 ist, richtig währe also "i <= 100"
06/10/2010 13:55 Greysky#4
hey nice
aber was bringt das^^
krigst trotzdem thx
06/10/2010 13:56 Medix#5
Ich würd mir nochmal genau anschauen wie schleifen funktionieren ;)

die beiden schleifen sollten gehen:

Code:
    for(int i = 0;[B] i < 101[/B]; i++){
    cout << i << " %" << endl;
    }
&

Code:
while([B]x2 < 101[/B]){
cout << x2 << " %" << endl;
[B]x2++;[/B]
}
06/10/2010 14:16 P-a-i-n#6
das schleifen bis 100 zählen gibt es eine einfache eingabe
1 mal so

Code:
   for(int i = 0; i <= 100; i++
{
    cout << i << " %" << endl;
    }
Code:
while(x2 <= 100)
{
cout << x2 << " %" << endl;
x2++;
}

nur ein <= bedeuted kleiner oder gleich ;D drauß ergibt sich dann die 100 ;)
06/11/2010 20:26 schlurmann#7
Quote:
Originally Posted by Demon-777 View Post
Code:
goto menu;
Ewwwwww. :pimp:
06/11/2010 20:48 ddl#8
Quote:
Originally Posted by schlurmann View Post
Ewwwwww. :pimp:
Genau das gleiche hab ich auch gedacht....