syntax & zahlenalgorithmus

yidaki

Erfahrenes Mitglied
syntax & arab2rom (Zahlenumrechnung)

Hallo zusammen,

Ich hab vor ca. einer Woche angefangen c++ zu lernen. Vorher hab ich
mich ein bisschen mit java beschäftigt. Hab jetzt erstmal eine frage bezüglich
der syntax....

std::string funktion(int zahl);

was passiert hier wird ein Objekt einer Klasse erstellt und eine funktion von dieser aufgerufen,....:confused:

naja das zweite betrifft eine aufgabenstellung. es geht um die umrechnung von dezimalzahlen in ein römisches zahlensystem und umgekehrt. :confused:

Probleme bereitet in erster linie der zuerst genannte weg...


Code:
#include "stdafx.h"
#include "iostream.h"
#include "string.h"

//using namespace std;

int I=1, V=5, X=10, L=50, C=100, D=500, M=1000, ergebnis;
char zeichen[14];
s

int main(int argc, char* argv[])
{
	cout<<"==> Programm zur Umwandlung von Roemischen Zahlen in Dezimalzahlen <=="<<endl;
	cout<<"==> Geben sie eine roemische Zahl ein! erlaubte Zeichen: \"I,V,X,L,C,D,M\" <=="<<endl;
	cout<<"\n\n"<<endl;
	cin >> zeichen;

	cout<<strlen(zeichen);

	for(int i = 0; i < strlen(zeichen); i ++){
		switch(zeichen[i]){
        case 'I': if(zeichen[i+1]=='V') ergebnis-=I; else ergebnis+=I; break; 
        case 'V': ergebnis+=V; break; 
        case 'X': if(zeichen[i+1]=='L' || zeichen[i+1]=='C') ergebnis-=X; else ergebnis+=X; break; 
        case 'L': ergebnis+=L; break; 
        case 'C': if(zeichen[i+1]=='D' || zeichen[i+1]=='M') ergebnis-=C; else ergebnis+=C; break; 
        case 'D': ergebnis+=D; break; 
        case 'M': ergebnis+=M; break; 
		}
	}
cout << ergebnis;


	return 0;
}
 
Zuletzt bearbeitet:
Re: syntax & arab2rom (Zahlenumrechnung)

yidaki hat gesagt.:
std::string funktion(int zahl);
Nein das ist einfach eine Funktion mit dem Rückgabewert eines Strings (aus der STL, deshalb auch ein Scope in den Namespace std).

yidaki hat gesagt.:
Code:
#include "stdafx.h"
#include "iostream.h"
#include "string.h"
Bitte so schreiben, da string.h und iostream.h nicht in Deinem Verzeichnis, sondern in einem der angegebenen Include-Pfade liegen:
Code:
#include "stdafx.h"
#include <iostream>
#include <string>

Für den Rest des Codes empfehle ich Dir, direkt nach speziellen Zahlen-Kombinationen zu suchen (IX, IV ...), das macht den Code wirklich lesbare und übersichtlicher.

PS: So eine Kombination von case und if ist nicht gerade das gelbe vom Ei.
 
Re: syntax & arab2rom (Zahlenumrechnung)

danke erstmal! ich denke ich werde morgen die zeit haben mir den code nochmal durch den kopg gehen zu lassen.... sollte ja machbar sein .... wenn ich fragen haben sollte, ....

spricht das "string.h" nicht den include-pfad an funktioniert es dann nicht
 
Re: syntax & arab2rom (Zahlenumrechnung)

Includes in Anführungszeichen werden im eigentlich im aktuellen Pfad gesucht.
Das kann aber auch zwischen den Compilern unterschiedlich sein ... wie so vieles.

Was benutzt du für einen Compiler?
 
Re: syntax & arab2rom (Zahlenumrechnung)

Ich arbeite im moment mir Microsoft Visual c++ (MFC)..
Ich muss sagen, dass es im verhältnis zu eclipse nicht sonderlich
komortabel ist, aber ich kann eclipse noch nicht richtig einrichten..

wir lernen in der schule c++... in der Firma wird java Programmiert!....

naja was gibts den ansonsten zu empfehlen
 
Re: syntax & arab2rom (Zahlenumrechnung)

Unter Windows nutze ich Visual Studio 6 mit dem neuen Intel Compiler 8.0 und dann dazu Visual Assist, wndTabs und CodeLineCounter. Ausserdem ein paar eigene Makros und schon ist das eigentlich eines der besten IDE's die ich je benutzt habe. (ausser Eclipse3 für java)
MFC ist zu alt, daher wird QT benutzt (auch wegen Kompatibilität zu Linux)

Zuhaus hab ich eh Linux und nutze da KDevelop mit dem gcc 3.4.1 und QT
Da sind dann Versionssysteme, Valgrind (Speicherleck-Suche), CodeFolding etc mit eingebaut.

Das CDT für Eclipse-3 ist meines Erachtens nach noch nicht produktiv nutzbar.

Die Borland Suites (Kylix 3 und Builder 6) sind recht intuitiv und haben einen top Debugger. Aber mit der VCL mag ich gar nicht programmieren.

Du siehst also es ist die Qual der Wahl.
Die Windows-Umgebung die ich benutze, kostet allerdings einen richtigen Haufen Asche...nicht umsonst benutze ich zuhaus Linux :)

PS: Für Windows gibt es sonst noch den Dev-C++ .. einen sehr guten Editor für GNU C/C++
 
Unter Windows nutze ich Visual Studio 6 mit dem neuen Intel Compiler 8.0 und dann dazu Visual Assist, wndTabs und CodeLineCounter. Ausserdem ein paar eigene Makros und schon ist das eigentlich eines der besten IDE's die ich je benutzt habe. (ausser Eclipse3 für java)
MFC ist zu alt, daher wird QT benutzt (auch wegen Kompatibilität zu Linux)

also ich gehe mal davon aus, dass das die konfiguration in der firma ist und somit nicht ohne viel kohle zu realisieren ist.

ich könnte dich warscheinlich so mit fragen zutexten, dass du ein buch schreiben könntest! Kannst du mir vielleicht ein paar gute seiten etc. empfehlen? Ich denke in JAVA und dort weiss ich schonmal wenigsten alles was ich wissen muss um meine entwicklungsumgebung einigermassen gut anzupassen und vor allem, bin ich in der benutzung einigermassen fortgeschritten .....

also würd mich freuen wenn´s noch den ein oder anderen tipp gäbe ;-)

so far

gruß
 
Also als wirklich kostenfreie Sachen kann ich Dir wirklich den Bloodshed Dev-C++ (inklusive GNU Compiler) und dazu wxWindows (Oberflächenprogrammierung) empfehlen. Der Dev-C++ hat eine richtige Upgrade - Funktionalität und einen ordentlichen Debugger.

http://www.bloodshed.net/
http://www.wxwindows.org/

PS: Es gibt auch ältere Versionen von QT die für die allgemeine Benutzung freigegeben sind.
 
danke erstmal, sieht schonmal direkt sehr ansprechend aus, aber es gibt da ein problem... siehe dev++ prob..

;-)

thx
 

Neue Beiträge

Zurück