如果语句出现问题,则不会显示正确的输出

罗恩

我正在尝试制作一个程序,为用户提供从他们想要转换的测量列表中进行选择的选项。
到目前为止,我的代码是:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    int sv, SourceUnit, du, mb, kb, by;
    printf("--------------------------------------------------0x0 Menu:------    ---------------------------------\n");
    printf(" Please Select from the following options (enter number exactly when prompted for source units!\n");
    printf("1: Kilo -> Mega\n2: Mega -> Kilo\n10. Bits -> Bytes\n ");
    printf("--------------------------------------------------------------------------------------------------\n");

    printf("Enter source value: ");
    scanf("%d", &sv);

    printf("Enter source unit: ");
    scanf("%s", &SourceUnit);

    if (SourceUnit == 1)                                                            //convert kilobytes to megabytes
    {

        mb = (sv / 1024);
        printf("%d Kb ==  %d Mb\n", sv, mb);
    }

    else if (SourceUnit == 2)                                                           //convert megabytes to kilobytes
    {
        kb = (sv / 1024);
        printf("%d Mb == %d Kb\n", sv, kb);
    }

    else if (SourceUnit == 10)                                                          //bits to bytes
    {
        by = (sv / 8);
        printf("%d Bits == %d Bytes\n", sv, by);
    }

    else 
    {
        printf("Please Choose from the menu options to convert!\n");
    }

    return(0);
}

它在GCC上编译良好。我得到的输出是:

---------------------------------------0x0 Menu:----------------------------
1. Kilo -> Mega
2. Mega -> Kilo
3. Bits -> Bytes
----------------------------------------------------------------------------
Enter Source Value: (Example I will type in 30 for the number to be converted) 30
Enter Source Unit: (Example will be 1 to convert from Kilo to Mega) 1
Please Choose from the menu options to convert! 

由于某种原因,我的else语句在我不希望出现时出现。.什么导致此错误?

我也遇到一些问题,我需要将deka转换为dibi ..究竟该怎么做?我知道deka是10个一组,而dibi是16个一组,但这就是我可以从中读取的所有信息。

randominstanceOfLivingThing

您的scanf的格式说明符错误。应该是“%d”。造成了问题。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    int sv, SourceUnit, du, mb, kb, by;
    printf("--------------------------------------------------0x0 Menu:------    ---------------------------------\n");
    printf(" Please Select from the following options (enter number exactly when prompted for source units!\n");
    printf("1: Kilo -> Mega\n2: Mega -> Kilo\n10. Bits -> Bytes\n ");
    printf("--------------------------------------------------------------------------------------------------\n");

    printf("Enter source value: ");
    scanf("%d", &sv);

    printf("Enter source unit: ");
    scanf("%d", &SourceUnit); //This should be %d

    if (SourceUnit == 1)                                                            //convert kilobytes to megabytes
    {

        mb = (sv / 1024);
        printf("%d Kb ==  %d Mb\n", sv, mb);
    }

    else if (SourceUnit == 2)                                                           //convert megabytes to kilobytes
    {
        kb = (sv / 1024);
        printf("%d Mb == %d Kb\n", sv, kb);
    }

    else if (SourceUnit == 10)                                                          //bits to bytes
    {
        by = (sv / 8);
        printf("%d Bits == %d Bytes\n", sv, by);
    }

    else
    {
        printf("Please Choose from the menu options to convert!\n");
    }

    return(0);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果语句出现问题,则批处理

来自分类Dev

如果语句出现问题,则toPrecision不起作用

来自分类Dev

如果if-else语句导致按钮出现问题

来自分类Dev

如果语句(PDO :: FETCH_ASSOC)出现问题

来自分类Dev

如果语句和图片框值出现问题

来自分类Dev

背景图片出现问题(不会显示)

来自分类Dev

如果声明联合,则不会显示循环

来自分类Dev

如果用户输入不正确的信息,则不会显示错误消息

来自分类Dev

通过$ _SESSION和$ _POST传递令牌-如果语句出现问题?

来自分类Dev

多选的MySql语句出现问题

来自分类Dev

SQLite中的join语句出现问题

来自分类Dev

VB中的If语句出现问题

来自分类Dev

SQL Server select语句出现问题

来自分类Dev

Java中的if语句出现问题

来自分类Dev

while True和if语句出现问题。

来自分类Dev

java while语句出现问题?

来自分类Dev

涉及函数的switch语句出现问题

来自分类Dev

SQLite中的join语句出现问题

来自分类Dev

INSERT语句和Coldfusion出现问题

来自分类Dev

JavaScript中的IF语句出现问题

来自分类Dev

Unix中的if语句出现问题

来自分类Dev

PHP代码中的if语句出现问题

来自分类Dev

输出多个值时出现问题

来自分类Dev

输出多维数组时出现问题

来自分类Dev

在C中输出出现问题

来自分类Dev

输出多维数组时出现问题

来自分类Dev

我的阵列输出出现问题

来自分类Dev

如果返回语句值,则不正确

来自分类Dev

如果未在 onCreate 中声明,则不会出现 Listview