Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

12.11.2011, 16:13

Nicht initialisierte Variable - Fehlermeldung

hi,
Ich bins schon wieder. Und zwar habe ich folgendes Problem:

Wenn ich mein Programm ausführe und an eine bestimmte Stelle komme, verkleinert sich das Programm und folgende Fehlermeldung erscheint:

Run-Time Check Failure #3 - The variable 'r' is being used without being initialized.

Ich habe die Variable aber vorher schon so initialisiert :

long double i, o, f, r;

Was kann ich dagegen tun?

Danke schonmal für Antworten :D
Lukas
Mein Spieleprojekt:War of future
Mein Blog: War of future
Ich kenne mich mit Blender aus.

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

ProAmateur

Alter Hase

Beiträge: 434

Wohnort: Bei Simmern, Koblenz

Beruf: Schüler

  • Private Nachricht senden

3

12.11.2011, 16:31

Ohne Code kann man dazu nur wenig sagen :p
"Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will."
Galileo Galilei
________________________________________________________________________

"Dumme Fragen gibt es nicht, dumm ist nur, wer nicht fragt.“

valentin

Treue Seele

Beiträge: 212

Wohnort: Schweiz

Beruf: Schüler

  • Private Nachricht senden

4

12.11.2011, 16:38

[...]long double i, o, f, r;[...]


Hier sagst du dem Compiler zwar, dass es die Variablen gibt, allerdings teilst du ihm nicht mit, was für einen Wert die Variablen haben.

Deklaration:

C-/C++-Quelltext

1
int foo();


Definition:

C-/C++-Quelltext

1
int foo() { };


Initialisieren:

C-/C++-Quelltext

1
int var = 3;
visit me on deviantArt!
http://v-alentin.deviantart.com/

There is no programming language, no matter how structured, that will prevent programmers from making bad programs. //Larry Flon

5

12.11.2011, 17:00

Hier der Code:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include "stdafx.h"
#include <iostream>

using namespace std;

int main(void) {
    long double i, o, f, r;
    int ival1, ival2, ival3, ival4 ;
    ival1 = 1;  // ival1 wird Wert zugewiesen
    ival2 = 2;  //  """ 
    ival3 = 3;  //  """
    ival4 = 4;  //  """  
    
    cout << "Willkommen zum rechnen\n.Dies ist nur eine Verbesserte Version von der aderes Version.\nDu kannst jetzt +, -, * und / rechnen!!!!\n\n Gut hoffentlich funktionert alles.\nWenn ncoh fragen, fragt einfach mich\n\n";
    cout << "Dann wollen wir mal beginnen;\nBitte erste Zahl: ";
    cin >> i; "\n";
    cout << "Uunnnd noch die zweite Zahl: ";
    cin >> o; "\n";
    cout << "Gut gemacht!! die Beide Zahlen lauten " << i << " und " << o << "\n";   // Eingegebene Zahlen ausgeben.

    cout << "Welche Rechnung möchtest du für die Zahlen rechnen:\nSubtrahieren(1)\nDividieren(2)\nMultiplitiren(3)\nAddieren(4)\n ";
    do {
    cout << "Bitte wähle eine Zahl: ";
    cin >> f;                                 // f
    if (f == ival1 || ival2 || ival3 || ival4) {
        cout << "Richtige Eingabe"; }
    
           if (f == ival1) {
               cout << "Ergebnis Subtraktion: " << i - o  << "=" << r << "\n";
               cout << "Danke dass du gerechnet hast.\n eingabe drücken zum beenden. ";
           }
           // Hier gehts noch weiter ...
    }while (f != ival1 || ival2 || ival3 || ival4);
    
           cout << "Falsche eingabe!!\n";

         
           
           cin.ignore();
           cin.get();
           return 0;
}


ist noch nicht ganz fertig :D
Mein Spieleprojekt:War of future
Mein Blog: War of future
Ich kenne mich mit Blender aus.

valentin

Treue Seele

Beiträge: 212

Wohnort: Schweiz

Beruf: Schüler

  • Private Nachricht senden

6

12.11.2011, 17:02

Wie schon gesagt, weist du der Variable r keinen Wert zu.

Ausserdem funktioniert das ganze nicht so wie du willst:

C-/C++-Quelltext

1
cout << "Ergebnis Subtraktion: " << i - o  << "=" << r << "\n";

gibt bei den Zahlen i = 5 und o = 3 "Ergebnis Subtraktion: 2 = 2" aus. (Sofern du r noch einen Wert zuweist.)

Du solltest das so schreiben:

C-/C++-Quelltext

1
cout << "Ergebnis Subtraktion: " << i << "-" <<o<<"=" << i-o << "\n";
visit me on deviantArt!
http://v-alentin.deviantart.com/

There is no programming language, no matter how structured, that will prevent programmers from making bad programs. //Larry Flon

7

12.11.2011, 17:11

cool !! Hat geklappt :D.

Nun aber das nächste Problem ;). Immer wenn ich jetzt bei meinem Programm eine Zahl ungleich 1,2,3,4 eingebe (z.b.3) , kommt trotzdem 'richtige eingabe'. Was hab ich da falsch gemacht ??
(siehe Quellcode)
Mein Spieleprojekt:War of future
Mein Blog: War of future
Ich kenne mich mit Blender aus.

valentin

Treue Seele

Beiträge: 212

Wohnort: Schweiz

Beruf: Schüler

  • Private Nachricht senden

8

12.11.2011, 17:14

C-/C++-Quelltext

1
if (f == ival1 || ival2 || ival3 || ival4)

Macht nicht das, was du willst. Was daran falsch ist, darfst du selbst herausfinden ;)
visit me on deviantArt!
http://v-alentin.deviantart.com/

There is no programming language, no matter how structured, that will prevent programmers from making bad programs. //Larry Flon

9

13.11.2011, 09:44

Gut ich habs gestern rausgekriegt. :D

Aber gibt es irgendeinen Wert, der für alle Zahlen steht , den ich dann 'r' zuweisen kann??
Mein Spieleprojekt:War of future
Mein Blog: War of future
Ich kenne mich mit Blender aus.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

10

13.11.2011, 13:32

Aber gibt es irgendeinen Wert, der für alle Zahlen steht , den ich dann 'r' zuweisen kann??

Ein Wert steht für eine Zahl. Also nein!

Werbeanzeige