Top-Themen

Aktuelle Themen (A bis Z)

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

Mitglied: chriss-330

chriss-330 (Level 1) - Jetzt verbinden

24.03.2006, aktualisiert 02.04.2006, 5899 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 ..
Neue Wissensbeiträge
Humor (lol)
Administrator.de Perlen
Tipp von DerWindowsFreak2 vor 21 StundenHumor (lol)2 Kommentare

Hallo, Heute beim stöbern auf dieser Seite bin auf folgenden Thread aus dem Jahre 2006 gestossen: Was meint ihr? ...

Erkennung und -Abwehr
OpenSSH-Backdoor Malware erkennen
Tipp von Frank vor 1 TagErkennung und -Abwehr

Sicherheitsforscher von Eset haben 21 Malware-Familien untersucht. Die Malware soll Hintertüren via OpenSSH bereitstellen, so dass Angreifer Fernzugriff auf ...

iOS
WatchChat für Whatsapp
Tipp von Criemo vor 4 TageniOS5 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor!
Tipp von Criemo vor 5 TageniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
SSD zeigt falsche Werte
Frage von karl2014Festplatten, SSD, Raid25 Kommentare

Ich habe ein Problem mit der SSD in meinem Laptop mit Windows 10. Es ist eine 1Tb Platte die ...

Windows Server
Welche Option fürs Windows Server Installations besser
Frage von backitWindows Server22 Kommentare

Hi Zusammen, ich werde unserer AD (SBS 2011) und Exchange 2010 Servern auf neuen physikalischen Server umziehen. ich habe ...

Ubuntu
Installation freerdp 2.0.0-rc4
Frage von kristovUbuntu20 Kommentare

Hallo, möchte freerdp 2.0.0-rc4 auf linux mint 18.3 installieren, habe aber keine Ahnung, wie das funktioniert. freerdp 1.1 ist ...

Windows Update
Fehler bei Updates über WSUS
Frage von Hendrik2586Windows Update19 Kommentare

Guten Tag liebe Kolleginen und Kollegen, lang lang ist meine letzte Anfrage her. Hier etwas das mich nun schon ...