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

原文出处:http://geek99.com/node/888#