do while-Schleife für ja/Nein Benutzer auffordern

Mein Programm findet die Primfaktoren ist...das einzige, was, das ich tun müssen, ist diese Art der Ausgabe:

Möchten Sie versuchen, eine andere Nummer? Sagen Sie Y(es) oder N(o): y
//fragt nach einer anderen Nummer (geht über das Programm wieder)

Möchten Sie versuchen, eine andere Nummer? Sagen Sie Y(es) oder N(o): n
//Danke für die Verwendung meines Programms. Good Bye!

Ich habe mein Versuch dazu weiter unten...Wenn ich geben Sie n ein, es macht die richtige Ausgabe. Aber wenn ich tippe " y " es sagt nur das gleiche n tut....Wie kann ich die Schleife das gesamte Programm, ohne den code für das Programm innerhalb dieser while-Schleife, die ich habe? Also, wenn ich drücken Sie y, geht es durch das Programm wieder?

int main() {
  unsigned num;
  char response;

  do{
    printf("Please enter a positive integer greater than 1 and less than 2000: ");
    scanf("%d", &num);
    if (num > 1 && num < 2000){
      printf("The distinctive prime facters are given below: \n");
      printDistinctPrimeFactors(num);
      printf("All of the prime factors are given below: \n");
      printPrimeFactors(num);
    }
    else{
      printf("Sorry that number does not fall within the given range. \n");
    }
    printf("Do you want to try another number? Say Y(es) or N(o): \n");
    response = getchar();
    getchar();
  }
  while(response == 'Y' || response == 'y');
  printf("Thank you for using my program. Goodbye!");

  return 0;
} /* main() */

InformationsquelleAutor Tucker Sampson | 2013-01-31

Schreibe einen Kommentar