C语言实现的一个交互小程序(三)

关于C语言如何有效正确的学习,我写了一个专栏:你可以这样学习C语言,有兴趣的小伙伴可以来看看哦,希望能对你有收获!本文例子需要源码的可以关注我后私信我。

阅读本文之前,请先阅读:

1、C语言实现的一个交互小程序(一)

2、C语言实现的一个交互小程序(二)

三、功能扩展示例

你可以很方便的在这个程序上扩展你自己的功能模块。

现在这个结构已经有两个功能模块,一个是function1,它包含一个.h头文件”function1.h“,还包含一个.c实现文件”function1.c“;另一个是function2,它包含一个.h头文件”function2.h“,还包含一个.c实现文件”function2.c“。

下面我用一个”学生管理系统“的例子来说明如何扩展这个结构。”学生管理系统“的源码网上有很多,也是很经典的C语言上手实例项目。我们假设学生管理系统有三个功能需要实现,如下:

1. ”学生“类型的定义;

2. 添加一个学生;

3. 删除一个学生;

现在针对这三个功能,我们在这个程序上来扩展。

1. 扩展”学生“类型的定义

我们可以增加一个.h头文件:student.h,文件内容如下:

typedef struct student{
      char name[10];//学生名
      char sex[5];//学生性别
} Stu;

2. 扩展”添加学生“的功能模块

扩展这个功能模块时,需要添加.h头文件AddStu.h,以及一个.c文件AddStu.c。

在AddStu.h文件中,声明如下函数:

extern void AddStu();//添加一个学生的函数

在AddStu.c文件中,实现如下函数:

void AddStu()
{
    puts("成功添加一个学生!");
}

在菜单选择界面,添加一个”学生添加“选项"puts(" 3. add_stu");":

void show_menu() {
	puts("======================================");
	puts(" Here is the choice     ");
	puts(" 1. menu_one");
	puts(" 2. menu_two");
        puts(" 3. add_stu");
	puts(" 0. quit");
}

在switch语句中,添加case语句3:调用”AddStu“的模块

switch(input)
		{
			case 1:
				system("cls");
				function1();
				PauseAndTip();
				system("cls");
				show_menu();
				break;
			case 2:
				system("cls");
				function2();
				PauseAndTip();
				system("cls");
				show_menu();
				break;
                        case 3:
                                system("cls");
				AddStu();
				PauseAndTip();
				system("cls");
				show_menu();
				break;
			default:
				break;

		}

3. 扩展”删除学生“的功能模块

扩展这个功能模块时,需要添加.h头文件DelStu.h,以及一个.c文件DelStu.c。

在DelStu.h文件中,声明如下函数:

extern void DelStu();//删除一个学生

在DelStu.c文件中,实现如下函数:

void DelStu()
{
    puts("删除一个学生成功");
}

在菜单选择界面,添加一个”学生删除“选项"puts(" 4. del_stu");":

void show_menu() {
	puts("======================================");
	puts(" Here is the choice     ");
	puts(" 1. menu_one");
	puts(" 2. menu_two");
        puts(" 3. add_stu");
        puts(" 4. del_stu");
	puts(" 0. quit");
}

在switch语句中,添加一个case语句4:调用”DelStu“的模块

switch(input)
		{
			case 1:
				system("cls");
				function1();
				PauseAndTip();
				system("cls");
				show_menu();
				break;
			case 2:
				system("cls");
				function2();
				PauseAndTip();
				system("cls");
				show_menu();
				break;
                        case 3:
                                system("cls");
				AddStu();
				PauseAndTip();
				system("cls");
				show_menu();
				break;
                        case 4:
                                system("cls");
				DelStu();
				PauseAndTip();
				system("cls");
				show_menu();
				break;
			default:
				break;

		}

基本上扩展的套路就是这样。

如果你觉得欢迎界面或者菜单选择界面不够丰富,不够美观,你也可以自行完善里面的信息。如果你美学功底深厚,又有点技术底子,可以考虑使用graphics图形库画个漂亮的界面。

发布了214 篇原创文章 · 获赞 90 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/kelehaier/article/details/88908413