suche Loesung fuer Schleife
-
int x; for(x=0; x<8; x++) if (strcmp(name, woche[x]) != 0) { puts("Fehler"); } else { printf("Der %i Tag in der Woche ist %s\n", x, woche[x]); }
Fehler
Der 1 Tag in der Woche ist Montag
Fehler
Fehler
Fehler
Fehler
usw..ich will nur das "Der 1 Tag in der Woche ist Montag" haben
ich kriege nicht hin
-
int x; for(x=0; x<8; x++) if (strcmp(name, woche[x]) != 0) { // puts("Fehler"); } else { printf("Der %i Tag in der Woche ist %s\n", x, woche[x]); }
-
Kennst du
break
?Wenn nicht, dann merk dir in einer zweiten Variablen den Index.
int x, tag = 0; for(x=0; x<8; x++) if (strcmp(name, woche[x]) != 0) { // puts("Fehler"); } else { printf("Der %i Tag in der Woche ist %s\n", x, woche[x]); tag = x; } printf("Der %i Tag in der Woche ist %s\n", tag , woche[tag]);
-
int x, tag = 0; for (x = 0; x<8; x++) if (strcmp(name, woche[x]) != 0) { // puts("Fehler"); } else { //printf("Der %i Tag in der Woche ist %s\n", x, woche[x]); tag = x; } printf("Der %i Tag in der Woche ist %s\n", tag, woche[tag]);
danke DirkB. So will ich es haben
-
gibts noch anderen Varianten?
bzw. wie schreibt man richtig.
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (alle ISO-Standards) in das Forum C (alle ISO-Standards) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
m180 schrieb:
gibts noch anderen Varianten?
bzw. wie schreibt man richtig.
Mit
break
Du musst noch aufpassen, was passiert, wenn der Tag nicht gefunden wurde (welchen Wert hat x)
-
ok, ich probiere aus mit "break"
hab jetzt so umgeschrieben
int x, tag = 0; for (x = 0; x<8; x++) if (strcmp(name, woche[x]) == 0) { tag = x; } printf("Der %i Tag in der Woche ist %s\n", tag, woche[tag]);
-
Header.cpp
#include<stdio.h> #include<stdlib.h> #include<string.h> #include"Header.h" char woche[8][20] = { "Fehler", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag" }; void PrintTagString(char name[]) { int x, tag = 0; for (x = 0; x<8; x++) if (strcmp(name, woche[x]) == 0) { tag = x; } printf("Der %i Tag in der Woche ist %s\n", tag, woche[tag]); } void PrintTagZahl(char *a) { int x; x = atoi(a); if ((x > 7) || (x < 0)) { printf("Der %i Tag in der Woche ist Fehler\n", x); } else { printf("Der %i Tag in der Woche ist %s\n", x, woche[x]); } }
Quelle.cpp
#include<stdio.h> #include<stdlib.h> #include<string.h> #include"Header.h" void main(int argc, char *argv[]) { int x; if (argc == 2) { x = atoi(argv[1]); if (x == 0) { PrintTagString(argv[1]); } else { PrintTagZahl(argv[1]); } } else { puts("Parameter-Fehler"); } }
Header.h
void PrintTagZahl(char *a); void PrintTagString(char name[]);
-
PrintTagZahl sollte doch auch als Parameter eine Ganzzahl bekommen und keinen String.