使用模块化编程的方式实现c语言面向过程编码:将main文件,Util文件,头文件分开进行处理
c语言程序头文件
c语言头文件代码
#ifndef __Object_H_
#define __Object_H_
// 这个位置编写头文件的代码
int markStudentId(int year, int classNum, int serialNum);
const char* numGenderToStrGender(int numGender);
int strGenderToNumGender(const char* strGender);
const char* numGenderToStrGender(int numGender);
#endif
c语言Util函数实现代码
c语言Util代码
#define _CRT_SECURE_NO_WARNINGS
#include <stdlib.h>
#include <stdio.h>
int markStudentId(int year, int classNum, int serialNum) {
char buffer[20];
// 不会将结果打印输出到控制台,而是会将结果存放到第一个参数指定的字符数组中
sprintf(buffer, "%d%d%d", year, classNum, serialNum);
// atoi函数将buffer指示的字符串转换为整型,并返回结果
int id = atoi(buffer);
return id;
}
// 男生和女生转换函数
const char* numGenderToStrGender(int numGender) {
if (numGender == 0) {
return "女";
}
else if (numGender == 1) {
return "男";
}
return "未知";
}
// 将字符串表示的性别转换为整型表示的性别
int strGenderToNumGender(const char* strGender) {
int numGender;
if (strcmp("男", strGender) == 0) {
numGender = 1;
}
else if (strcmp("女", strcmp) == 0) {
numGender = 0;
}
else {
numGender = -1;
}
return numGender;
}
c语言主函数代码
c语言主要函数代码
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include "Object.h"
// 结构体的创建
struct Student {
int id;
char name[20];
// gender 当gender为0的时候表示的是女生,当gender等于1的时候表示为男生
int gender;
int mark;
};
int main()
{
struct Student stu;
// 函数的赋值和调用
stu.id = markStudentId(2024, 24, 23); // todo 使用点的方式进行赋值
strcpy(stu.name, "小明");
stu.gender = strGenderToNumGender("男");
stu.mark = 98;
printf("学号:%d\n", stu.id);
printf("姓名:%s\n", stu.name);
// 字符号串的转换函数
const char* gender = numGenderToStrGender(stu.gender);
printf("性别:%s\n", gender);
printf("分数:%d\n", stu.mark);
}
函数运行结果展示