3. 构建多文件程序
案例-在线电子商务在这个案例中我们有四个模块:商品、客户、订单和购物车,我们将根据这些模块来定义不同的头文件和源文件。
商品的头文件和源文件:
product.h
#ifndef C_15_01_product_h
#define C_15_01_product_h
// 设置商品编号
void setpid(int pid);
// 获得商品编号
int getpid();
// 设置商品名称
void setpname(char *pname);
// 获得商品名称
char *getpname();
#endif
product.c
#include <stdio.h>
#include "product.h"
// 商品编号
int pid;
// 商品名称
char *pname;
void setpid(int mypid){
pid = mypid;
}
int getpid(){
return pid;
}
void setpname(char *mypname){
pname = mypname;
}
char *getpname(){
return pname;
}
测试代码:
#include <stdio.h>
#include "product.h"
int main(int argc, const char * argv[])
{
setpid(101);
setpname("iOS 应用开发详解");
int pid = getpid();
char *pname = getpname();
printf("%d,%s",pid,pname);
return 0;
}
运行结果:
101,iOS 应用开发详解
customer.h
#ifndef C_15_01_customer_h
#define C_15_01_customer_h
// 设置客户名称
void setcname(char *cname);
// 获得课程名称
char *getcname();
// 注册
int regist();
// 登陆
int login();
#endif
customer.c
#include <stdio.h>
#include "customer.h"
char *cname;
// 设置客户名称
void setcname(char *mycname){
cname = mycname;
}
// 获得客户名称
char *getcname(){
return cname;
}
// 注册
int regist(){
printf("%s 注册成功!",cname);
return 1;
}
// 登陆
int login(){
printf("%s 登陆成功!",cname);
return 1;
}
程序测试代码:
#include <stdio.h>
#include "product.h"
#include "customer.h"
int main(int argc, const char * argv[])
{
setcname("tom");
regist();
login();
}
运行结果:
tom 注册成功!
tom 登陆成功!
order.h
#ifndef C_15_01_order_h
#define C_15_01_order_h
// 设置订单编号
void setoid(int oid);
// 获得订单编号
int getoid();
// 设置订单名称
void setoname(char *oname);
// 获得订单名称
char *getoname();
#endif
order.c
#include <stdio.h>
int oid;
char *oname;
// 设置订单编号
void setoid(int myoid){
oid = myoid;
}
// 获得订单编号
int getoid(){
return oid;
}
// 设置订单名称
void setoname(char *myoname){
oname = myoname;
}
// 获得订单名称
char *getoname(){
return oname;
}
cart.h
#ifndef C_15_01_cart_h
#define C_15_01_cart_h
// 获得商品数量
int getcount();
// 添加
void add();
// 删除
void del();
#endif
cart.c
#include <stdio.h>
#include "cart.h"
int count;
// 添加
void add(){
count++;
}
// 删除
void del(){
count--;
}
// 获得产品数量
int getcount(){
return count;
}
测试代码:
#include "cart.h"
int main(int argc, const char * argv[])
{
add();
add();
int count = getcount();
printf("当前产品数量:%d\n",count);
del();
count = getcount();
printf("当前产品数量:%d\n",count);
}
运行结果:
当前产品数量:2
当前产品数量:1
该博客教程视频地址:http://geek99.com/node/1031