Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Programm stürzt nach if abfage ab

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
07.01.2007, 19:43 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



Zitat von Suba Esel:

2.: Wie kann man mit einer C++ - Funktion den Bildschirm lehren?


Was willste dem Bildschirm lehren?
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
07.01.2007, 19:52 Uhr
Suba Esel



Sorry, Gewohnheit vom Chatten
Meine Eltern sind beide Lehrer
--
Simon

Dieser Post wurde am 07.01.2007 um 19:52 Uhr von Suba Esel editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
08.01.2007, 19:17 Uhr
~absoluter anfänger
Gast


probiers mal mit


C++:

clrscr();


wenn du leeren meintest!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
08.01.2007, 19:30 Uhr
Suba Esel



Hilft leider nichts, denn die Funktion clrscr() bzw. cls() ist nicht bei allen Compilern in conio.h drin. Auch Virtuals Escape - Sequenz funktioniert leider nicht.
--
Simon
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
08.01.2007, 20:22 Uhr
0xdeadbeef
Gott
(Operator)



C++:
system("cls");


ist aber auch nicht grad ein portabler Weg, den screen zu clearen. Ganz zu schweigen davon, was passiert, wenn dir da jemand per doskey irgendwelche Makros unterschiebt.

Virtual's Weg ist ANSI-konform, das nützt dir aber unter DOS/Windows leider ziemlich wenig. Früher konnte man da die ansi.sys einbinden, um das zu kriegen, Aber wie das inzwischen aussieht...

So oder so, warum eigentlich cls? Funktioniert doch auch ohne gut.

C++:
#ifdef __WIN32__
#include <cstdlib>
#endif

#include <iomanip>
#include <iostream>
#include <sstream>
#include <string>

void print_tables()
{
  static double const bmi_table[][8][4] = {
    {
      { 14.9, 16.0, 21.6, 24.4 },
      { 15.4, 16.6, 22.5, 25.4 },
      { 16.1, 17.3, 23.3, 26.2 },
      { 16.7, 17.8, 24.1, 26.9 },
      { 17.3, 18.4, 24.5, 27.4 },
      { 17.5, 19.0, 24.9, 27.6 },
      { 18.9, 19.3, 25.0, 27.6 },
      { 18.4, 19.6, 25.3, 27.7 }
    },
    {
      { 15.0, 16.0, 21.4, 24.4 },
      { 15.4, 16.5, 22.3, 25.3 },
      { 15.9, 17.1, 23.0, 26.2 },
      { 16.5, 17.7, 23.7, 26.9 },
      { 17.0, 18.3, 24.4, 27.4 },
      { 17.6, 18.8, 24.9, 27.9 },
      { 18.1, 19.4, 25.4, 28.3 },
      { 18.6, 20.2, 25.9, 28.7 }
    }
  };

  static char const *const labels[] = { "Maedchen", "Jungen" };

  std::cout << std::setprecision(1) << std::fixed;

  for(int i = 0; i < 2; ++i) {
    std::cout <<
      labels[i] << ":\n"
      "Alter Unter -     Normal -    Ueber -     gewichtig\n";

    for(int j = 0; j < 8; ++j) {
      std::cout << j + 11 << "    " << bmi_table[i][j][0];
      
      for(int k = 1; k < 3; ++k) {
    std::cout << " - " << bmi_table[i][j][k] - 0.1 << ' ' << bmi_table[i][j][k];
      }
      std::cout << " - " << bmi_table[i][j][3] << '\n';
    }
  }

  std::cout << std::flush;
}

double bmi(double weight, double height) {
  return weight / (height * height);
}

template <typename t> t read_type(std::string const &prompt) {
  std::istringstream isstr;
  std::string s;
  t ret;

  do {
    std::cout << prompt << std::flush;
    std::getline(std::cin, s);

    isstr.clear();
    isstr.str(s);
    isstr >> ret;
  } while(!isstr);

  return ret;
}

int main() {
  int op;

  do {
    std::cout <<
      "Menue:\n"
      "1: Berechnen\n"
      "2: Tabelle\n"
      "3: Ende\n"
      "\n";
    op = read_type<int>("Auswahl: ");

    switch(op) {
    case 1:
      {
    double w = read_type<double>("Gewicht in kg: ");
    double h = read_type<double>("Groesse in cm: ") / 100.0;

    std::cout << "Ihr BMI betraegt " << bmi(w, h) << std::endl;
      }
      break;
    case 2:
      print_tables();
      break;
    case 3:
      break;
    default:
      std::cout << "Ungueltige Eingabe." << std::endl;
    }
  } while(op != 3);

#ifdef __WIN32__
  std::system("pause");
#endif
}


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
08.01.2007, 22:46 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


clrscr: www.fun-soft.de/showtopic.php?threadid=17123

genauso gotoxy: www.fun-soft.de/showtopic.php?threadid=1273
--
class God : public ChuckNorris { };

Dieser Post wurde am 08.01.2007 um 22:48 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
09.01.2007, 09:35 Uhr
Suba Esel



Ok, herzlichen Dank. Ich werds zu Hause gleich mal ausprobieren (bin grad in der Schule).
--
Simon
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
09.01.2007, 20:53 Uhr
Suba Esel



Funktioniert richtig gut!
Allerdings muss man windows.h includen, oder?
--
Simon
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
09.01.2007, 21:51 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


ja
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: