構造体で…
Posted: 2006年12月17日(日) 23:12
はじめまして!
学校の課題の構造体を用いたプログラムを作成しました。
範囲外番号を入力したときのエラーメッセージは表示できるのですが、
登録済みの番号を入力したときのエラーメッセージを
input_dataの中で処理しようと思っているのですが表示できません。
教えていただけませんか?
#include<stdio.h>
#include<string.h>
#define NAME_MAX 19
#define DATA_MAX 5
#define NO_MIN 1
#define NO_MAX 9999
#define BUF 256
typedef struct person
{
int no;
char name[NAME_MAX+1];
}Person;
void input_data(Person *);
void display_data(Person *,int);
int main(void)
{
int cnt;
Person member[DATA_MAX];
for(cnt = 0;cnt < DATA_MAX;cnt++)
{
input_data(&member[cnt]);
}
display_data(&member[0],DATA_MAX);
return 0;
}
void display_data(Person *pmem,int max_cnt)
{データの表示処理}
void input_data(Person *imem)
{
char buf[BUF];
while(1)
{
printf("\n");
printf("Input Number : ");
scanf("%d",&imem->no);
if(imem->no < NO_MIN || imem->no > NO_MAX)
{
printf("\nSorry.Input number %d - %d",NO_MIN,NO_MAX);
}
else
{
break;
}
}
続く…
学校の課題の構造体を用いたプログラムを作成しました。
範囲外番号を入力したときのエラーメッセージは表示できるのですが、
登録済みの番号を入力したときのエラーメッセージを
input_dataの中で処理しようと思っているのですが表示できません。
教えていただけませんか?
#include<stdio.h>
#include<string.h>
#define NAME_MAX 19
#define DATA_MAX 5
#define NO_MIN 1
#define NO_MAX 9999
#define BUF 256
typedef struct person
{
int no;
char name[NAME_MAX+1];
}Person;
void input_data(Person *);
void display_data(Person *,int);
int main(void)
{
int cnt;
Person member[DATA_MAX];
for(cnt = 0;cnt < DATA_MAX;cnt++)
{
input_data(&member[cnt]);
}
display_data(&member[0],DATA_MAX);
return 0;
}
void display_data(Person *pmem,int max_cnt)
{データの表示処理}
void input_data(Person *imem)
{
char buf[BUF];
while(1)
{
printf("\n");
printf("Input Number : ");
scanf("%d",&imem->no);
if(imem->no < NO_MIN || imem->no > NO_MAX)
{
printf("\nSorry.Input number %d - %d",NO_MIN,NO_MAX);
}
else
{
break;
}
}
続く…