Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Hallo,habe Fehler und kann sie nicht korrigieren

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 <
000
19.05.2007, 18:03 Uhr
IT S MAGIC



Hallo,
ich habe Fehler beim programmieren gemacht und kann sie nicht finden.Bitte helfen.Diese Fehlermeldungen kommen vor:

error C2065: 'cout': nichtdeklarierter Bezeichner
error C2065: 'endl': nichtdeklarierter Bezeichner
error C2065: 'cin': nichtdeklarierter Bezeichner


C++:
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
#include <stdafx.h>

char Auswahl;
char Eingabelösungleicht;
char Eingabelösungmittel;
char Eingabelösungschwer;

void main (void)
{
cout << "Hallo," << endl;
cout << "Dieses Programm wurde speziell für ....... geschrieben." << endl;
cout << "........welche Schwierigkeitsstufe wollen sie ?" << endl;
cout << "[L]eicht " << endl ;
cout << "[M]ittel " << endl ;
cout << "[S]chwer " << endl ;
cout << "Bitte nur die Buchstaben in den Eckigen Klammern eingeben: " << endl ;
cin >> Auswahl ;

if (Auswahl == 'L')
{
cout << "Sie haben LEICHT gewählt ! "<< endl;
cout << "10:2+3" << endl;
cout << "Bitte Lösung eingeben: " << endl;
cin >> Eingabelösungleicht;

if (Eingabelösungleicht == '8')
{
cout << "Die Eingabe war richtig Gratulation ........!" << endl;
}
else
{
cout << "Die Eingabe war leider falsch schade" << endl;
}
getchar();
}
if (Auswahl == 'M')
{
cout << "Sie haben MITTEL gewählt !" << endl;
cout << "11*(318-11)" << endl;
cout << "Bitte Lösung eingeben: " << endl;
cin >> Eingabelösungmittel;
if (Eingabelösungmittel == 3377)
{
cout << "Die Eingabe war richtig Gratulation ...........!" << endl;
}
else
{
cout << "Die Eingabe war leider falsch schade !" << endl;
}
getchar();
}
if (Auswahl=='S')
{
cout << "Sie haben SCHWER gewählt !" << endl;
cout << "4*15+3*10+7-18+20" << endl;
cout << "Bitte Lösung eingeben: ";
cin >> Eingabelösungschwer;
if (Eingabelösungschwer == 104)
{
cout << "Die Eingabe war richtig Gratulation .........!" << endl;
}
else
{
cout << "Die Eingabe war leider falsch schade !" << endl;
}
getchar();

}

}



Bitte helfen ich brauche es dingend !!!


Bearbeitung von 0xdeadbeef:

cpp-tags eingefügt. Nächstes mal selbst machen.


Dieser Post wurde am 20.05.2007 um 03:24 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
19.05.2007, 18:09 Uhr
Blubber2063



Du hast noch den alten Standard.
benutze statt <iostream.h> <iostream>
statt <string.h> <string> (wenn du hier die c variante von string willst dann müsste es glaube ich <cstring> heissen)
statt <stdio.h> <cstdio>
statt <ctype.h> <ctype> (bin mir hier nicht sicher)
und dann eigentlich immer std::cout, std::endl, std::err, usw.
Wenn du es leichter haben willst. using std::cout; using std::endl; usw hinter die header schreiben.
Schau dir halt mal nen Tutorial zu Namespaces und der STL an.

C++:
#include <cstdio>
#include <iostream>
#include <string>  
#include <stdafx.h>

using std::cout;
using std::cin;
using std::endl;

char Auswahl;
char Eingabelösungleicht;
char Eingabelösungmittel;
char Eingabelösungschwer;

void main (void) {
  cout << "Hallo," << endl;
  cout << "Dieses Programm wurde speziell für ....... geschrieben." << endl;
  cout << "........welche Schwierigkeitsstufe wollen sie ?" << endl;
  cout << "[L]eicht " << endl ;
  cout << "[M]ittel " << endl ;
  cout << "[S]chwer " << endl ;
  cout << "Bitte nur die Buchstaben in den Eckigen Klammern eingeben: " << endl ;
  cin >> Auswahl ;

  if (Auswahl == 'L') {
    cout << "Sie haben LEICHT gewählt ! "<< endl;
    cout << "10:2+3" << endl;
    cout << "Bitte Lösung eingeben: " << endl;
    cin >> Eingabelösungleicht;

    if (Eingabelösungleicht == '8') {
      cout << "Die Eingabe war richtig Gratulation ........!" << endl;
    }
  else {
    cout << "Die Eingabe war leider falsch schade" << endl;
  }
  getchar();
  }
  if (Auswahl == 'M') {
    cout << "Sie haben MITTEL gewählt !" << endl;
    cout << "11*(318-11)" << endl;
    cout << "Bitte Lösung eingeben: " << endl;
    cin >> Eingabelösungmittel;
    if (Eingabelösungmittel == 3377) {
      cout << "Die Eingabe war richtig Gratulation ...........!" << endl;
    }
    else{
      cout << "Die Eingabe war leider falsch schade !" << endl;
    }
    getchar();
  }
  if (Auswahl=='S') {
    cout << "Sie haben SCHWER gewählt !" << endl;
    cout << "4*15+3*10+7-18+20" << endl;
    cout << "Bitte Lösung eingeben: ";
    cin >> Eingabelösungschwer;
    if (Eingabelösungschwer == 104) {
      cout << "Die Eingabe war richtig Gratulation .........!" << endl;
    }
    else{
      cout << "Die Eingabe war leider falsch schade !" << endl;
    }
    getchar();

  }

}


evtl. muss vor das getchar auch noch ein std::

Dieser Post wurde am 19.05.2007 um 18:16 Uhr von Blubber2063 editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
19.05.2007, 19:35 Uhr
Suba Esel



ctype.h wird zu cctype

und ich würd statt getchar() std::cin.get() nehmen
--
Simon
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
19.05.2007, 19:54 Uhr
mischa
Fragender


Hat die main() nicht immer ein int als Rückgabewert?
Und ich würde die globalen Variablen mal lokal machen.
--
Latein Unterricht ist die spätere Rache der Römer an den Germanen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
20.05.2007, 01:45 Uhr
xXx
Devil


wohl eher sowas ...

C++:
#include <iostream>

int main()
{
    std::cout << "Hallo," << std::endl;
    std::cout << "Dieses Programm wurde speziell für Sie geschrieben." << std::endl;
    std::cout << "\tSchwierigkeitsstufe:" << std::endl;
    std::cout << "\t[L]eicht" << std::endl;
    std::cout << "\t[M]ittel" << std::endl;
    std::cout << "\t[S]chwer" << std::endl;
    std::cout << "Auswahl: " << std::flush;
    char sel = 'L';
    std::cin >> sel;

    switch (sel)
    {
    case 'l':
    case 'L':
        {
            std::cout << "Aufgabe: 10 / 2 + 3" << std::endl;
            std::cout << "Loesung: " << std::flush;
            unsigned short result = 0;
            std::cin >> result;
            std::cout << (result == 8 ? "Korrekt!" : "Falsch!") << std::endl;
        } break;
    case 'm':
    case 'M':
        {
            std::cout << "Aufgabe: 11 * (318 - 11)" << std::endl;
            std::cout << "Loesung: " << std::flush;
            unsigned short result = 0;
            std::cin >> result;
            std::cout << (result == 3377 ? "Korrekt!" : "Falsch!") << std::endl;
        } break;
    case 's':
    case 'S':
        {
            std::cout << "Aufgabe: 4 * 15 + 3 * 10 + 7 - 18 + 20" << std::endl;
            std::cout << "Loesung: " << std::flush;
            unsigned short result = 0;
            std::cin >> result;
            std::cout << (result == 104 ? "Korrekt!" : "Falsch!") << std::endl;
        } break;
    default:
        {
            std::cout << "Falsche Eingabe!" << std::endl;
        } break;
    }
}
.... überflüssige Header entfernt ... switch genommen ... groß und kleinschreibung des Buchstabens im Menü unwichtig ... passende Variablentypen eingesetzt ... strukturierte Ausgabe ... usw ... alles kleinigkeiten ... das ganze Programm sollte sich auf nen Bruchteil der Zeilen noch runterkürzen lassen ... aber zu übersichtlichkeit kann man es so machen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
20.05.2007, 03:09 Uhr
0xdeadbeef
Gott
(Operator)



C++:
#include <cctype>
#include <iostream>
#include <map>
#include <sstream>
#include <string>

typedef std::pair<std::string, int> problem_t;

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

  do {
    std::cout << prompt << std::flush;

    std::getline(std::cin, line);

    isstr.clear();
    isstr.str(line);
    isstr >> result;
  } while(!isstr);

  return result;
}

int main() {
  std::map<char, problem_t> problems;
  std::map<char, problem_t>::const_iterator iter;

  problems['l'] = problem_t("10 / 2 + 3"                   ,    8);
  problems['m'] = problem_t("11 * (318 - 11)"              , 3377);
  problems['s'] = problem_t("4 * 15 + 3 * 10 + 7 - 18 + 20",  104);

  std::cout <<
    "Hallo,\n"
    "Dieses Programm wurde speziell für Sie geschrieben.\n"
    "\tSchwierigkeitsstufe:\n"
    "\t[L]eicht\n"
    "\t[M]ittel\n"
    "\t[S]chwer\n";

  do {
    iter = problems.find(std::tolower(read_type<char>("Auswahl: ")));
  } while(iter == problems.end());

  std::cout << "Aufgabe: " << iter->second.first << std::endl;
  std::cout << (read_type<int>("Lösung: ") == iter->second.second ?
                "Korrekt!" :
                "Falsch!")
            << std::endl;
}


...damit hats dann auch gleich Bogus-Eingaben abgefangen.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 20.05.2007 um 03:23 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ 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: