1

各路IT大佬 , 大神,大侠,劳烦帮小弟看看这个C 语言成绩管理系统 的代码 ,为什么性别输出不了

代码如下 ,直奔主题:

图片说明

  #define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>

int judge_Exi();   //根据学号判断该学生信息是否存在
void menu_face_();
void log_score();       //录入学生信息
void modlify_info();    //修改学生信息
void search_info();     //查询学生信息
void search_info_ID();
void search_info_name();
void single_display();   //单个学生信息显示
void browse_info();     //浏览学生信息
void order_info();      //学生成绩排序
void _exit_exe();       //退出系统
typedef struct
{
    char name[10];
    unsigned short age;
  char sex[10];
    char ID[15];
    float major;
    float English;
    float math;
    float PE;
    float sum_score;
    float ave_score;
}student;
student stu[50];


int n = 0;  //班上的总人数
int main()
{
    while (1)
    {
        menu_face_();
    }
    return 0;
}

void log_score()
{
    system("cls");
    int j;
    printf("班上总人数: ");
    scanf("%d", &n);

    for (j = 0; j < n; j++)
    {
        printf("正在录入第%d位学生的信息:\n", j + 1);
        printf("姓名: ");
        scanf("%s", stu[j].name);
        printf("\n");

        printf("学号: ");
        scanf("%s", stu[j].ID);
        printf("\n");

      printf("性别: ");
        scanf("%s", stu[j].sex);
        printf("\n");
        printf("年龄: ");
        scanf("%d", &stu[j].age);
        printf("\n");

        printf("专业: ");
        scanf("%f", &stu[j].major);
        printf("\n");

        printf("高数: ");
        scanf("%f", &stu[j].math);
        printf("\n");

        printf("英语: ");
        scanf("%f", &stu[j].English);
        printf("\n");

        printf("体育: ");
        scanf("%f", &stu[j].PE);
        printf("\n");

        stu[j].sum_score = stu[j].major + stu[j].math + stu[j].English + stu[j].PE;
        stu[j].ave_score = stu[j].sum_score / 4;
        system("cls");

    }
    printf("请按任意键返回主菜单......");
    _getch();

}
void search_info()
{
    int choice;
    printf("可通过以下两种方式查找:\n");
    printf("\n");
    printf("1.学号查找  2.姓名查找\n");
    printf("\n");
    printf("请输入序号(1-2)选择查找方式:");
    scanf("%d", &choice);
    switch (choice)
    {
    case 1:
        search_info_ID();    //学号查找
        break;
    case 2:
        search_info_name();    //姓名查找
        break;
    default:
        printf("没有该选项,请重新输入......");
    }
    printf("请按任意键返回主菜单......");
    _getch();

}

void search_info_ID()
{
    char ID0[15];
    printf("请输入学号: ");
    scanf("%s", ID0);
    int i;
    for (i = 0; i < n; i++)
    {
        if (strcmp(ID0, stu[i].ID))
            continue;
        else
        {
            single_display(stu[i]);
            break;
        }
    }
}

void single_display(student s)
{
    printf("姓名\t学号\t性别\t年龄\t专业\t高数\t英语\t体育\t总分\t平均分\n");
    printf("\n");
    printf("%s %s%s %d  %.1f  %.1f  %.1f  %.1f  %.2f  %.2f\n", s.name, s.ID, s.sex, s.age, s.major, s.math, s.English, s.PE,
        s.sum_score, s.ave_score);
}

求大神解答 , 是printf的用法错误吗 ,不能连续输出3个字符串 ?

查看全部
vector_seek
vector_seek
2017/08/01 07:31
  • c
  • 点赞
  • 收藏
  • 回答
    私信

4个回复