ページ 11

格納した情報を検索する方法

Posted: 2016年1月30日(土) 13:14
by pOkO
構造体を作り入力させることはできるのですが、このあとに名前を入力させて格納してある名前だったらその名前のデータを表示させたいのですがどうすればいいのか手も足も出ません。
ご教授お願いします。

コード:

 
#include<stdio.h>

struct student{
  int year;
  char name[64];
  double weight;
};

int main(void){
  int i;
  struct student data[4];
  for(i=0;i<5;i++){
    printf("年齢を入力 : ");
    scanf("%d",&data[i].year);
    printf("名前を入力 : ");
    scanf("%s",data[i].name);
    printf("体重を入力 : ");
    scanf("%lf",&data[i].weight);
  }

  return 0;
}

Re: 格納した情報を検索する方法

Posted: 2016年1月30日(土) 15:17
by みけCAT
とりあえず、確保していないdata[4]にアクセスしてしまうバグを直しましょう。
ループにおけるiの上限を小さくするか、配列の要素数を大きくするといいです。

Re: 格納した情報を検索する方法

Posted: 2016年1月30日(土) 15:50
by まゆたそ
nameを入力させ、forで確保した配列を順次参照し、文字列が等価ならば情報を表示するという流れで可能なはずです