基于C语言+gtk+sqlite3的选课系统

本文介绍了一个使用C语言、GTK+和SQLite3开发的选课系统,该系统提供了学生端的注册、登录、找回密码、选课、选座和充值功能,以及教师端查看学生信息和课程管理的界面。通过这种方式,系统取代了传统的Excel登记方式,提高了效率。
摘要由CSDN通过智能技术生成

基于C语言+gtk+sqlite3的选课系统

  1. 前言
    选课系统的开发,面向于客户与机构端,有效且全面的解决了传统的Excel的表格登记,直接面前与教师和学员,学生端 注册、登录、找回密码、选课、选座、充值和查看个人信息几个界面,教师端登录即可查看所带课程的学生信息及其对其更改。

  2. 项目需求
    C语言 gtk/gtk sqlite3

  3. 部分代码`

主界面

void window_main_init(void)
{
   
	//主界面Windows的创建
	window_main = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	gtk_widget_set_size_request(window_main,980,500);
	gtk_window_set_position(GTK_WINDOW(window_main),GTK_WIN_POS_CENTER_ALWAYS);

	chang_background(window_main, 980, 500, "../img/3.jpg");	// 设置窗口背景图
	GtkWidget* table = gtk_table_new(2,2,TRUE);
	gtk_container_add(GTK_CONTAINER(window_main),table);
	GtkWidget* label_title = gtk_label_new("XXXX集团选课端");
	set_widget_font_size(label_title, 50, FALSE);
	gtk_table_attach_defaults(GTK_TABLE(table),label_title,0,2,0,1);
	GtkWidget* button_ds = gtk_button_new_with_label("教师端");
	set_widget_font_size(button_ds, 29, TRUE);
	gtk_button_set_relief(GTK_BUTTON(button_ds), GTK_RELIEF_NONE);	// 按钮背景色透明
	gtk_table_attach_defaults(GTK_TABLE(table),button_ds,0,1,1,2);
	GtkWidget* button_user = gtk_button_new_with_label("学生端");
	gtk_button_set_relief(GTK_BUTTON(button_user), GTK_RELIEF_NONE);	// 按钮背景色透明
	set_widget_font_size(button_user, 29, TRUE);
	gtk_table_attach_defaults(GTK_TABLE(table),button_user,1,2,1,2);
	g_signal_connect(button_user,"pressed",G_CALLBACK(main_to_dl),NULL);
	g_signal_connect(button_ds,"pressed",G_CALLBACK(window_main_to_ds_dl),NULL);
	g_signal_connect(button_user,"pressed",G_CALLBACK(anniu),NULL); //按钮声音
	g_signal_connect(button_ds,"pressed",G_CALLBACK(anniu),NULL);//按钮声音
	
}

界面

1.学生端登录界面

void window_user_dl_init(void)
{
   
	window_user_dl = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	gtk_window_set_position(GTK_WINDOW(window_user_dl),GTK_WIN_POS_CENTER_ALWAYS);
	gtk_widget_set_size_request(window_user_dl,980,500);
	chang_background(window_user_dl, 980, 500, "../img/3.jpg");	// 设置窗口背景图
	GtkWidget* table = gtk_table_new(4,3,TRUE);
	gtk_container_add(GTK_CONTAINER(window_user_dl),table);
	GtkWidget* label_title = gtk_label_new("XXXX集团选课端");
	set_widget_font_size(label_title, 25, FALSE);
	gtk_table_attach_defaults(GTK_TABLE(table),label_title,1,2,0,1);
	GtkWidget* label_dh = gtk_label_new("电话:");
	gtk_table_attach_defaults(GTK_TABLE(table),label_dh,0,1,1,2);
	GtkWidget* label_mm = gtk_label_new("密码:");
	gtk_table_attach_defaults(GTK_TABLE(table),label_mm,0,1,2,3);
	entry_user_dl_dh = gtk_entry_new();
	gtk_table_attach_defaults(GTK_TABLE(table),entry_user_dl_dh,1,2,1,2);
	entry_user_dl_mm = gtk_entry_new();
	gtk_table_attach_defaults(GTK_TABLE(table),entry_user_dl_mm,1,2,2,3);
	gtk_entry_set_visibility(GTK_ENTRY(entry_user_dl_mm),FALSE);
	GtkWidget* button_dl = gtk_button_new_with_label("登录");
	gtk_button_set_relief(GTK_BUTTON(button_dl), GTK_RELIEF_NONE);	// 按钮背景色透明
	gtk_table_attach_defaults(GTK_TABLE(table),button_dl,0,1,3,4);
	GtkWidget* button_zc = gtk_button_new_with_label("注册");
	gtk_button_set_relief(GTK_BUTTON(button_zc), GTK_RELIEF_NONE);	// 按钮背景色透明
	gtk_table_attach_defaults(GTK_TABLE(table),button_zc,1,2,3,4);
	GtkWidget* button_wjmm = gtk_button_new_with_label("忘记密码");
	gtk_button_set_relief(GTK_BUTTON(button_wjmm), GTK_RELIEF_NONE);	// 按钮背景色透明
	gtk_table_attach_defaults(GTK_TABLE(table),button_wjmm,2,3,3,4);
	GtkWidget* button_fh = gtk_button_new_with_label("返回");
	gtk_button_set_relief(GTK_BUTTON(button_fh), GTK_RELIEF_NONE);	// 按钮背景色透明
	gtk_table_attach_defaults(GTK_TABLE(table),button_fh,2,3,0,1);
	g_signal_connect(button_zc,"pressed",G_CALLBACK(window_dl_to_zc),NULL);
	g_signal_connect(button_fh,"pressed",G_CALLBACK(window_dl_to_main),NULL);
	g_signal_connect(button_dl,"pressed",G_CALLBACK(user_do_dl),NULL);
	g_signal_connect(button_wjmm,"pressed",G_CALLBACK(window_dl_to_wjmm),NULL);

	g_signal_connect(button_zc,"pressed",G_CALLBACK(anniu),NULL);//按钮声音
	g_signal_connect(button_fh,"pressed",G_CALLBACK(anniu),NULL);//按钮声音
	g_signal_connect(button_dl,"pressed",G_CALLBACK(anniu),NULL);//按钮声音
	g_signal_connect(button_wjmm,"pressed",G_CALLBACK(anniu),NULL);//按钮声音
}

在这里插入图片描述

  1. 充值界面
void window_user_cz_init(void)
{
   
	window_user_cz = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	chang_background(window_user_cz, 980, 500, "../img/3.jpg");	// 设置窗口背景图
	gtk_window_set_position(GTK_WINDOW(window_user_cz),GTK_WIN_POS_CENTER_ALWAYS);
	gtk_widget_set_size_request(window_user_cz,980,500);
	GtkWidget* table = gtk_table_new(4,5,TRUE);
	gtk_container_add(
  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AKStuden

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值