| 

.NET C# Java Javascript Exception

5
Hallo Codekicker,

hier mein Problem: ich häng derzeit an einem Projekt fest, darin gehts darum 2 Dateien die mit einem Programm erstellt wird zu vergleichen (da mir die Windows Bordmittel der CMD nicht reichen hab ich ein Zusatztool SFK.exe (zu finden hier http://goo.gl/KJNfu) ). Das Programm erstellt eine vom Benutzer eingegebenen Daten eine Datei, diese Datei enthält lediglich die Antwort und die Zuordnungsnummer der Frage (Frage1 mit a beantwortet - Frage2 mit d beantwortet) (Sicherheitshalber zu erwähnen: Die 2. Datei wurde von einem anderen Nutzer erstellt). Und nun sollen dieses 2 Dateien verglichen werden indem jede Antwort einen prozentualen Wert erhält und am Ende dieser Zusammen Addiert wird. Ja ich weiß das es eine relativ komplexe Aufgabe ist, aber eine solche muss irgendwie zu bewerkstelligen sein.

Danke im vorraus vicon
News:
20.07.2011
vicon 308 1 8
2
Kannst Du vielleicht mal ein Beispielergebnis zeigen. Geht es wirklich nur um zwei Dateien?
Also Datei 1:
1 a
2 d
3 c
Datei 2:
1 b
2 a
3 f

Wie sieht für dieses Beispiel das Ergebnis aus?

Für mich wäre das dann kein Vergleich, sondern eine Berechnung.
Markus Stäuble 20.07.2011
1
Jeder Buchstabe ist einer bestimmten Antwort zugeordnet deren Fragen sich in einer anderen Datei befindet und über den Type-befehl abgerufen wird. Es gibt in der Datei 4 Fragen und zu jeder Frage je 4 Antworten, jeder Antwort soll ein Prozentualer Wert zu geteilt werden. Dies bei beiden Dateien und am Ende sollen von den beiden Prozentualen Zahlen der Durchschnitt errechnet werden
vicon 20.07.2011
Hallo Leute, bitte helft mir ich brauch dringend eure hilfe!!!
vicon 21.07.2011
1 Antwort
2
Das ist ja schon eine größere Aufgabe. Leider habe ich jetzt keine Zeit dir eine komplette Lösung für die gesamte Problematik zu schreiben (ich würde hier auch keine Batch Dateien benutzen, da es in Programmiersprachen wie Perl oder C# einfach schneller zu lösen ist), aber ich gebe dir gerne einen Ansatz und ein paar Links mit:

Mit folgendem Code kannst du eine Textdatei zeilenweise durchlaufen und dir jede Zeile in der Konsole ausgeben lassen. Alternativ kannst du auch jede Zeile in einer Variablen speichern.

@echo off &setlocal
pushd ="C:\meinVerzeichnis\"
for /f "tokens=*" %%i in (MeineDatei.txt) do (
echo %%i
)
popd
pause


Nun musst du noch, entsprechend dem Aufbau deiner Textdatei splitten, um an deine einzelnen Werte zu gelangen (oder du schreibst in jede Zeile nur einen Wert, dann kannst du mit Modulo abfangen in welcher Zeile du bist) und diese in deinem Sinne miteinander verknüpfen.

Ich rate dir hier zu einer "echten" Programmiersprache, da komplexere Aufgaben einfach unschön in einer Batch zu lösen sind... Meiner Meinung nach ;-)

// EDIT
Und natürlich noch ein paar Links zum generellen Umgang mit Batch:

- Batch-Befehle: Link
- Batch Grundkurs: Link
21.07.2011
Dustin Klein 2,9k 2 9
ok, vielen dank für deine Hilfe, aber wie kann ich die 2.Datei mit der ersten vergleichen, oder komme ich gerade nicht hinterher ?
vicon 21.07.2011
du kannst dir den Inhalt zeilenweise in eine Variable schreiben lassen, statt sie mit echo auszugeben, das Ganze machst du dann mit der zweiten Datei, dann hast du entweder ein Array welches pro Index eine Zeile deiner Textdatei beinhaltet oder zwei Variablen mit dem kompletten Inhalt (konkaterniert). Dann kannst du die vergleichen (Variablen setzen siehe: set /p "x=%%i").
Dustin Klein 21.07.2011

Stelle deine Batch-Frage jetzt!