WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 03.10.2002, 22:00   #11
kikakater
Inventar
 
Registriert seit: 24.01.2001
Beiträge: 5.631


Standard

Ein default Zweig ist nicht zwingend notwendig, es geht ja nur um das Ausrechnen eines Wertes. Außerdem ist die switch Anweisung im else Zweig einer if(Bedingung==true) Konstruktion eingebettet. Insofern ist dort der default Zweig realisiert ...
kikakater ist offline   Mit Zitat antworten
Alt 03.10.2002, 22:23   #12
pirate man
Inventar
 
Registriert seit: 15.06.2000
Beiträge: 2.833


Standard

habs jetzt mit einer if-abfrage probiert
für mich wärs logisch, aber es geht nicht - sobald ich was anderes als m oder w eingeb, wird aus dem programm ausgestiegen
Code:
#include <stdio.h>
#include <conio.h>

void main ()

{

clrscr();

printf("Sind Sie (m)„nnlich oder (w)eiblich?\n");

int kg,kgw;

char ge;
ge=getchar();

if(ge!='m' && ge!='w')
{
   printf("\nSie haben eine falsche Eingabe gemacht!");
}
else
{

printf("\nGeben Sie bitte Ihre K”rpergr”áe in Zentimeter ein:\n");

scanf("%d",&kg);

switch(ge)
{
   case 'm':
   kgw=(kg-100)*0.9;
   break;

   case 'w':
   kgw=(kg-100)*0.85;
   break;
}

 printf("\n\nIhr Idealgewicht ist ");
 printf("%d",kgw);
 printf("kg.");

 getch();

}
}
pirate man ist offline   Mit Zitat antworten
Alt 03.10.2002, 22:57   #13
kikakater
Inventar
 
Registriert seit: 24.01.2001
Beiträge: 5.631


Standard

Ohne erneute Möglichkeit zur - dann korrekten - Eingabe wird das Programm eben weiter ausgeführt. In diesem Fall gibt es eben keine weiteren Befehle nach dem if-Befehl und deswegen wird das Programm beendet.

Verwende eine Schleife um die if() else Konstruktion und ein break; im else Zweig.

Code:
for( ; ; )
{

 key= getch();

 if(key!='m' && key!='M' && key!='w' && key!='W') printf(...);
 else
 {

  scanf(...);

  switch(key)
  {
   ...
  }

  break;
 }

}
kikakater ist offline   Mit Zitat antworten
Alt 03.10.2002, 23:03   #14
pirate man
Inventar
 
Registriert seit: 15.06.2000
Beiträge: 2.833


Standard

ah, es geht schon
der fehler war, dass das getch(); im else-zweig war
pirate man ist offline   Mit Zitat antworten
Alt 03.10.2002, 23:30   #15
pirate man
Inventar
 
Registriert seit: 15.06.2000
Beiträge: 2.833


Standard

eine frage hab ich noch
wie bring kann ich das programm dazu bringen, nach der ausgabe ("ihr idealgewicht ist ...") nicht zu schliessen, sondern durch einen tastendruck nochmal von vorn anzufangen (eingabe von geschlecht usw.)?
pirate man ist offline   Mit Zitat antworten
Alt 03.10.2002, 23:36   #16
kikakater
Inventar
 
Registriert seit: 24.01.2001
Beiträge: 5.631


Standard

Lösung steht oben, eine for Schleife verwenden.
kikakater ist offline   Mit Zitat antworten
Alt 04.10.2002, 06:40   #17
pong
Inventar
 
Benutzerbild von pong
 
Registriert seit: 25.12.2000
Alter: 41
Beiträge: 9.063

Mein Computer

pong eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von pirate man
eine frage hab ich noch
wie bring kann ich das programm dazu bringen, nach der ausgabe ("ihr idealgewicht ist ...") nicht zu schliessen, sondern durch einen tastendruck nochmal von vorn anzufangen (eingabe von geschlecht usw.)?
Code:
printf...;
getch();
____________________________________
\"Ein Gewitter reinigt die Luft\", sagte der Mann, nachdem ein Blitz seine Frau erschlug

Nicht klicken!


Erstposteralarm/Beschwerde/Kummerkasten


Verplattet
pong ist offline   Mit Zitat antworten
Alt 04.10.2002, 20:02   #18
pirate man
Inventar
 
Registriert seit: 15.06.2000
Beiträge: 2.833


Standard

hm, hab noch eine frage
ich will eine aktion ausführen, wenn die eingegebene zahl im bestimmten zahlenbereich ist
beispiel:
wenn die eingegebene zahl im zahlenbereich 10-20 ist, dann den text "blablabla" ausgeben
geht das nur mit if oder auch mit switch/case? habs mit switch/case probiert, aber leider dürften da < und > nicht gehen
pirate man ist offline   Mit Zitat antworten
Alt 04.10.2002, 20:11   #19
pc.net
Aussteiger
 
Benutzerbild von pc.net
 
Registriert seit: 07.10.2001
Ort: Nettistan
Beiträge: 12.997

Mein Computer

Standard

bei switch/case kannst du nur exakte werte abfragen ... wertebereich gehen nur mit if ...
____________________________________
Praktizierender Eristiker

No hace falta ser un genio para saber quién dijo eso.
Der wirklich faule Mensch ist oft extrem fleißig, denn er will möglichst schnell wieder faul sein.
pc.net ist offline   Mit Zitat antworten
Alt 04.10.2002, 20:13   #20
pirate man
Inventar
 
Registriert seit: 15.06.2000
Beiträge: 2.833


Standard

ok, thx
pirate man ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:34 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag