Archiv verlassen und diese Seite im Standarddesign anzeigen : C: Fehler im Programm
Import-Script
04.12.2003, 19:03
Hallo, <BR>da ich mich nun in C versuchen möchte/muss, habe ich mal folgendes Programm im MS Visual Studio geschrieben: <BR> <BR>int main(void) <BR>{ <BR> double wert[10]; <BR> int i; <BR> <BR> for (i=0;i<10;i++) <BR> { <BR> rewind (stdin); <BR> printf ("Tag %d: ",i+1); <BR> scanf ("%lf",&wert[i]); <BR> } <BR> return 0; <BR>} <BR> <BR>Wenn ich das Programm nun laufen lasse, und die Erste Zahl eingebe, bricht das Prog mit einem Runtimeerror ab! Wenn ich jedoch Buchstaben eingebe geht es?!? Bis nächsten Donnerstag muss ich ein "größeres" Programm schreiben, aber wenn es schon hier hakt?
Import-Script
04.12.2003, 21:42
Hallo Kurt, <BR>in Deinem Programm verwendest Du Bibliotheksfunktionen. Da fehlt ein <b>#include <stdio.h></b>. Das rewind() zum Setzen von Dateipositionen scheint mir überflüssig. Was soll übrigens bei der Eingabe eines Buchstabens herauskommen? (Buchstabe -> float ???). Mit dem lcc-win32 (<a href="http://www.cs.virginia.edu/~lcc-win32/index.html" target=_top>http://www.cs.virginia.edu/~lcc-win32/index.html</a>) übersetzt funktioniert es wie erwartet bzw. bricht bei Eingabe eines Buchstabens ab. Der Adressoperator sollte beim Vektorelement kein Problem sein, vor falschen Eingaben ist man so natürlich nicht geschützt. Ansonsten hilft immer nur debuggen und sich vielleicht auch mal den Assembler Code dazu betrachten. <BR> <BR>Gruß Gerd
Import-Script
04.12.2003, 22:05
Hallo, <BR>das include habe ich natürlich im Programm. Ich hatte es nur nicht mitkopiert. <BR>Das rewind soll doch den Tastaturpuffer leeren?! Sonst wird das scanf übersprungen. <BR>Buchstaben sollen natürlich nicht eingelesen werden sondern Dezimazahlen mit Nachkommastelle. Das mit den Buchstaben ist mir nur so aufgefallen. <BR>Und den Adressoperator brauche ich doch auf jeden Fall, oder? Ohne geht es nämlich garnicht. <BR> <BR>Ansonsten werde ich morgen mal unseren Professor fragen. Das Programm läuft übrigens auf zwei verschiedenen Rechnern nicht.
Import-Script
04.12.2003, 22:10
Jetzt geht es plötzlich! Ich habe nur die Schleife entfernt und genau wie vorher neu hingeschrieben. Typisch MS!!!<img src="http://progshop.com/elektronik/diskussion/clipart/crazy.gif" border=0>
Import-Script
05.12.2003, 01:20
>Das rewind soll doch den Tastaturpuffer leeren?! Sonst wird das scanf übersprungen <BR> <BR>Seit wann denn das? Probiers mal ohne aus! Ging bei mir jedenfalls. <BR> <BR>>Ich habe nur die Schleife entfernt <BR> <BR>So viel Schleifen hast Du in Deinem Programm doch gar nicht drin. <IMG SRC="http://progshop.com/elektronik/diskussion/clipart/happy.gif" ALT=":-)" BORDER=0> <BR> <BR>Gruß Gerd <BR> <BR>PS: Beklag Dich nicht an dieser Stelle über MS. Erstens gibt's Alternativen und zweitens wird VC bzw. VS an solchen Progrämmchen nicht scheitern. <IMG SRC="http://progshop.com/elektronik/diskussion/clipart/happy.gif" ALT=":-)" BORDER=0>
Import-Script
14.12.2003, 14:15
Ich hätte wohl auch das array initialisieren sollen. Danach läuft es nämlich.
Powered by vBulletin® Version 4.1.7 Copyright ©2012 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.