Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > C/C++, Visual C++, Visual C++.NET

C/C++, Visual C++, Visual C++.NET Fragen und Antworten zu C/C++, Visual C++ und Visual C++.NET

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50849, Antworten: 1390
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26615, Antworten: 4194
Gehe zum ersten neuen Beitrag Windows Oberfläche (Schrift,...
Aufrufe: 176, Antworten: 10
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 63, Antworten: 5
Gehe zum ersten neuen Beitrag TabCtrl
Aufrufe: 121, Antworten: 12
Gehe zum ersten neuen Beitrag Rechner fährt herunter,...
Aufrufe: 93, Antworten: 4
Gehe zum ersten neuen Beitrag Dateien lassen sich nicht...
Aufrufe: 17, Antworten: 2
Gehe zum ersten neuen Beitrag Suche Programm um Werbung zu...
Aufrufe: 49, Antworten: 2
Gehe zum ersten neuen Beitrag McAfee AVERT Stinger...
Aufrufe: 13, Antworten: 0
Gehe zum ersten neuen Beitrag Sticky Password 6.0.2...
Aufrufe: 25, Antworten: 0
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 28.11.2005, 21:55   #1 (Direktlink)
Forenmaskottchen
 
Registriert seit: 08.11.2005
Alter: 22
Beiträge: 721
Standard rechenprogramm

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.*/
schon mal danke fuer jede hilfe!

gruss

cage
__________________
Change my Avatar
Cage ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 28.11.2005, 22:05   #2 (Direktlink)
Dauergast
 
Registriert seit: 06.05.2004
Ort: Düsseldorf
Beiträge: 1.672
Standard

spontan fällt mir da auf:
plus1+plus2=plus_ergebnis;
1+7=a ???

Peter
lastwebpage ist offline   Mit Zitat antworten
Alt 28.11.2005, 22:09   #3 (Direktlink)
Forenmaskottchen
 
Registriert seit: 08.11.2005
Alter: 22
Beiträge: 721
Standard

Zitat:
spontan fällt mir da auf:
plus1+plus2=plus_ergebnis;
1+7=a ???
wie? variable 1 (plus1) plus variable 2 (plus2) soll variable 3 (plus_ergebnis) ergeben... wie ist es denn richtig?
aber danke fuer die schnelle antwort!

gruss

cage
__________________
Change my Avatar
Cage ist offline   Mit Zitat antworten
Alt 28.11.2005, 22:13   #4 (Direktlink)
Dauergast
 
Registriert seit: 06.05.2004
Ort: Düsseldorf
Beiträge: 1.672
Standard

plus1+plus2=plus_ergebnis;
plus_ergebnis=plus1+plus2;
lastwebpage ist offline   Mit Zitat antworten
Alt 28.11.2005, 22:19   #5 (Direktlink)
Forenmaskottchen
 
Registriert seit: 08.11.2005
Alter: 22
Beiträge: 721
Standard

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
Cage ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 29.11.2005, 17:38   #6 (Direktlink)
Forenmaskottchen
 
Registriert seit: 08.11.2005
Alter: 22
Beiträge: 721
Standard

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;
}
}
ach ja, wie man oben sieht, habe ich vier mal printf untereinander geschrieben, da die zeilen in meinem compiler irgentwann zu ende sind. einen automatischen umbruch macht er nicht und wenn ich enter fuer eine neue zeile druecke gibs zig fehlermeldungen, weil ) und ; fehlt. aber das muss doch auch besser gehen !?!

gruss

cage
__________________
Change my Avatar
Cage ist offline   Mit Zitat antworten
Alt 29.11.2005, 18:14   #7 (Direktlink)
Dauergast
 
Registriert seit: 06.05.2004
Ort: Düsseldorf
Beiträge: 1.672
Standard

zu 1:
Code:
int main() 
{ 
int ende =0; //schreib die hierhin, nicht global
while(ende==0)
{
....
else if (eingabe == 0)
 ende=1;
....
}
...
...
}
}
return 0;
}
mit der Printf anweisung, na entweder du lässt alles in einer Zeile, du beendest jede Zeile mit \n"); und fängst die neue wieder mit printf(" an oder du setzt ein \ an das Zeilenende und schreibst in der nächsten Zeile weiter.

Peter
lastwebpage ist offline   Mit Zitat antworten
Alt 29.11.2005, 18:49   #8 (Direktlink)
Forenmaskottchen
 
Registriert seit: 08.11.2005
Alter: 22
Beiträge: 721
Standard

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 : wie kann ich ein hoch 2 darstellen? (fuer quadratberechnung)

gruss

cage
__________________
Change my Avatar
Cage ist offline   Mit Zitat antworten
Alt 29.11.2005, 19:41   #9 (Direktlink)
Dauergast
 
Registriert seit: 06.05.2004
Ort: Düsseldorf
Beiträge: 1.672
Standard

Meinst du jetzt anzeigen?
probier mal folgendes printf("12345%c",178);
für die Berrechnung am besten die funktionen von math.h nehmen.

Peter
lastwebpage ist offline   Mit Zitat antworten
Alt 29.11.2005, 20:07   #10 (Direktlink)
Forenmaskottchen
 
Registriert seit: 08.11.2005
Alter: 22
Beiträge: 721
Standard

ja, soll einfach angezeigt werden.
Zitat:
probier mal folgendes printf("12345%c",178);
also, das funktioniert nicht, ist das alles, oder fehlt da noch was? da kommt nur so ein kleines feld...
Zitat:
für die Berrechnung am besten die funktionen von math.h nehmen.
wie? fuer die berechnung vom quadrat? da hab ich einfach ergebnis=variable*variable;. mit math.h hab ich noch nie was gemacht, so weit bin ich noch nicht
noch was aus dem code:du hast geschrieben: ende=1; was bedeutet das denn?

gruss

cage
__________________
Change my Avatar
Cage ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 29.11.2005, 20:17   #11 (Direktlink)
Dauergast
 
Registriert seit: 06.05.2004
Ort: Düsseldorf
Beiträge: 1.672
Standard

%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
lastwebpage ist offline   Mit Zitat antworten
Alt 29.11.2005, 20:32   #12 (Direktlink)
Forenmaskottchen
 
Registriert seit: 08.11.2005
Alter: 22
Beiträge: 721
Standard

Zitat:
Die While Schleife wird solange ausgeführt wie die Bedingung, also ende, gleich 0 zutrifft, wenn ende ungleich 0 ist wird die Schleife beendet.
also, bei ende=1 wird ende dann 1 zugewiesen und die schleife damit unwahr -> wird beendet. richtig?
Zitat:
tja und wenn du jetzt 12345³ haben willst.. ? Bei quadratzahlen klappt das vielleicht so noch....
ok, dann muss ich mir das auch noch beibringen...

schon die naechste frage (hoffe, ich nerve nicht) es koennte ja sein, dass der benutzer bei der addition mehrere zahlen addieren will, also z.b. 12+13+14. wie koennte ich das machen?

gruss

cage
__________________
Change my Avatar
Cage ist offline   Mit Zitat antworten
Alt 29.11.2005, 20:38   #13 (Direktlink)
Dauergast
 
Registriert seit: 06.05.2004
Ort: Düsseldorf
Beiträge: 1.672
Standard

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
lastwebpage ist offline   Mit Zitat antworten
Alt 30.11.2005, 00:07   #14 (Direktlink)
Forenmaskottchen
 
Registriert seit: 08.11.2005
Alter: 22
Beiträge: 721
Standard

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
Cage ist offline   Mit Zitat antworten
Alt 30.11.2005, 00:27   #15 (Direktlink)
Dauergast
 
Registriert seit: 06.05.2004
Ort: Düsseldorf
Beiträge: 1.672
Standard

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
lastwebpage ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Antwort

  Paules-PC-Forum.de > Programmierung > C/C++, Visual C++, Visual C++.NET

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an




Alle Zeitangaben in WEZ +2. Es ist jetzt 05:27 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2