Προς το περιεχόμενο

Μπορεί κανείς να λύσει το πρόβλημα στη C;


jhanidis

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα!Στο εξής πρόγραμμα πρέπει ο χρήστης να δίνει μια απάντηση (insert ή delete ή quit) το πρόγραμμα να μετατρέπει τους χαρακτήρες της απάντησης σε πεζούς και έπειτα να εκτελεί τις ανάλογες εντολές για την ανάλογης απάντηση.Όμως το πρόγραμμα όταν τρέχει εκτυπώνει συνεχώς έναν πίνακα και το "What do you want to do" δηλαδή ο βρόγχος είναι ατέρμων και αυτό οφείλεται στο ότι δεν λειτουργεί το scanf apantisi, δηλαδή το πρόγραμμα δε σταματάει για να δωθεί μια απάντηση και έτσι κάνει άπειρους κύκλους. Μπορεί κανείς να βρει το λάθος στο πρόγραμμα? Ευχαριστώ πολύ!

 

 

int i,grammh,sthlh,arithmos;

char apantisi[N];

char insert[]="insert";

char delete[]="delete";

char quit[]="quit";

 

 

do {

ektypwsi(); /*εκτυπώνει έναν πίνακα*/

printf("What do you want to do?\n");

scanf("%6s", apantisi);

for (i=0; i<N; i++) {

apantisi=tolower(apantisi);

}

if (strcmp(apantisi, insert)== 0) {

mpla mpla mpla...

}

}

else if (strcmp(apantisi, delete)==0) {

mpla mpla mpla...

}

}

}while (strcmp(apantisi, quit)!=0);

Δημοσ.
>int i,grammh,sthlh,arithmos;
  char apantisi[N];
  char insert[]="insert";
  char delete[]="delete";
  char quit[]="quit";


do {
    ektypwsi(); /*εκτυπώνει έναν πίνακα*/
    printf("What do you want to do?\n");
    scanf("%6s", apantisi);
    for (i=0; i<N; i++) {
      apantisi[i]=tolower(apantisi[i]);
    }
    if (strcmp(apantisi, insert)== 0) {
 mpla mpla mpla...
getchar();
 }
    }
    else if (strcmp(apantisi, delete)==0) {
        mpla mpla mpla...
getchar();
 }
    }   
  }while (strcmp(apantisi, quit)!=0);[/quote]

Δημοσ.

Άμα δεν το βάλεις τότε θα πρέπει να βάλεις κάποιου άλλου είδος "pause" ώστε να σταματάει το πρόγραμμα όταν μπαινει σε κάθε if για να μπορείς να δεις το output του.

Δημοσ.

Ίσως να μην ήμουν σαφής στο ερώτημα ή δεν καταλαβαίνω την απάντηση.. :-\

τεσπα. το πρόβλημα μου είναι ότι το πρόγραμμα δεν σταματάει στο scanf ώστε να δωθεί κάποια τιμή..γιατί συμβαίνει αυτό?

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...