小亦003 发表于 2021-12-24 15:29:33

结构体问题

题目:
建立一学生结构体,学生信息有学号、姓名、出生日期(此为一结构体,有年月日组成)。可保存学生40人。实现:
(1)学生信息的插入;
(2)输入一学生学号,输出该学生信息;

我只能建立一个结构体完成学生信息插入,可是怎么做才能输入一个学生号,输出该学生信息。求大佬帮助。

jhq999 发表于 2021-12-24 15:49:28

本帖最后由 jhq999 于 2021-12-24 15:52 编辑

int searth(结构体 *head,int id)//代入head的实参是结构体链表头指针
{
   while(head)
   {
          if(head->id==id)
          {
            printf("学号:%d\n姓名:%s\n出生日期:%d年%d月%d日“,head->id,head->name,......);
            return 1;
         }
          head=head->next;
      }
      printf("没找到。");
      return 0;
}

小亦003 发表于 2021-12-25 12:11:56

这是我的代码
#include <stdio.h>

struct Date
{
        int year;
        int month;
        int day;       
};

struct Student
{
        int id;
        char name;
        struct Date birthdayDate;
        struct Student *next;
};

int main(void)
{
        int i, j, n;
        struct Student *headStu;
       
        struct Student stu;
       
        printf("要插入的多少位学生信息(位):");
        scanf("%d",&j);
       
        for (i = 1; i <= j; i++)
        {
                printf("请录入第 %d个学生的数据....\n",i);
               
                printf("请输入学生ID:");
                scanf("%d",&stu.id);
               
                printf("请输入学生的姓名:");
                scanf("%s",stu.name);
               
                printf("请输入学生的出生日期(yyyy-yy-yy):");
                scanf("%d-%d-%d",&stu.birthdayDate.year,&stu.birthdayDate.month,&stu.birthdayDate.day);
               
                printf("\n");
        }
        printf("请输入你需要查询的学生学号:");
        scanf("%d",n);
       
        searth(*headStu, n);
       
        return 0;
}

int searth(struct Student *head, int n)//代入head的实参是结构体链表头指针
{
   while(head)
   {
          if(head->id == n)
          {
            printf("学号:%d\n 姓名:%s\n",head->id,head->name);
            printf("出生日期:%d年%d月%d日",head->birthdayDate.year,head->birthdayDate.month,head->birthdayDate.day);
            return 1;
         }
          head = head -> next;
      }
      printf("没找到。");
      return 0;
}
为什么查询时学号输入对了,但还是输出没找到呢?
页: [1]
查看完整版本: 结构体问题