0

您好,我正在编写三个单独的程序,每个程序都会告诉您一年中特定月份有多少天,计算您乘坐公共汽车后还剩下多少钱,以及一个计算器程序。

在我看来,前两个程序不会影响最后一个程序,计算器程序单独运行也很好。但是,一旦我添加了 /* */ 并屏蔽了前两个代码块,最后一个计算器程序就不能运行,说变量 answer 没有初始化。代码粘贴在下面。

#include <stdio.h>

int main() {

// program telling you days in a month

    int month;
    printf("Choose month > ");
    scanf("%d", &month);
    puts("");

    switch (month) {
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
        printf("%d th month has up to 31 days\n", month);
        break;
    case 2:
        printf("Feburary has 28 or 29 days\n");
        break;
    case 4:
    case 6:
    case 9:
    case 11:
        printf("%d th month has up to 30 days\n", month);
        break;
    }
    puts("");

// Balance calculating program

    int balance = 10000;
    char choice;

    printf("Choose between Adult (g) or Student (s) g /s > ");

    while (getchar() != '\n');

    scanf("%c", &choice);
    puts("");

    switch (choice) {
    case 'g':
    case 'G':
        balance -= 1250;
        puts("Adult fee is 1250 won\n");
        break;
    case 's':
    case 'S':
        balance -= 720;
        puts("Student fee is 720 won\n");
        break;
    }
    printf("balance : %d", balance);
    puts("");

// Calculator program

    char cal;
    double num1, num2, answer;

    printf("Calculator \n");
    printf("Choose the type of calculation + , - , * , / > ");
    scanf("%c", &cal);
    puts("");

    while (getchar() != '\n');

    printf("input two numbers > ");
    scanf("%lf%lf", &num1, &num2);
    puts("");

    switch (cal) {
    case '+':
        answer = num1 + num2;
        break;
    case '-':
        answer = num1 - num2;
        break;
    case '*':
        answer = num1 * num2;
        break;
    case '/':
        answer = num1 / num2;
        break;
    }

    printf("%.2f %c %.2f = %.2f", num1, cal, num2, answer);

}

谢谢您的帮助

4

0 回答 0