pete1612
10.04.2012, 10:45
Hallo Leute,
habe leider ein kleines Problem, an dem ich seit längerer Zeit kaue:
Ich beschäftige mich seit einigen Wochen mit der C-Programmierung und gestern habe ich festgestellt, dass die Funktion gets(xxxx) in meinem Programm einfach übersprungen wird.
Hab leider gerade das orginale Programm nicht auf dem PC, also hier ein Schema.
.
int main(){
char posname[20];
int pos;
.
.
printf("Bitte Pos.-Nummer eingeben >'0' beendet Programm< >'100' um neue Poition einzugeben<");
scanf("%i",&pos);pos--;
if(pos<7){
show(position[pos].parameter); *\hier wird eine Struktur angesprochen\*
printf("\nPosition %i wird angezeigt!",pos);
}
else{
switch(pos){
case -1: printf("Programm wird beendet!");break;
case 99: printf("Neue Position wird erstellt!");gets(posname);
}
}
}
Mir ist klar, dass dieses Programm so keine Funktion hat, allerdings geht es mir darum, wieso gets() hier einfach übersprungen wird.
Die Verzweigung von gets() entspricht dem Original-Programm in dem gets() ebenfalls in einer else-Verzweigung nach einer switch/case entscheidung steht.
Schreibt man gets() außerhalb dieser Verzweigungen, dann wird es abgearbeitet.
Da ich es aber gerne in dieser Struktur anwende möchte, komme ich nicht weiter...
Jemand eine Idee vielleicht??
Vielen Dank im Vorraus!!
Gruß
habe leider ein kleines Problem, an dem ich seit längerer Zeit kaue:
Ich beschäftige mich seit einigen Wochen mit der C-Programmierung und gestern habe ich festgestellt, dass die Funktion gets(xxxx) in meinem Programm einfach übersprungen wird.
Hab leider gerade das orginale Programm nicht auf dem PC, also hier ein Schema.
.
int main(){
char posname[20];
int pos;
.
.
printf("Bitte Pos.-Nummer eingeben >'0' beendet Programm< >'100' um neue Poition einzugeben<");
scanf("%i",&pos);pos--;
if(pos<7){
show(position[pos].parameter); *\hier wird eine Struktur angesprochen\*
printf("\nPosition %i wird angezeigt!",pos);
}
else{
switch(pos){
case -1: printf("Programm wird beendet!");break;
case 99: printf("Neue Position wird erstellt!");gets(posname);
}
}
}
Mir ist klar, dass dieses Programm so keine Funktion hat, allerdings geht es mir darum, wieso gets() hier einfach übersprungen wird.
Die Verzweigung von gets() entspricht dem Original-Programm in dem gets() ebenfalls in einer else-Verzweigung nach einer switch/case entscheidung steht.
Schreibt man gets() außerhalb dieser Verzweigungen, dann wird es abgearbeitet.
Da ich es aber gerne in dieser Struktur anwende möchte, komme ich nicht weiter...
Jemand eine Idee vielleicht??
Vielen Dank im Vorraus!!
Gruß