Как сделать это, когда программа закончила выполнение, и добавить опцию, если пользователь хочет повторить попытку, она снова запускает программу - PullRequest
0 голосов
/ 16 марта 2019

Я получил этот школьный проект, в котором нам нужно будет кодировать какой-то калькулятор, используя Dev C ++, и у него должна быть опция, в которой пользователь выбирает погоду, чтобы попытаться вычислить снова с другим вводом или другим ключом.чтобы выйти из программы.

Моя проблема в том, чтобы при попытке повторить попытку или выйти из программы, когда я ввожу опцию для повторного выполнения, она просто автоматически выполняет все и не дает возможность вводить символы иличто угодно.

Вот мой код

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<unistd.h>

int main(){

int a,b,choice;
using namespace std;
system("cls");  
printf("\t===============================================================\n"
);
printf("\n\t\t\t\tFinals Project I\n\n");
printf("\t\t\t   Program Status : Complete\n\n");
printf("\t===============================================================\n\
n");
printf("Loading libraries...");
sleep(3);
printf("\tSuccess\n");
printf("Binding program libs...");
sleep(2);
printf("\tSuccess\n");
printf("Executing program...");
sleep(2);
printf("\tSuccess\n\n");
printf("Program Started!\n\n"); 

do{ 
printf("Please select valid operation (+ - / *):\t");
char operation;
scanf("%c", &operation);

    switch(operation){
        case '+': 
            printf("\nEnter 1st number:\t");
            scanf("%d",&a);
            printf("\nEnter 2nd number:\t");
            scanf("%d",&b);
            printf("\nAnswer is %d",a+b);
            break;
        case '-':
            printf("Enter 1st number:\n");
            scanf("%d",&a);
            printf("Enter 2nd number:\n");
            scanf("%d",&b);
            printf("Answer is %d",a-b);
            break;
        case '/':
            printf("Enter 1st number:\n");
            scanf("%d",&a);
            printf("Enter 2nd number:\n");
            scanf("%d",&b);
            printf("Answer is %d",a/b);
            break;
        case '*':
            printf("Enter 1st number:\n");
            scanf("%d",&a);
            printf("Enter 2nd number:\n");
            scanf("%d",&b);
            printf("Answer is %d",a*b);
            break;
        default : printf("Incorrect! Operation not Valid...\n"); break;
    }
    printf("\nDo you want to try again? :\n[1] YES\n[0] NO\t :\t>>");
    scanf("%d",&choice);
}while(choice!=0);

printf("\n\nExiting Program...[Press any Key]");
getch();
}

/*

((operation=='+')||(operation=='-')||(operation=='/')||(operation=='*'))


*/

1 Ответ

0 голосов
/ 16 марта 2019

Я получил его на работу.Оказывается, я должен был поставить «Space» перед «% c» в первом синтаксисе scanf.Спасибо всем за ваши комментарии, и мне жаль, что я не был конкретен с примером кода.Я копирую и вставляю все.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...