Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

variablen Inkrementieren

Frage Entwicklung C und C++

Mitglied: chriss-330

chriss-330 (Level 1) - Jetzt verbinden

24.03.2006, aktualisiert 02.04.2006, 5786 Aufrufe, 15 Kommentare

hallo,

ich hab das problem das ich innerhalb einer do-while einen wert einlesen muss und diesen dann an eine variable übergeben muss. jetzt weis ich nicht, wie ich das machen kann, das sich bei jedem durlauf der do-while der variablen name ändert. weil sonst wird ja immer die variable aus dem vorherigen durchgang überschrieben.

danke für die hilfe
Mitglied: soa2ii
24.03.2006 um 07:49 Uhr
gar nicht... also meines wissen zumindest nach nicht...

entweder du schreibst eine methode und übergibts die jeweils neue zu ändernde variable als parameter oder du packst vorher alle variablen in ein array...

wobei mir letzteres glaub ich lieber wäre...

korrigiert mich wenn ich mist rede ;)

mfg
soa2ii
Bitte warten ..
Mitglied: cykes
24.03.2006 um 07:50 Uhr
Hi,

es ist zwar schon eine Weile her, daß ich programmiert habe,
aber wenn Du wirklich alle berechneten oder erstellten Werte,
nachdem die Schleife durchgelaufen ist, zur Weiterverabeitung benötigst,
dann solltest Du die Werte in einem Array bzw. in einer Liste speichern,
diese kannst Du dann in einer weiteren Schelife problemlos wieder
auslesen.

Gruß

cykes
Bitte warten ..
Mitglied: chriss-330
24.03.2006 um 08:03 Uhr
danke, das problem ist blos das ich von arrays leider keine ahnung habe wie ich die speicher, weder wieder auslesen kann

danke trotzdem !
Bitte warten ..
Mitglied: fachinformatiker
24.03.2006 um 08:12 Uhr
Initialisierung:
dim array[9] as float

Jetzt hast array[0] ibs array[9] als normale float-Variablen wenn es so sehen willst.
Nur als Beispiel
Bitte warten ..
Mitglied: gabrielgn
24.03.2006 um 08:48 Uhr
Ich weiss jetzt nicht wie es in deinem Fall aussieht, weil ich kein Experte in C bzw. C++ bin, aber in Java gibt es so was wie "List". Da braucht man nicht das Objekt mit einem gewissen Initialwert, wie es bei Arrays der Fall ist, zu initialisieren sondern durch die Methode add() kann man einen Wert in der Liste des Objekts hinzufügen.
Bitte warten ..
Mitglied: fachinformatiker
24.03.2006 um 08:52 Uhr
In Perl kann man an Arrays auch immer mehr anhängen oder wieder welche entfernen.

Mit C++-Arrays geht das nicht.
Bitte warten ..
Mitglied: chriss-330
24.03.2006 um 09:05 Uhr
ah, ok - und wie muss ich das dann in meine do-while rein schreiben, das der dann immer automatisch das nächste array nimmt? also das er beim ersten durchgang dann den wert in array[0] reinschreibt, und beim 2. durchgang dann den wert in array[1] reinschreibt?
Bitte warten ..
Mitglied: fachinformatiker
24.03.2006 um 09:07 Uhr
Entweder du nimmst eine Variable, die du am Ende von der Schleife um eins hochzählst:
do
{array[$i]=$variable;
$i++; 0
while(sonstwas)
oder du nimmst gleich eine for-Schleife
for ($i=0;$i<=$wert;$i++)
{
array[$i]=$variable;
}
Bitte warten ..
Mitglied: chriss-330
24.03.2006 um 09:16 Uhr
besten dank an alle !

werd ich gleich mal ausprobieren
Bitte warten ..
Mitglied: Metzger-MCP
24.03.2006 um 10:32 Uhr
Moin Leutz

Ich weis zwar nicht ob ich die Frage richtig verstehe!
Aber ich versuche es mal.

Du hast also eine DO WHILE Schleife, die in irgendeiner Weise ein Wert "W" produziert.
Dieser Wert W soll jetzt aber gegen überschreiben gesichert werden, so das du also eine Chronik des Wertes W bekommst oder?

Wenn das so ist, brauchst du

  • ein/(zwei) Positionsvariable P/(Q) P ist Position x-ter Chronik Wert,
  • Array A[x] mit der Anzahl x Speicherstellen.
  • eine Wertevariable W

Hinweis zu Bereichen / Variablen

Jede normale Variable ist ein Bereich mit nur einem Wert
Ein Bereich kann aber eine Variable mit mehreren Werten haben

(int P) ist eigentlich das gleiche wie int P[0]


im groben sollte das dann wie folgt aussehen

Variablen deklarieren ( nur Beispiele )

P als Datentyp definieren und mit 0 deklarieren. ( int P=0 )
Q als Datentyp definieren und mit 0 deklarieren. ( int Q=0 )
W als Datentyp definieren ( int W=0 )
A[x] als Datentyp definieren. ( int A[99] ) hier können nun 100 Werte gespeichert werden


Program Begin
Do
W = berechneter Wert hier wird W mit dem Berechteten Wert belegt
Q = P
Q wird mit P belegt.
A[P] = W hier wird die Chronologische Position P im Array A mit Wert W belegt
P++ hier wird die Chronologische Position P um 1 erhöht
While
ausgabe wert = A[Q] // hier wird die Chronologische Position Q im Array A abgefragt
Program Ende

Q ist eigentlich P. Ich denke aber P solltest du zur eigenen Sicherheit nur vom Programm ändern lassen. Dann kannst du dir nicht ausversehen deine " Werte Chronik " überschreiben.
Arbeite lieber mit Q zum auslesen und mit P zum schreiben. Wenn du mit Q falsche Werte liest ist das nicht so schlimm als würdest du mit P, falsche Stellen überschreiben. &#61514;

Mfg Metzger
Bitte warten ..
Mitglied: chriss-330
24.03.2006 um 11:15 Uhr
do
{
printf ("Bitte Nummer des einzulesenden Digitaleingangs angeben z.b. für 2^1 geben Sie 1 ein:")
scanf ("%s", &w);
array[p]=w;
clrscr();
printf ("Wollen Sie noch einen Digitalen Eingang einlesen? j/n")
scanf ("%c", &janein);
p++;
}
while (janein = j);
so währe das dann in meinem falle.

ist das so richtig ?

und ich kann dann auf die daten im array wieder zugreifen wie folgt?

if (array[0]= 1)
{
...
}
Bitte warten ..
Mitglied: fachinformatiker
24.03.2006 um 11:39 Uhr
----------------------------------------------------------------------------------------------------------------
do
{
printf ("Bitte Nummer des
einzulesenden Digitaleingangs angeben z.b.
für 2^1 geben Sie 1 ein:")
scanf ("%s", &w);
array[p]=w;
clrscr();
printf ("Wollen Sie noch einen
Digitalen Eingang einlesen? j/n")
scanf ("%c", &janein);
p++;
}
while (janein = j);
so währe das dann in meinem falle.

ist das so richtig ?

und ich kann dann auf die daten im array
wieder zugreifen wie folgt?

if (array[0]= 1)
{
...
}
Syntaxfehler, du meintest wohl eher:
if (array[0]==1)
{
...
}
Und bei dem while würde es auch mehr Sinn machen, das 2. Gleichheitszeichen zu setzen. Kennst du den Unterschied ?
Hast wohl noch nicht viel mit C++ gemacht ?
Und du musst den Array vorher initialisieren und p einen Startwert(0) geben, sonst müsste es funktionieren. Hast es noch nicht getestet ?
Bitte warten ..
Mitglied: Metzger-MCP
24.03.2006 um 13:15 Uhr
Ich denke, er hatte sich nur auf den Wesentlichen Teil ( do while ) bezogen hast aber mit den == und = recht, blöd wenn man beim überprüfen werde setzt

Mfg Metzger
Bitte warten ..
Mitglied: chriss-330
01.04.2006 um 16:10 Uhr
hallo,

so, ich hab das jetzt mal soweit alles. jetzt hab ich blos das problem, das wenn ich das programm laufen lasse, und er dann den text ausgibt, das er bei dem bereich wo es darum geht ob eines der arrays 8 ist, egal ob eines 8 ist oder nicht er die zeile ausgibt, das es 8 ist. das gleiche problem hab ich bei der 0.
Hier mal der code:
do
{
printf ("Bitte Nummer des einzulesenden Digitaleingangs angeben - z.b. für 2^1 geben Sie 1 ein: \n");
scanf ("%d", &w);
array[p]=w;
printf ("Wollen Sie noch einen Digitalen Eingang einlesen? ja = 1 / nein = 2: ");
scanf ("%d", &janein);
p++;
}
while (janein == 1);
if ( array[0] == 0 || array[1] == 0 || array[2] == 0 || array[3] == 0 || array[4] == 0 || array[5] == 0 || array[6] == 0 || array[7] == 0 || array[8] == 0 || array[9] == 0 || array[10] == 0 || array[11] == 0 || array[12] == 0 || array[13] == 0 || array[14] == 0 || array[15] == 0)
{
printf ("CheckVolt(SKS_DA_3.00, GROUND, Umin= 23 V, Umax= 25 V,Tmeas= 20 ms);\n");
}
else
{
printf ("CheckVolt(SKS_DA_3.00, GROUND, Umin= 0 V, Umax= 10 V,Tmeas= 20 ms);\n");
}
if ( array[0] == 1 || array[1] == 1 || array[2] == 1 || array[3] == 1 || array[4] == 1 || array[5] == 1 || array[6] == 1 || array[7] == 1 || array[8] == 1 || array[9] == 1 || array[10] == 1 || array[11] == 1 || array[12] == 1 || array[13] == 1 || array[14] == 1 || array[15] == 1)
{
printf ("CheckVolt(SKS_DA_3.01, GROUND, Umin= 23 V, Umax= 25 V,Tmeas= 20 ms);\n");
}
else
{
printf ("CheckVolt(SKS_DA_3.01, GROUND, Umin= 0 V, Umax= 10 V,Tmeas= 20 ms);\n");
}
if ( array[0] == 2 || array[1] == 2 || array[2] == 2 || array[3] == 2 || array[4] == 2 || array[5] == 2 || array[6] == 2 || array[7] == 2 || array[8] == 2 || array[9] == 2 || array[10] == 2 || array[11] == 2 || array[12] == 2 || array[13] == 2 || array[14] == 2 || array[15] == 2)
{
printf ("CheckVolt(SKS_DA_3.02, GROUND, Umin= 23 V, Umax= 25 V,Tmeas= 20 ms);\n");
}
else
{
printf ("CheckVolt(SKS_DA_3.02, GROUND, Umin= 0 V, Umax= 10 V,Tmeas= 20 ms);\n");
}
if ( array[0] == 3 || array[1] == 3 || array[2] == 3 || array[3] == 3 || array[4] == 3 || array[5] == 3 || array[6] == 3 || array[7] == 3 || array[8] == 3 || array[9] == 3 || array[10] == 3 || array[11] == 3 || array[12] == 3 || array[13] == 3 || array[14] == 3 || array[15] == 3)
{
printf ("CheckVolt(SKS_DA_3.03, GROUND, Umin= 23 V, Umax= 25 V,Tmeas= 20 ms);\n");
}
else
{
printf ("CheckVolt(SKS_DA_3.03, GROUND, Umin= 0 V, Umax= 10 V,Tmeas= 20 ms);\n");
}
if ( array[0] == 4 || array[1] == 4 || array[2] == 4 || array[3] == 4 || array[4] == 4 || array[5] == 4 || array[6] == 4 || array[7] == 4 || array[8] == 4 || array[9] == 4 || array[10] == 4 || array[11] == 4 || array[12] == 4 || array[13] == 4 || array[14] == 4 || array[15] == 4)
{
printf ("CheckVolt(SKS_DA_3.04, GROUND, Umin= 23 V, Umax= 25 V,Tmeas= 20 ms);\n");
}
else
{
printf ("CheckVolt(SKS_DA_3.04, GROUND, Umin= 0 V, Umax= 10 V,Tmeas= 20 ms);\n");
}
if ( array[0] == 5 || array[1] == 5 || array[2] == 5 || array[3] == 5 || array[4] == 5 || array[5] == 5 || array[6] == 5 || array[7] == 5 || array[8] == 5 || array[9] == 5 || array[10] == 5 || array[11] == 5 || array[12] == 5 || array[13] == 5 || array[14] == 5 || array[15] == 5)
{
printf ("CheckVolt(SKS_DA_3.05, GROUND, Umin= 23 V, Umax= 25 V,Tmeas= 20 ms);\n");
}
else
{
printf ("CheckVolt(SKS_DA_3.05, GROUND, Umin= 0 V, Umax= 10 V,Tmeas= 20 ms);\n");
}
if ( array[0] == 6 || array[1] == 6 || array[2] == 6 || array[3] == 6 || array[4] == 6 || array[5] == 6 || array[6] == 6 || array[7] == 6 || array[8] == 6 || array[9] == 6 || array[10] == 6 || array[11] == 6 || array[12] == 6 || array[13] == 6 || array[14] == 6 || array[15] == 6)
{
printf ("CheckVolt(SKS_DA_3.06, GROUND, Umin= 23 V, Umax= 25 V,Tmeas= 20 ms);\n");
}
else
{
printf ("CheckVolt(SKS_DA_3.06, GROUND, Umin= 0 V, Umax= 10 V,Tmeas= 20 ms);\n");
}
if ( array[0] == 7 || array[1] == 7 || array[2] == 7 || array[3] == 7 || array[4] == 7 || array[5] == 7 || array[6] == 7 || array[7] == 7 || array[8] == 7 || array[9] == 7 || array[10] == 7 || array[11] == 7 || array[12] == 7 || array[13] == 7 || array[14] == 7 || array[15] == 7)
{
printf ("CheckVolt(SKS_DA_3.07, GROUND, Umin= 23 V, Umax= 25 V,Tmeas= 20 ms);\n");
}
else
{
printf ("CheckVolt(SKS_DA_3.07, GROUND, Umin= 0 V, Umax= 10 V,Tmeas= 20 ms);\n");
}
if ( array[0] == 8 || array[1] == 8 || array[2] == 8 || array[3] == 8 || array[4] == 8 || array[5] == 8 || array[6] == 8 || array[7] == 8 || array[8] == 8 || array[9] == 8 || array[10] == 8 || array[11] == 8 || array[12] == 8 || array[13] == 8 || array[14] == 8 || array[15] == 8)
{
printf ("CheckVolt(SKS_DA_3.08, GROUND, Umin= 23 V, Umax= 25 V,Tmeas= 20 ms);\n");
}
else
{
printf ("CheckVolt(SKS_DA_3.08, GROUND, Umin= 0 V, Umax= 10 V,Tmeas= 20 ms);\n");
}
if ( array[0] == 9 || array[1] == 9 || array[2] == 9 || array[3] == 9 || array[4] == 9 || array[5] == 9 || array[6] == 9 || array[7] == 9 || array[8] == 9 || array[9] == 9 || array[10] == 9 || array[11] == 9 || array[12] == 19|| array[13] == 9 || array[14] == 9 || array[15] == 9)
{
printf ("CheckVolt(SKS_DA_3.09, GROUND, Umin= 23 V, Umax= 25 V,Tmeas= 20 ms);\n");
}
else
{
printf ("CheckVolt(SKS_DA_3.09, GROUND, Umin= 0 V, Umax= 10 V,Tmeas= 20 ms);\n");
}
if ( array[0] == 10 || array[1] == 10 || array[2] == 10 || array[3] == 10 || array[4] == 10 || array[5] == 10 || array[6] == 10 || array[7] == 10 || array[8] == 10 || array[9] == 10 || array[10] == 10 || array[11] == 10 || array[12] == 10 || array[13] == 10 || array[14] == 10 || array[15] == 10)
{
printf ("CheckVolt(SKS_DA_3.10, GROUND, Umin= 23 V, Umax= 25 V,Tmeas= 20 ms);\n");
}
else
{
printf ("CheckVolt(SKS_DA_3.10, GROUND, Umin= 0 V, Umax= 10 V,Tmeas= 20 ms);\n");
}
if ( array[0] == 11 || array[1] == 11 || array[2] == 11 || array[3] == 11|| array[4] == 11 || array[5] == 1 || array[6] == 11 || array[7] == 11 || array[8] == 11 || array[9] == 11 || array[10] == 11 || array[11] == 11 || array[12] == 11 || array[13] == 11 || array[14] == 11 || array[15] == 11)
{
printf ("CheckVolt(SKS_DA_3.11, GROUND, Umin= 23 V, Umax= 25 V,Tmeas= 20 ms);\n");
}
else
{
printf ("CheckVolt(SKS_DA_3.11, GROUND, Umin= 0 V, Umax= 10 V,Tmeas= 20 ms);\n");
}
if ( array[0] == 12 || array[1] == 12 || array[2] == 12 || array[3] == 12 || array[4] == 12 || array[5] == 12 || array[6] == 12 || array[7] == 12 || array[8] == 12 || array[9] == 12 || array[10] == 12 || array[11] == 12 || array[12] == 12 || array[13] == 12 || array[14] == 12 || array[15] == 12)
{
printf ("CheckVolt(SKS_DA_3.12, GROUND, Umin= 23 V, Umax= 25 V,Tmeas= 20 ms);\n");
}
else
{
printf ("CheckVolt(SKS_DA_3.12, GROUND, Umin= 0 V, Umax= 10 V,Tmeas= 20 ms);\n");
}
if ( array[0] == 13 || array[1] == 13 || array[2] == 13 || array[3] == 13 || array[4] == 13 || array[5] == 13 || array[6] == 13 || array[7] == 13 || array[8] == 13 || array[9] == 13 || array[10] == 13 || array[11] == 13 || array[12] == 13 || array[13] == 13 || array[14] == 13 || array[15] == 13)
{
printf ("CheckVolt(SKS_DA_3.13, GROUND, Umin= 23 V, Umax= 25 V,Tmeas= 20 ms);\n");
}
else
{
printf ("CheckVolt(SKS_DA_3.13, GROUND, Umin= 0 V, Umax= 10 V,Tmeas= 20 ms);\n");
}
if ( array[0] == 14 || array[1] == 14 || array[2] == 14 || array[3] == 14 || array[4] == 14 || array[5] == 14 || array[6] == 14 || array[7] == 14 || array[8] == 14 || array[9] == 14 || array[10] == 14 || array[11] == 14 || array[12] == 14 || array[13] == 14 || array[14] == 14 || array[15] == 14)
{
printf ("CheckVolt(SKS_DA_3.14, GROUND, Umin= 23 V, Umax= 25 V,Tmeas= 20 ms);\n");
}
else
{
printf ("CheckVolt(SKS_DA_3.14, GROUND, Umin= 0 V, Umax= 10 V,Tmeas= 20 ms);\n");
}
if ( array[0] == 15 || array[1] == 15 || array[2] == 15 || array[3] == 15 || array[4] == 15 || array[5] == 15 || array[6] == 15 || array[7] == 15 || array[8] == 15 || array[9] == 15 || array[10] == 15 || array[11] == 15 || array[12] == 15 || array[13] == 15 || array[14] == 15 || array[15] == 15)
{
printf ("CheckVolt(SKS_DA_3.15, GROUND, Umin= 23 V, Umax= 25 V,Tmeas= 20 ms);\n");
}
else
{
printf ("CheckVolt(SKS_DA_3.15, GROUND, Umin= 0 V, Umax= 10 V,Tmeas= 20 ms);\n");
}
vielleicht kann mir ja einer helfen und sagen warum er immer bei 8 und 0 die zeile ausgibt die in der if steht, auch wenn er eigendlich die zeile ausgeben müsste die in der else steht.
Bitte warten ..
Mitglied: Biber
02.04.2006 um 15:00 Uhr
Moin chriss-330,
das wird vermutlich daran liegen, dass Du den Array-Elementen keinen Anfangswert zugewiesen hast und da eben Zufallszahlen drinstehen.

Wie hast Du denn die Variable "array" definiert? Mit "int array[16];"?

Wenn ich Deinen (geringfügig angepassten) Schnipsel nur mit einer "int array[16];"-Initalisierung und ohne Wertzuweisung laufen lasse und mir die 16 Arraywerte anzeigen lasse, nachdem ich nur 3 tatsächlich eingegeben habe, kommt bei mir so etwas raus:
01.
Bitte Nummer des einzulesenden Digitaleingangs angeben - 
02.
 z.b. fuer 2^1 geben Sie 1 ein: 
03.
Geben Sie 99 zum Starten  / keinen weiteren Eingang ein. 
04.
Digitaleingang # 1:... 5 
05.
Digitaleingang # 2:... 6 
06.
Digitaleingang # 3:... 7 
07.
Digitaleingang # 4:... 99 
08.
-- 
09.
Eingegebene Werte :  3 
10.
-- 
11.
wert von array[ 0] ist  5 
12.
wert von array[ 1] ist  6 
13.
wert von array[ 2] ist  7 
14.
wert von array[ 3] ist 2013314410 
15.
wert von array[ 4] ist 2293728 
16.
wert von array[ 5] ist 2013314410 
17.
wert von array[ 6] ist 2013471312 
18.
wert von array[ 7] ist -1 
19.
wert von array[ 8] ist 2293624 
20.
wert von array[ 9] ist 2293728 
21.
wert von array[10] ist 2013314410 
22.
wert von array[11] ist 2013471392 
23.
wert von array[12] ist -1 
24.
wert von array[13] ist 2293624 
25.
wert von array[14] ist 2013300854 
26.
wert von array[15] ist 4274392 
27.
! 0 CheckVolt(SKS_DA_3.00, GROUND, Umin= 0 V, Umax= 10 V,Tmeas= 20 ms); 
28.
! 1 CheckVolt(SKS_DA_3.01, GROUND, Umin= 0 V, Umax= 10 V,Tmeas= 20 ms); 
29.
! 2 CheckVolt(SKS_DA_3.02, GROUND, Umin= 0 V, Umax= 10 V,Tmeas= 20 ms); 
30.
! 3 CheckVolt(SKS_DA_3.03, GROUND, Umin= 0 V, Umax= 10 V,Tmeas= 20 ms); 
31.
! 4 CheckVolt(SKS_DA_3.04, GROUND, Umin= 0 V, Umax= 10 V,Tmeas= 20 ms); 
32.
= 5 CheckVolt(SKS_DA_3.05, GROUND, Umin= 23 V, Umax= 25 V,Tmeas= 20 ms); 
33.
= 6 CheckVolt(SKS_DA_3.06, GROUND, Umin= 23 V, Umax= 25 V,Tmeas= 20 ms); 
34.
= 7 CheckVolt(SKS_DA_3.07, GROUND, Umin= 23 V, Umax= 25 V,Tmeas= 20 ms); 
35.
! 8 CheckVolt(SKS_DA_3.08, GROUND, Umin= 0 V, Umax= 10 V,Tmeas= 20 ms); 
36.
...
( Die Prefixe "! 4 CheckVolt(..." oder "= 5 CheckVolt(..." habe ich mir nur anzeigen lassen, um zu sehen, ob er die "richtigen" if..else..Zweige ansteuert.)

Oben kannst Du sehen, dass in den Array-Elementen 3 bis 15, denen ich nichts zugewiesen habe, halt irgendeine Grütze drinsteht.

Wenn du am Anfang zum Beispiel alle array-Werte mit "-1" oder "4711" initialisierst, kann da nichts schiefgehen.

Bsp:
01.
#define MAXLEN_MYARRAY 16 
02.
// bool ascan( int a[], int toScan4); 
03.
// bool ascan( int a[], int toScan4, bool withprintf); 
04.
int main (){ 
05.
int w=0, p=0, pmax=-1, array[MAXLEN_MYARRAY]; 
06.
<b>for (p=0; p<MAXLEN_MYARRAY; p++) array[p]=-1;</b>  // <--------- Initialisieren mit -1 (oder sonst einem Wert) 
07.
printf ("Bitte Nummer des einzulesenden Digitaleingangs angeben - \n z.b. fuer 2^1 geben Sie 1 ein: \n"); 
08.
printf ("Geben Sie 99 zum Starten  / keinen weiteren Eingang ein. \n"); 
09.
for (p=0;p<MAXLEN_MYARRAY;p++){ 
10.
printf( "Digitaleingang #%2d:... ", p+1); scanf ( "%d", &w); 
11.
if ( w<0 || (w >= MAXLEN_MYARRAY -1 && w !=99)) { 
12.
     printf(">>Fehleingabe! Wertebereich  0...15\n");  p--; continue; 
13.
}      
14.
if (w == 99) break; 
15.
// if (ascan( array, w, false)) { 
16.
//     printf(">>Den Wert %2d hatten wir schon..try again..\n", w); 
17.
//     p--; continue; 
18.
// }    
19.
array[p]=w; 
20.
pmax++; 
21.
22.
....
Gruß Biber
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Variablen Zusammenbauen 2.0 ( Batch ) (6)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst FOR Loop Variablen ( Batch ) (2)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst Grosses Variablen Problem ( Batch) (30)

Frage von clragon zum Thema Batch & Shell ...

VB for Applications
Auswahlliste mit variablen (3)

Frage von Roadrunner777 zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...

Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...

Windows Server
Suche passender Treiber (12)

Frage von stolli zum Thema Windows Server ...