fork download
  1. #include <stdio.h>
  2.  
  3. // 構造体PersonCardの定義
  4. struct PersonCard {
  5. int number; // 学籍・職員番号(整数)
  6. char name[31]; // 氏名(最大30文字+終端文字)
  7. char purpose[51]; // 入構目的(最大50文字+終端文字)
  8. };
  9.  
  10. // 入構届の内容の入力&構造体への格納を行う関数
  11. void Gate(struct PersonCard *p) {
  12. printf("学籍・職員番号を入力:");
  13. scanf("%d", &p->number);
  14. getchar(); // 改行を読み飛ばす
  15.  
  16. printf("氏名を入力:");
  17. fgets(p->name, sizeof(p->name), stdin);
  18.  
  19. printf("入構目的を入力:");
  20. fgets(p->purpose, sizeof(p->purpose), stdin);
  21. }
  22.  
  23. // 入構届の入力内容を確認(表示)する関数
  24. void Disp(struct PersonCard p) {
  25. printf("\n[確認]\n");
  26. printf("学生・職員番号:%d\n", p.number);
  27. printf("氏名:%s", p.name);
  28. printf("入構目的:%s", p.purpose);
  29. }
  30.  
  31. int main(void)
  32. {
  33. // 構造体オブジェクトの宣言
  34. struct PersonCard card;
  35.  
  36. // Gate関数とDisp関数の呼び出し
  37. Gate(&card); // 構造体のアドレスを渡す(参照渡し)
  38. Disp(card); // 構造体の値を渡す(値渡し)
  39.  
  40. printf("受け付けました。\n");
  41. return 0;
  42. }
Success #stdin #stdout 0.01s 5280KB
stdin
4545
won
0721
stdout
学籍・職員番号を入力:氏名を入力:入構目的を入力:
[確認]
学生・職員番号:4545
氏名:won
入構目的:0721受け付けました。