C - While 循环错误

标签 c algorithm

我试图理解为什么我得到这个输出,我放了一个 while 循环去使用另一种方法,我不知道为什么它不起作用!调试操作显示值 1,与在 if 子句上输入相同的条件并调用注册方法在屏幕上打印“Test”。

//Struct Student
typedef struct {

    char name[50];
    float grade[4];
    int status;

} Student;

Student students[MAX_STUDENT];

//Methods Statements
void menu();
void registerStudent();
void deleteStudent();
void reproved();
void search();

int operation;  

int main() {

    menu();
    return 0;
}

//Display menu
void menu(){

    system("cls");   

    while(operation != 5){


        printf("1 - Register Student\n");
        printf("2 - Delete Student\n");
        printf("3 - Reproved Students\n");
        printf("4 - Find Student\n");
        printf("5 - Exit\n");
        scanf("%i", &operation);    

        if(operation == 1){
            registerStudent();
        }   

    };

}

void registerStudent(){

    char name[50];
float grade[4];

int op;
int i;

while(op != 0){

    system("cls");
    printf("Type the name: ");
    //Fgets to read line
    fgets(name, sizeof(name), stdin);
    printf("First two months: ");
    scanf("%f", &grade[0]);
    printf("Second two months: ");
    scanf("%f", &grade[1]);
    printf("Third two months: ");
    scanf("%f", &grade[2]);
    printf("Fouth two months: ");
    scanf("%f", &grade[3]);
    printf("1 - Continue\n");
    printf("0 - Exit\n");

    for(i=0; i<MAX_STUDENT; i++){

        if(students[i].status == 0){

            students[i].grade[0] = grade[0];
            students[i].grade[1] = grade[1];
            students[i].grade[2] = grade[2];
            students[i].grade[3] = grade[3];
            strcpy(students[i].name, name);
            break;
        }
    }

}

}

输出:

enter image description here

PS:现在可以使用了!

最佳答案

menu()操作未初始化使用,在registerStudent()op也未初始化使用。

关于C - While 循环错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44641914/

相关文章:

C++ 高效计算运行中位数

algorithm - 找到两个具有相等加权平均值的子数组

c++ - Gstreamer audiofirfilter

c - 为数组中的行赋值 - C 编程

Netbeans 中的 C 程序

python - Python中如何用子进程实现连续交互对话?

c - 反转数组中的元素

c - 使用不同的参数运行不同的函数 - 函数指针

algorithm - 给定一对整数,为达到目标 N 执行的最少操作数

algorithm - 遍历从 (0,0,0) 到 (5,5,5) 的所有路径