MMGames Introduction to C C Language Development Environment C language now Useful Apps Contact Us
MMGames

Automatic version identification

SpineViewer

It's easy to tell by looking at it.

Response Time Checker

I can leave my computer on and do it.

Mouse cleaning time

I can leave my computer on and do it.

Mouse cleaning time

C language learned by suffering
C language learned by suffering

Exercise 20

fundamental knowledge

Q1-1
What do you call a file that describes only declarations?


Q 1-2
What do you call the file in which the actual program is written?

program writing

Q2-1
 
#include <stdio.h>
#include <string.h>

typedef struct {
    char name[256];
    int age;
    int sex;
} People;

void InputPeople(People* data)
{
    printf("Name:");
    scanf("%s", data->name);
    printf("Age:");
    scanf("%d", &data->age);
    printf("Gender (1-male, 2-female):"); scanf("%d", &data->age); printf("%d", &data->age); scanf("%d", &data->age)
    scanf("%d", &data->sex);
    printf("\n");
}

void ShowPeople(People data)
{
    char sex[16];

    printf("Name:%s\n", data.name);
    printf("Age:%d\n", data.age);

    if (data.sex == 1) {
        strcpy(sex, "male");
    } else {
        strcpy(sex, "female");
    }

    printf("Gender:%s\n", sex);
    printf("\n");
}

Separate this program into header and source files.
descriptive expression

Q3-1
It would work even if all functions were written in one source file.
Briefly describe the reason for the division.

Basic Knowledge (sample answers)

Solution 1-1
header file


Solution 1-2
source file

Program writing (example of solution)

Solution 2-1 People.h
 /* People.h */
#ifndef __PEOPLE_H__.
#define __PEOPLE_H__.

#include <stdio.h>
#include <string.h>

typedef struct {
    char name[256];
    int age;
    int sex;
} People;

/* Input personal data */
extern void InputPeople(People* data);

/* Display personal data */
extern void ShowPeople(People data);

#endif


Solution 2-1 People.c
 /* People.c */

#include "People.h"

void InputPeople(People* data)
{
    printf("Name:");
    scanf("%s", data->name);
    printf("Age:");
    scanf("%d", &data->age);
    printf("Gender (1-male, 2-female):"); scanf("%d", &data->age); printf("%d", &data->age); scanf("%d", &data->age)
    scanf("%d", &data->sex);
    printf("\n");
}

void ShowPeople(People data)
{
    char sex[16];

    printf("Name:%s\n", data.name);
    printf("Age:%d\n", data.age);

    if (data.sex == 1) {
        strcpy(sex, "male");
    } else {
        strcpy(sex, "female");
    }

    printf("Gender:%s\n", sex);
    printf("\n");
}

*There are various schools of division.
Here, the technique is to #include in the header file, but you can also #include in the
All #includes may be done in the source file.
Short Answer Type (Sample Answers)

Solution 4-1
The division of the program improves the program's visibility and
Reuse and multi-person development will be easier.



About this Site

The C language (bitter C), which is learned by suffering, is
This is the definitive C language introductory site.
It systematically explains the basic functions of the C language and
It is as complete as or more complete than any book on the market.

Part 0: Program Overview
  1. What is the program?
Chapter 2: How to write a program
  1. Writing Rules
  2. Writing conventions
  3. Exercise 2
Chapter 3: Display on Screen
  1. String display
  2. newline character
  3. Exercise 3
Chapter 4: Numeric Display and Calculation
  1. Numeric Display
  2. Basic Calculations
  3. Type of value
  4. Exercise 4
Chapter 5: Numerical Memory and Calculation
  1. Memorize values
  2. Variable Type
  3. Type conversion
  4. Numeric justification
  5. Exercise 5
Chapter 6: Input from the keyboard
  1. Functions for input
  2. Fear of Input
  3. Exercise 6
Chapter 9: Repetition with a fixed number of times
  1. Sentences that repeat themselves
  2. Loop Operation Mechanism
  3. Exercise 9
Chapter 10: Unknown number of repetitions
  1. Loop of unknown frequency
  2. input check
  3. Exercise 10
Chapter 13: Handling Multiple Variables at Once
  1. Multiple variables are handled together.
  2. How to use arrays
  3. Exercise 13
Chapter 19: Dynamic Arrays
  1. Create arrays at will
  2. Exercise 19
Chapter 20: Multiple Source Files
  1. Minimal division
  2. The Stone of Partition
  3. Exercise 20

Comment
COMMENT

Open the 💬 comment submission box