» Kopfrechen-Trainer

DVTK-Aufgaben aus dem Abitur zu CNeuen Thread eröffnenNeue Antwort erstellenTon in Programm einbinden
AutorNachricht
Beobachter 
Anmeldedatum: 19.11.2011
Beiträge: 1
19.11.2011, 21:48
zitieren

Also bei folgendem Programm habe ich das problem, dass er mir beim Compilieren, die fehlermeldung gibt, dass operand1 und operand2 undeclared sind. Warum ist das so?? Danke

#include <stdio.h>
#include <stdlib.h>

/*Zwei Operanden und die Operatoren +-/*% sollen willkürlich
gewählt werden*/

int main() {

int i;

srand(time(NULL));

// erzeugen der operanden

for(i = 0; i < 2; i++){

if(i == 0){
int operand1 = rand()%10+1; // im bereich von 1-10
printf("%d", operand1);
}

if(i == 1){
int operand2 = rand()%10+1;
printf("\t%d\n\n\n", operand2);
}
} //erzeugen der operatoren
int ersatz = rand()%5+1;

if(ersatz == 1)
int ergebnis = operand1 + operand2;//PROBLEMZEILE

/*else if(ersatz == 2)
int ergebnis = operand1 - operand2;

else if(ersatz == 3)
int ergebnis = operand1 * operand2;

else if(ersatz == 4)
int ergebnis = operand1 / operand2;

else if(ersatz == 5)
int ergebnis = operand1 % operand2;*/


printf("Das Ergebnis ist: %d\n", ergebnis);


system("PAUSE");
return 0;
}


Thx
take care


pn
Junior 
Anmeldedatum: 03.05.2011
Beiträge: 77
19.11.2011, 23:58
zitieren

Das Problem bei deinem Programm ist, dass du immer wieder Variablen mit gleichem Namen neu deklarierst.
Wenn du in einer if-Anweisung dann die Operanden deklarierst, sind sie auch nur für die if-Anweisung gültig und danach nicht mehr.
Also werden sie nachher als undeklariert bezeichnet wenn du sie nach der if-Anweisung wieder benutzen willst.
Du musst dein Programm sauber aufbauen und die Variablen am besten auch nur einmal im Programmkopf erzeugen. Ausserdem sollte man die Klammern immer richtig einrücken, sonst verliert man leicht den Überblick über die Verschachtelung.

Also besser so:

int main() {

int i;
int operand1=0,operand2=0;
int ergebnis=0;
int ersatz=0;

srand(time(NULL));

// erzeugen der operanden

for(i = 0; i < 2; i++){

if(i == 0){
operand1 = rand()%10+1; // im bereich von 1-10
printf("%d", operand1);
}

if(i == 1){
operand2 = rand()%10+1;
printf("\t%d\n\n\n", operand2);
}
} //erzeugen der operatoren

ersatz = rand()%5+1;

if(ersatz == 1)
ergebnis = operand1 + operand2;//PROBLEMZEILE

else if(ersatz == 2)
ergebnis = operand1 - operand2;

else if(ersatz == 3)
ergebnis = operand1 * operand2;

else if(ersatz == 4)
ergebnis = operand1 / operand2;

else if(ersatz == 5)
ergebnis = operand1 % operand2;


printf("Das Ergebnis ist: %d\n", ergebnis);


system("PAUSE");
return 0;
}


pn
Gast 
20.11.2011, 11:45
zitieren

jou danke ja das liegt wohl daran

Gast 
20.11.2011, 11:45
zitieren

Mach mit!

Wenn Dir die Beiträge zum Thread "Kopfrechen-Trainer" gefallen haben oder Du noch Fragen hast oder Ergänzungen machen möchtest, solltest Du Dich gleich bei uns anmelden:



Registrierte Mitglieder genießen die folgenden Vorteile:
✔ kostenlose Mitgliedschaft
keine Werbung
✔ direkter Austausch mit Gleichgesinnten
✔ neue Fragen stellen oder Diskussionen starten
✔ schnelle Hilfe bei Problemen
✔ Bilder und Videos hochladen
✔ und vieles mehr...


Neuen Thread eröffnenNeue Antwort erstellen
Ähnliche BeiträgeRe:
Letzter Beitrag
Eco-Trainer
Eco-Trainer Honda stellt das weltweit erste System vor, das drei verschiedene Funktionen zur Kraftstoffersparnis vereint. Dieser Eco-Trainer hilft unter realen und individuell ganz unterschiedlichen Fahrbedingungen den Verbrauch wesentlich zu...
von RH.onda
0
1.014
17.01.2009, 14:37
RH.onda
Company of Heroes Opposing Fronts Trainer
Moin, ich bräuchte mal für weitere Experimente den Trainer für CoH, allerdings für 2.300! Bei Cheathappens.com will der glatt 15 euro im Monat für ne Vollregestrierung damit ich den Trainer loaden kann, und das geb ich beim besten Willen nicht dafür aus....
von Turrican
2
4.143
31.03.2008, 17:39
Turrican
PS3 FIFA 11 Online Liga sucht Trainer!!
Hallo, wir suchen noch zuverlässige Mitspieler für unsere Online Liga (PS3)!! Es sind noch viele gute Teams dabei, also schnappt euch schnell ein Team seid dabei!! die liga besteht aus 64 Mannschaften(4x16 Mannschaften) Europas, wenn eure...
von fifaeuro
1
1.014
06.10.2010, 13:38
fifaeuro
Trainer & Berater (w/m) für Mikrocontroller und Embedded-Software
MicroConsult ist etablierter Anbieter von Trainings- und Coaching-Dienstleistungen im Bereich des Embedded Systems Engineering. Seit über 40 Jahren vermitteln wir erfolgreich fundiertes Fachwissen an Hard- und Softwareentwickler weltweit. Für unser...
[Jobs & Stellenangebote]von lermann
0
261
08.08.2019, 13:38
lermann
Technischer Trainer für ÖPNV-Systeme in Bus und Bahn (m/w/d) | INIT Group
Bewerben Sie sich bis zum 04.08.2023. Jetzt bewerben!(https://api.relaxx.center/r/8b61ce0b11464359bc85070f035a967b?pid=1907617&mpid=1266245&prid=1021079&tid=30) Zur Stellenanzeige auf Mein IT Job(https://s.jobboarddeutschland.de/1cl6) Ihre...
[Jobs & Stellenangebote]von kimjob
0
103
06.07.2023, 08:31
kimjob
IT-Trainer / Consultant (m/w/d) – Docker und Kubernetes | ExperTeach Gesellschaft für Netzwerkkompet
Bewerben Sie sich bis zum 25.12.2024. Jetzt bewerben!(https://api.relaxx.center/r/494bd4e9822844638a8c572ebb1083bd?pid=2268045&mpid=1383455&prid=1021081&tid=30) Zur Stellenanzeige auf Mein IT Job(https://s.jobboarddeutschland.de/1qjl) Ihre...
[Jobs & Stellenangebote]von kimjob
0
21
31.10.2024, 10:37
kimjob
© 2004 - 2025 www.programmierer-forum.de | Communities | Impressum |