![]() |
Anzeige:
|
|
|||||||
| C/C++, Visual C++, Visual C++.NET Fragen und Antworten zu C/C++, Visual C++ und Visual C++.NET |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 08.11.2005
Alter: 22
Beiträge: 721
|
hallo
hab zur uebung mal wieder ein programm geschrieben. dort soll man erst in einem menu auswaehlen, was man machen moechte, z.b. addieren. dann soll die aktion durchgefuehrt werden. und da hackt es gerade. mein compiler sagt mir: "Lvalue required in function main". ich glaube, irgentwas fehlt noch in meinem code, ich weiss aber leider nicht was. Code:
#include<stdio.h>
#include<conio.h>
int eingabe;
int main()
{
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf("Bitte waehlen Sie die Aktion, die Sie durchfuehren moechten.\nAddition: 1"); /*usw.*/
scanf("%d", &eingabe);
if (eingabe == 1)
{
int plus1, plus2, plus_ergebnis;
printf("Bitte geben Sie zwei Zahlen ein, die miteinander addiert werden sollen");
printf("\nZahl1:\n");
scanf("%d", &plus1); /*hier irgentwo ist das problem!*/
printf("\nZahl2:\n");
scanf("%d", &plus2);
plus1+plus2=plus_ergebnis;
printf("\n\n%d+%d=%d", plus1, plus2, plus_ergebnis);
}
else if (eingabe == 2)
/*usw.*/
gruss cage
__________________
Change my Avatar |
|
|
|
|
|
|
#2 (Direktlink) |
|
Dauergast
![]() Registriert seit: 06.05.2004
Ort: Düsseldorf
Beiträge: 1.672
|
spontan fällt mir da auf:
plus1+plus2=plus_ergebnis; 1+7=a ??? Peter |
|
|
|
|
|
#3 (Direktlink) | |
|
Forenmaskottchen
![]() Registriert seit: 08.11.2005
Alter: 22
Beiträge: 721
|
Zitat:
aber danke fuer die schnelle antwort! gruss cage
__________________
Change my Avatar |
|
|
|
|
|
|
#4 (Direktlink) |
|
Dauergast
![]() Registriert seit: 06.05.2004
Ort: Düsseldorf
Beiträge: 1.672
|
plus1+plus2=plus_ergebnis;
plus_ergebnis=plus1+plus2; |
|
|
|
|
|
#5 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 08.11.2005
Alter: 22
Beiträge: 721
|
ahhhhh
oh, das ist aber gemein. wie soll man denn auf so was kommen, wenn mans nicht weiss hatte uebrigens gerade noch eine andere loesung: printf("%d+%d=%d", plus1, plus2, plus1+plus2); => ging auch aber so find ichs besser danke nochmal gruss cage
__________________
Change my Avatar |
|
|
|
|
|
|
#6 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 08.11.2005
Alter: 22
Beiträge: 721
|
hi
gleiches programm, naechstes problem ich hab da jetzt eine schleife eingebaut, damit man das programm vorzeitig beenden kann. klappt auch. nur moechte ich, dass, wenn man z.b. eine addition durchgefuehrt hat, wieder in das "hauptmenu" kommt. wie kann ich das machen? bis jetzt wird das programm nach der aufgabe direkt beendet. Code:
#include<stdio.h>
#include<conio.h>
int ende;
int main()
{
while(ende == 0)
{
int eingabe;
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf("Bitte waehlen Sie die Aktion, die Sie durchfuehren moechten.\nAdditio
printf("\nGeben Sie bitte die entsprechende Zahl ein und bestaetigen Sie mit
printf("\nZum Beenden bitte 0 druecken!");
scanf("%d", &eingabe);
if (eingabe == 1)
{
int plus1, plus2, plus_ergebnis;
printf("Bitte geben Sie zwei Zahlen ein, die miteinander addiert werd
printf("\nZahl1:\n");
scanf("%d", &plus1);
printf("\nZahl2:\n");
scanf("%d", &plus2);
plus_ergebnis=plus1+plus2;
printf("\n\n%d+%d=%d", plus1, plus2, plus_ergebnis);
getch();
}
else if (eingabe == 2)
{
/*usw., z.b. mit minus, mal...*/
}
else if (eingabe == 0)
{
printf("Zum beenden bitte Taste druecken");
getch();
}
else
{
printf("\n\aUngueltige Eingabe!");
getch();
}
return 0;
}
}
gruss cage
__________________
Change my Avatar |
|
|
|
|
|
#7 (Direktlink) |
|
Dauergast
![]() Registriert seit: 06.05.2004
Ort: Düsseldorf
Beiträge: 1.672
|
zu 1:
Code:
int main()
{
int ende =0; //schreib die hierhin, nicht global
while(ende==0)
{
....
else if (eingabe == 0)
ende=1;
....
}
...
...
}
}
return 0;
}
Peter |
|
|
|
|
|
#8 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 08.11.2005
Alter: 22
Beiträge: 721
|
hey, super, funktioniert. allerdings war am ende eine } zu viel.
zu 2.: genauso was wie diesen \ hatte ich gesucht. danke fuer die schnellen antworten! noch ne frage gruss cage
__________________
Change my Avatar |
|
|
|
|
|
#9 (Direktlink) |
|
Dauergast
![]() Registriert seit: 06.05.2004
Ort: Düsseldorf
Beiträge: 1.672
|
Meinst du jetzt anzeigen?
probier mal folgendes printf("12345%c",178); für die Berrechnung am besten die funktionen von math.h nehmen. Peter |
|
|
|
|
|
#10 (Direktlink) | ||
|
Forenmaskottchen
![]() Registriert seit: 08.11.2005
Alter: 22
Beiträge: 721
|
ja, soll einfach angezeigt werden.
Zitat:
Zitat:
noch was aus dem code:du hast geschrieben: ende=1; was bedeutet das denn? gruss cage
__________________
Change my Avatar |
||
|
|
|
|
|
|
#11 (Direktlink) |
|
Dauergast
![]() Registriert seit: 06.05.2004
Ort: Düsseldorf
Beiträge: 1.672
|
%c ist EIN Zeichen die 178 wäre der ASCII code für die ² ...
wenns nicht klappt kann man da so nichts machen höchsten printf("%c2",94); ^2 wäre das dann. tja und wenn du jetzt 12345³ haben willst.. ? Bei quadratzahlen klappt das vielleicht so noch.... Die While Schleife wird solange ausgeführt wie die Bedingung, also ende, gleich 0 zutrifft, wenn ende ungleich 0 ist wird die Schleife beendet. Peter |
|
|
|
|
|
#12 (Direktlink) | ||
|
Forenmaskottchen
![]() Registriert seit: 08.11.2005
Alter: 22
Beiträge: 721
|
Zitat:
Zitat:
schon die naechste frage gruss cage
__________________
Change my Avatar |
||
|
|
|
|
|
#13 (Direktlink) |
|
Dauergast
![]() Registriert seit: 06.05.2004
Ort: Düsseldorf
Beiträge: 1.672
|
Ja, die Bening der Schleife ist dann falsch.
tja da wirst du nicht drum rum kommen dich etwas näher mit den Befehlen für Zeichenketten und Zeichenketten selber zu beschschäftigen, strchr um eine Zeichenkette zu durchsuchen z.b. Peter |
|
|
|
|
|
#14 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 08.11.2005
Alter: 22
Beiträge: 721
|
hi
eins noch. versuche, dass prog mit allemmoeglichen zu erweitern und zu verbessern. ich kann doch irgentwie den code fuer die addition ueber eine externe datei einfuegen, oder? (include?) wie mach ich das? include(?) plus dateiname an die stelle schreiben? ach ja, wenn du noch ideen hast fuer mein programm, immer her damit! gruss cage
__________________
Change my Avatar |
|
|
|
|
|
#15 (Direktlink) |
|
Dauergast
![]() Registriert seit: 06.05.2004
Ort: Düsseldorf
Beiträge: 1.672
|
wenn du mit Addition CPP code meinst solltest du das so aufbauen:
hinter den Include Anweisungen in main die Zeile #include "adidion.h" hinzufügen Die Datei addition.h hat folgenden Inhalt: void Addition(); Die Datei addition.cpp #include "adidion.h" void Addition() { .... } So jetzt fügst du noch beide Dateien dem Projekt hinzu. Peter |
|
|
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|