簡體   English   中英

如果用戶輸入為0,則退出程序

[英]Exit program if user input is 0

我的程序要求用戶輸入。 如果第一個輸入為零,我希望它退出。

這是我的代碼:

    #include<stdio.h>
#include<stdlib.h>
#include <math.h>
#include <float.h>

struct mystruct
{
    float startnummer;
    float hoppnummer;
    float svarighetsgrad;
    float domarpoangs[7];
};

int main(void)
{
    struct mystruct data;
    float max = 0;
    float min = FLT_MAX;
    float sum = 0;
    float avg = 0;
    int i = 0;
    float resultat = 0;

    printf("Startnummer: \n");
    scanf_s("%f", &data.startnummer); //<<---If this i 0 - exit the program
    if (data.startnummer == 0)
    {
        exit;
    }

    printf("Hoppnummer:\n");
    scanf_s("%f", &data.hoppnummer);

    printf("Svarighetsgrad:\n");
    scanf_s("%f", &data.svarighetsgrad);


    for (i = 0; i < 7; i++)
    {
        printf("domarpoang %d\n", i + 1);
        float f;
        if (scanf_s("%f", &f) == 1)
        {
            if (f < min) min = f;
            if (f > max) max = f;

            data.domarpoangs[i] = f;
        }
        else
        {
            printf("error parsing float\n");
            exit(0);
        }

    }

    system("cls");
    printf("Startnummer: %.1f \n", data.startnummer);
    printf("Hoppnummer: %.1f\n", data.hoppnummer);
    printf("Svarighetsgrad: %.1f\n", data.svarighetsgrad);
    for (i = 0; i < 7; i++)
    {
        printf("Domarpoang %d: %.1f\n", (i + 1), data.domarpoangs[i]);
    }

    for (i = 0; i < 7; i++)
    {
        sum += data.domarpoangs[i];

    }
    sum = sum - (max + min);

    avg = sum/5;

    resultat = avg * 3 * data.svarighetsgrad;

    printf("Hoppoang:%.2f \n", resultat);


    printf("Tryck tangent for nytt hopp!");
    getchar();
    getchar();
    return 0;
}

問題是它不起作用。 我沒有收到錯誤,但是當用戶輸入為0時,程序只是正常運行而不關閉。

您必須寫exit(0); (或exit(SOME_OTHER_INTEGER_STATUS) ),而不exit; 當然,由於這在main ,您可以只寫return 0; 代替。

ehmmm ...如果要關閉程序,則寫入return 0; 或您希望主交易返回的任何值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM