Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C inputSex()和inputAge()的返回值没有返回任何内容?_C_Output - Fatal编程技术网

C inputSex()和inputAge()的返回值没有返回任何内容?

C inputSex()和inputAge()的返回值没有返回任何内容?,c,output,C,Output,我试图在函数中输入int或char并返回该值,但它们都没有返回任何内容。我尝试在两个函数中都放入print语句,它们都输出了一些内容,但函数不会返回任何内容。任何信息都会有帮助。提前谢谢 #include "defs.h" #define MAX_CHAR 32 int nameInput(char firstName[MAX_CHAR + 1], char middleInt[2], char lastName[MAX_CHAR + 1], char suffix[4]); int pri

我试图在函数中输入int或char并返回该值,但它们都没有返回任何内容。我尝试在两个函数中都放入print语句,它们都输出了一些内容,但函数不会返回任何内容。任何信息都会有帮助。提前谢谢

#include "defs.h"
#define MAX_CHAR 32

int nameInput(char firstName[MAX_CHAR + 1], char middleInt[2], char 
lastName[MAX_CHAR + 1], char suffix[4]);
int printName(char firstName[MAX_CHAR + 1], char middleInt[2], char 
lastName[MAX_CHAR + 1], char suffix[4]);
void emptyStdin(void);
int inputAge(int min, int max);
char inputSex(void);
int printAge(int age);
char printSex(char sex);

int main (void)
{
         int choice = 0, age = 0;
         char firstName[MAX_CHAR + 1] = {0}, middleInt[2] = {0}, 
         lastName[MAX_CHAR + 1] = {0}, suffix[4] = {0};
         char sex = '\0';

    do
    {
            printf("Menu\n");
            printf("1. Name\n");
            printf("2. Enter Years, Party, Office, and State \n");
            printf("3. Enter Age and Sex\n");
            printf("4. Enter Contacts \n");
            printf("5. Enter Contributions and Lies \n");
            printf("6. Display Data \n");
            printf("7. Clear all Data \n");
            printf("8. Quit\n");
            scanf("%d", &choice);

            switch (choice)
            {
                    case 1:
                            emptyStdin();
                            nameInput(firstName, middleInt, lastName, suffix);
                            break;
                    case 2:
                            break;
                    case 3:
                            emptyStdin();
                            inputAge(21,99);
                            emptyStdin();
                            inputSex();
                            break;
                    case 4:
                            break;
                    case 5:
                            break;
                    case 6:
                            printName(firstName, middleInt, lastName, suffix);
                            printAge(age);
                            printSex(sex);
                            break;
                    case 7:
                            break;
                    case 8:
                            choice = 8;
                            break;
                    default:
                            printf("Input is invalid\n");
                            break;
            }
    } while(choice != 8);

return (0);
}

int  nameInput(char firstName[MAX_CHAR + 1], char middleInt[2], char 
lastName[MAX_CHAR + 1], char suffix[4])
{
    char temp[2] = {0};
    int c = 15;
    int i = 0;

    printf("Type in the politicians first name (max 32 characters): ");
    scanf("%s", firstName);
    emptyStdin();

    printf("Type in the politicians middle initial. If none type 0. (max 1 character): ");
    scanf("%s", temp);
    c = temp[i];
    c = temp[i];

    if(c == 0)
    {
            middleInt[i] = '\0';
    }
    if(c != 0)
    {
            strcpy(middleInt, temp);
    }
    else;
    emptyStdin();

    printf("Type in the politicians last name (max 32 characters): ");
    scanf("%s", lastName);
    emptyStdin();

    printf("Type in the politicians suffix. If none type 0. (max 3 characters): ");
    scanf("%s", suffix);
    emptyStdin();
    printf("\n\n");
return 1;
}

int printName(char firstName[MAX_CHAR + 1], char middleInt[2], char 
lastName[MAX_CHAR + 1], char suffix[4])
{
    int i = 0;

    printf("*****Unknown/Not Applicable if the output is a 0*****\n\n");
    printf("- Politicians first name: ");
    for (i = 0; i != ('\n' || '\0'); i++)
    {
            printf("%s", &firstName[i]);
    }

    printf("\n");
    i = 0;
    printf("- Politicians middle initial: ");
    if (middleInt[i] != '\0')
    {
            for (i = 0; i != ('\n' || '\0'); i++)
            {
                    printf("%s", &middleInt[i]);
            }
            printf("\n");
    }
    else;

    i = 0;
    printf("- Politicians last name: ");
    for (i = 0; i != ('\n' || '\0'); i++)
    {
            printf("%s", &lastName[i]);
    }
    printf("\n");

    i = 0;
    printf("- Politicians suffix: ");
    if (suffix[i] != 0)
    {
            for (i = 0; i != ('\n' || '\0'); i++)
            {
                    printf("%s", &suffix[i]);
            }
    }
    else;

    printf("\n");

return 1;
}

void emptyStdin(void)
{
    int c = getchar();

    while (c != EOF && c != '\n')
    {
           {
            c = getchar();
    }
}

int inputAge(int min, int max)
{
    int age = 0, i = 0;
    printf("Enter the age of the politician [Between 21 and 99]: ");

    i = 1;
    for(i = 1; i < 2; i++)
    {
            scanf("%d", &age);
            if (age < min || age > max)
            {
                    printf("That number isnt in the range. Please try again. \n");
                    i--;
            }
            else
            {
                    break;
            }
    }

return age;
}

char inputSex(void)
{
    int i = 0;
    char sex;

    i = 1;
    printf("Enter the sex of the politician [Choose either M or F]: ");
    for(i = 1; i < 2; i++)
    {
            scanf("%c", &sex);
            if(sex == 'M' || sex == 'F')
            {
                   {
                    break;
            }
            else
            {
                    printf("That is not a vaild input. Please try again.");
                    i--;
            }
    }
return sex;
}

int printAge(int age)
{
    printf("- Age: %d\n", age);
return 1;
}

char printSex(char sex)
{
    printf("- Sex: %d\n", sex);
return 1;
}
#包括“defs.h”
#定义最大字符32
int name输入(char firstName[MAX_char+1],char middleInt[2],char
lastName[MAX_CHAR+1],CHAR后缀[4];
int printName(char firstName[MAX_char+1],char middleInt[2],char
lastName[MAX_CHAR+1],CHAR后缀[4];
void emptyStdin(void);
整数输入(整数最小值,整数最大值);
字符输入性(void);
int-printAge(int-age);
char-printSex(char-sex);
内部主(空)
{
整数选择=0,年龄=0;
char firstName[MAX_char+1]={0},middleInt[2]={0},
lastName[MAX_CHAR+1]={0},后缀[4]={0};
字符性别='\0';
做
{
printf(“菜单\n”);
printf(“1.名称\n”);
printf(“2.输入年份、当事人、办公室和州”);
printf(“3.输入年龄和性别”);
printf(“4.输入联系人\n”);
printf(“5.输入贡献和谎言”);
printf(“6.显示数据\n”);
printf(“7.清除所有数据\n”);
printf(“8.Quit\n”);
scanf(“%d”,选择(&C);
开关(选择)
{
案例1:
emptyStdin();
名称输入(firstName、middleInt、lastName、后缀);
打破
案例2:
打破
案例3:
emptyStdin();
输入(21,99);
emptyStdin();
输入性();
打破
案例4:
打破
案例5:
打破
案例6:
printName(firstName、middleInt、lastName、后缀);
印刷时代(时代);
印刷性别(性别);
打破
案例7:
打破
案例8:
选择=8;
打破
违约:
printf(“输入无效\n”);
打破
}
}while(选项!=8);
返回(0);
}
int name输入(char firstName[MAX_char+1],char middleInt[2],char
lastName[MAX_CHAR+1],CHAR后缀[4])
{
字符温度[2]={0};
int c=15;
int i=0;
printf(“输入名字(最多32个字符):”;
scanf(“%s”,名字);
emptyStdin();
printf(“键入中间的首字母。如果没有键入0(最多1个字符):”;
扫描频率(“%s”,温度);
c=温度[i];
c=温度[i];
如果(c==0)
{
middleInt[i]='\0';
}
如果(c!=0)
{
strcpy(中间点,温度);
}
其他的
emptyStdin();
printf(“输入政治家的姓氏(最多32个字符):”;
scanf(“%s”,lastName);
emptyStdin();
printf(“键入后缀。如果没有,则键入0(最多3个字符):”;
scanf(“%s”,后缀);
emptyStdin();
printf(“\n\n”);
返回1;
}
int printName(char firstName[MAX_char+1],char middleInt[2],char
lastName[MAX_CHAR+1],CHAR后缀[4])
{
int i=0;
printf(“******未知/如果输出为0******\n\n则不适用”);
printf(“-政客名字:”);
对于(i=0;i!=(“\n”| |“\0”);i++)
{
printf(“%s”、&firstName[i]);
}
printf(“\n”);
i=0;
printf(“-中间首字母:”);
if(middleInt[i]!='\0')
{
对于(i=0;i!=(“\n”| |“\0”);i++)
{
printf(“%s”和middleInt[i]);
}
printf(“\n”);
}
其他的
i=0;
printf(“-政客姓氏:”);
对于(i=0;i!=(“\n”| |“\0”);i++)
{
printf(“%s”和lastName[i]);
}
printf(“\n”);
i=0;
printf(“-后缀:”);
if(后缀[i]!=0)
{
对于(i=0;i!=(“\n”| |“\0”);i++)
{
printf(“%s”和后缀[i]);
}
}
其他的
printf(“\n”);
返回1;
}
void emptyStdin(void)
{
int c=getchar();
而(c!=EOF&&c!='\n')
{
{
c=getchar();
}
}
整数输入(整数最小值,整数最大值)
{
智力年龄=0,智力年龄=0;
printf(“输入政治家的年龄[在21到99岁之间]:”;
i=1;
对于(i=1;i<2;i++)
{
scanf(“%d”和年龄);
如果(年龄<最小值|年龄>最大值)
{
printf(“该数字不在范围内。请重试。\n”);
我--;
}
其他的
{
打破
}
}
回归年龄;
}
字符输入性(void)
{
int i=0;
性别;
i=1;
printf(“输入政治家的性别[选择M或F]:”;
对于(i=1;i<2;i++)
{
scanf(“%c”、&sex);
如果(sex='M'| | sex='F')
{
{
打破
}
其他的
{
printf(“这不是有效的输入。请重试。”);
我--;
}
}
回归性;
}
整数打印年龄(整数年龄)
{
printf(“-Age:%d\n”,Age);
返回1;
}
字符打印性别(字符性别)
{
printf(“-性别:%d\n”,性别);
返回1;
}

这里是您调用
输入的地方

inputAge(21,99);
…注意到缺少任何内容吗?您没有将返回值存储在任何位置。如果您希望它将结果存储到
age
(基于对
printAge
的调用)几行
age = inputAge(21,99);
case 3:
  emptyStdin();
  age = inputAge(21,99);
  emptyStdin();
  sex = inputSex();
  break;