C语言实验小项目实例源码大全订票信息管理系统贪吃蛇图书商品管理网络通信等

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: C语言实验小项目实例源码大全订票信息管理系统贪吃蛇图书商品管理网络通信等

1、火车订票系统

运行程序时,首先进入到菜单部分,菜单部分提供了菜单显示和输入功能部分。其运行效果如图1.1所示。在主界面上输入数字0——6,实现相应的功能。

654acaeca41a12d7757a6cc102ff7f2.png


主界面输入“1”,进入添加火车信息界面,如图1.2所示。根据屏幕上给出的提示输入火车的车次,起点,终点,出发时间,到达时间,票价和可以订购的票数。

8200eab1a943f83af712d12c933d107.png


主界面输入“2”,可以查询火车信息,可以选择查询的方法有两种,一种是按照车次查询,一种是按照你想要到达的地方查询,运行效果如图1.3所示。

548ab8d09824dc5200b3689bf346b0a.png


当在主界面输入“3”时,进入订票界面,按照提示输入你想要到达的城市,会自动显示出你终点站为你输入城市的信息,根据提示输入你是否决定订票以及你的个人信息,运行效果如图1.4所示。

1fa967a77875e086d36dfbca6b032ec.png


当在主界面输入“4”时,进入修改界面,根据提示输入你要修改的内容,修改模块的运行效果如图1.5所示。

d9a4677d8ed2ce3635a388264ab3808.png


当在主界面输入“5”时,可以显示出所有的火车信息,显示模块效果如图1.6所示。


c3a1921fc341699888e2c608ee980c2.png

当在主界面输入“6”时,进入到保存模块,将录入的火车信息进行保存,并且将订票人的信息也进行保存,存储在指定的磁盘文件中。运行效果如图1.7所示。


502c2e53716f244f0416dd7cc6eabec.png


部分源码如下,其余完整详见下载。


/*订票子模块*/
void Bookticket(Link l,bookLink k)
{
    Node *r[10],*p ;
    char ch[2],tnum[10],str[10],str1[10],str2[10];
    book *q,*h ;
    int i=0,t=0,flag=0,dnum;
    q=k ;
    while(q->next!=NULL)
    q=q->next ;
    printf("Input the city you want to go: ");
    scanf("%s",&str);/*输入要到达的城市*/
    p=l->next ;
    while(p!=NULL)
    {
        if(strcmp(p->data.reachcity,str)==0)
        {
            r[i]=p ;/*将满足条件的记录存到数组r中*/
            i++;
        }
        p=p->next ;
    }
    printf("\n\nthe number of record have %d\n",i);
       printheader();
    for(t=0;t<i;t++)
     printdata(r[t]);
    if(i==0)
    printf("\nSorry!Can't find the train for you!\n");
    else
    {
        printf("\ndo you want to book it?<y/n>\n");
        scanf("%s",ch);
  if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)/*判断是否订票*/
        {
     h=(book*)malloc(sizeof(book));
            printf("Input your name: ");
            scanf("%s",&str1);
            strcpy(h->data.name,str1);
            printf("Input your id: ");
            scanf("%s",&str2);
            strcpy(h->data.num,str2);
     printf("please input the number of the train:");
     scanf("%s",tnum);
     for(t=0;t<i;t++)
     if(strcmp(r[t]->data.num,tnum)==0)
     {
        if(r[t]->data.ticketnum<1)/*判断剩余的供订票的票数是否为0*/
        {
         printf("sorry,no ticket!");
         sleep(2);
         return;
        }
       printf("remain %d tickets\n",r[t]->data.ticketnum);
               flag=1;
        break;
     }
     if(flag==0)
     {
      printf("input error");
     sleep(2);
                    return;
     }
     printf("Input your bookNum: ");
            scanf("%d",&dnum);
            r[t]->data.ticketnum=r[t]->data.ticketnum-dnum;/*定票成功则可供订的票数相应减少*/
     h->data.bookNum=dnum ;
            h->next=NULL ;
     q->next=h ;
     q=h ;
            printf("\nLucky!you have booked a ticket!");
            getch();
            saveflag=1 ;
        }
    }
}




2、通讯录管理系统

通讯录管理系统主要是实现对联系人的增、删、查以及显示的基本操作。用户可以根据自己的需要在功能菜单中选择相应的操作,实现对联系人的快速管理。


(1)在机器上装好DEV C++编译环境,读者在下载后直接解压到C盘即可。

(2)进入源码所在目录,选中源码右键选择选项“打开方式”,然后再选择子选项“devcppPortable.exe”,如图1.1所示。


7c2b9d0599ab0d0ac27a7d76d80b4bc.png

(3)打开DEV C++界面后,单击工具栏中的 图标即可运行程序,如图1.2所示:


8d2a6d8c108f9dedbbff9e1f8ea2b6c.png


3、学生个人消费管理系统

运行程序时,首先进入到菜单部分,菜单部分提供了菜单显示和输入功能部分。其运行效果如图1.1所示。在主界面上输入数字0——7,实现相应的功能。

0b5c127339aff44aa165088f8e5b543.png


此系统有两种录入方式,一种是输入1时,直接从终端键盘输入信息,使用方法如下:

主界面输入“1”,进入创建界面,开始创建学生个人消费信息。学生个人消费信息创建界面运行效果如图1.2所示。

2e44e5f05562fb47bf3dc941eefa5c3.png


另一种是输入2时,从磁盘文件录入学生信息。使用方法如下:

首先在自己创建的文件f:\cff.txt记事本中输入学生个人消费信息,如图1.3所示。

c59ff5ef4d2cef2549a717c41d361d7.png


然后,在主界面中输入“2”,开始加载学生消费信息文件,根据提示输入存有学生信息的文件路径和名称,即可弹出文件中的信息。运行效果如图1.4所示。


8408b3b6371d63a9a74a4574ae175f8.png

通过以上两种录入方式,分别对学生信息进行3-7的操作,当输入1,创建完信息后,可以直接操作3-7的功能,同样在输入2后,也可以直接操作3-7的功能。但是需要注意,每次3~7的功能操作都是针对前一步的录入方式。与之前操作过的录入方式无关。

输入“3”,可以查询学生消费信息,根据提示输入查询的学生学号,即可调出该学生的信息,运行效果如图1.5所示。

f3a53653f26bf96a59440b9d5ae22cf.png


输入“5”,可以添加学生的消费信息,并显示添加后学生的人数。运行效果如图1.6所示。

c42f73a978d7f580254398a3d149e50.png


输入“6”,可以显示录入的学生信息,运行效果如图1.7所示。

b5a8036c30205d15ee89ecc0f53346a.png


其余详见下载。


4、企业员工管理

企业员工信息管理系统主要是对企业员工的基本信息进行增、删、改、查的相关操作,以便用户可以快速地对这些信息进行管理。本系统对管理者的控制更加严格,只设置一个管理账号。

(1)在机器上装好DEV-C++环境,读者在下载后直接双击安装。

(2)进入源码所在目录,选中源码右键选择选项“打开方式”,然后再选择子选项“DEV-C++IDE”,选中后出现如图1.1所示界面。

186bcb32c3647491ca5383077966355.png


(3)按键盘“Ctrl+F9”进行编译,然后按“Ctrl+F10”组合键运行程序,(同样可以在功能菜单中选择“运行”-“编译”“运行”)系统进入系统初始化界面,用户输入自己的密码。如图1.2所示:

418873a7d2095d5875df1696f7d0eb6.png


用户在编译完成后会产生一个系统的可执行文件,用户只要双击可执行文件就可以进入系统,如果是第一次进入系统,首先要对系统进行初始化,如图1.2所示,初始化完成后,再次双击系统执行文件,进入如图1.3的界面。

c033795857eb0a19f6401f808f302be.png


用户在输入正确密码后,进入系统的功能选择界面如图1.4所示。在这个界面用户可以选择相应的操作。


d30dcef8edaba2482ab3739efb8ad1b.png


5、超级万年历

输入公历日期显示月历月历上显示所输入日期的星期、农历公历日期、农历的天干地支和生肖、当天是否是节气,如果是,则显示,不是,则显示距离它最近的节气的间隔日期列出当月的二十四节气。


输入农历日期,显示此农历日期所对应的公历日期和星期。


输入要查询的公历年、月显示清爽版月历。


输入年、月、日,可得出距离今天的天数。


输入数字可得出距离这个数字为天数的日期(之前、之后)。


输入两个年、月、日,可得出两者之间间隔的天数。


输入想要查询的年份,可查看当年的所有节气,和对应的日期、时间。


查询节日 粉显示公历和农历节日,公历节日按月份查询;农历节日直接显示。


部分源码如下,其余完整详见下载。

/**
 * 时间结构体转换
 */
LONGTIME SysTimeToLong(SYSTEMTIME SystemTime)
{
  LONGTIME LongTime;
  LongTime.wYear=(long int)SystemTime.wYear;
  LongTime.wMonth=SystemTime.wMonth;
  LongTime.wDay=SystemTime.wDay;
  LongTime.wHour=SystemTime.wHour;
  LongTime.wMinute=SystemTime.wMinute;
  LongTime.wSecond=SystemTime.wSecond;
  LongTime.wMillisecond=SystemTime.wMilliseconds;
  LongTime.wDayOfWeek=SystemTime.wDayOfWeek;
  return LongTime;
}



6、贪吃蛇游戏


604a12bfc2ff6fdff5d5d5c218bf50f.png3f45013d50e3d710eb335850b3063ad.png


e5dd0234a980b1fa5c3fd18abada145.png

7、学生信息管理系统

运行程序时,首先进入到菜单部分,菜单部分提供了菜单显示和输入功能部分。其运行效果如图17.1所示。在主界面上输入0——8内的数字,实现相应的功能。

0cf2db8043378a7a78c3f25c7bdf2c4.png


主界面输入1时,进入录入学生信息的界面,当没有存储记录时,根据提示对学生的信息进行输入,运行效果如图17.2所示。


d9ecfe5c2d7e0fae669d170e9d6eae3.png

在存在学生信息的情况下继续添加学生信息时,会首先显示存在的学生信息,运行效果如图17.3所示。

2562951f865c3806e1455d8f5cfd673.png


主界面输入2时,进入查询学生信息模块,根据学生学号,对学生信息进行查询。运行效果如图17.4所示。

07fb29d09b457f09b0ba8eac25924c3.png


其余详见下载。


8、图书管理系统

图书管理系统主要有以下功能:

 录入图书信息。

 实现删除功能,即输入图书号删除相应的记录。

 实现查找功能,即输入图书号或图书名查询该书相关信息。

 实现修改功能,即输入图书号或图书名修改相应信息。

 添加会员信息,只有会员才可借书。

 实现借书功能,即输入图书号及会员号进行借书。

 实现还书功能,还书时也同样需输入图书号及会员号。

 保存添加的图书信息。

 保存添加的会员信息。


图书管理系统主界面如图1所示。

e39dffcacc9bddc5a83272ea48159d5.png



说明:运行图书管理系统时,需要将代码中数据库连接字符串中的服务器地址修改为本地的MYSQL服务器地址,用户名和密码修改为本地登录MYSQL服务器的用户名和密码。


9、网络通信编程

程序主界面包含了4个功能选项,通过选择不同的选项执行不同的功能。程序首界面如图24.1所示。


a390bfb1b20f4a39896c5250b1be46c.png

设置当前机器为点对点服务端时的程序界面如图24.2所示。


8124928b7d702d098b29dc58372d1cf.png

设置当前机器为点对点客户端时的程序界面如图24.3所示。


e0c3c463cf99a079dce4eb63806f87f.png


启动服务器中转服务端的界面效果如图24.4所示。


0f5d855bc4c41ee95bbae1da3762a83.png

在主界面输入4可进入服务器中转客户端,与已处于监听状态的服务器中转服务端相连接,如图24.5所示。



ad27f84be4be653cf7d31f6b32bb476.png

10、图书管理系统

在MySQL中建立一个空的数据库并将其命名为db_mrbm。之后将mrbm.sql文件导入进该数据库中。(在控制台命令行中输入:mysql –u用户名 –p密码 db_mrbm<sql文件路径)。实例如图所示:

edf9f533d8595caad3a5f58d22c1eaf.png


在Realease或者DeBug文件夹下可以找到图书管理系统的exe程序和Init.txt文件。txt文件的配置图如下:

6e7ca5d201520303b99c0107a7f2b45.png


从上到下4行文字分别代表IP、用户名、密码、数据库名,读者可以依照自己的MySQL配置重新添加。(注意冒号后为的空白为tab)


11、商品管理系统

商品管理系统主要是对商品的基本信息进行增、删、改、查以及商品的插入的操作,以便用户可以快速地对这些信息进行管理。


(1)在机器上装好DEV-C++环境,读者在下载后直接双击安装。

(2)进入源码所在目录,选中源码右键选择选项“打开方式”,然后再选择子选项“DEV-C++IDE”,选中后出现如图23.1所示界面。


ccadd2bd4b6d4d43775abc0a2844e3c.png

(3)按键盘“Ctrl+F9”进行编译,然后按“Ctrl+F10”组合键运行程序,(同样可以在功能菜单中选择“运行”-“编译”“运行”)系统进入系统功能菜单页面。如图23.2所示:


4660b305eb565fb8e9f7a1a4fa2e40d.png


12、MP3音乐播放器

部分源码如下,其余完整详见下载。


#include "Mp3.h"
int main(int argc, char *argv[])
{
  GtkBuilder *builder;
  gtk_init(&argc, &argv);
  gst_init(&argc, &argv);
  builder= gtk_builder_new();
  gtk_builder_add_from_file(builder, "Mp3.glade", NULL);
  main_window = GTK_WIDGET(gtk_builder_get_object(builder, "MainWindow"));
  //gtk_widget_set_size_request(main_window, 300, 260);
  play_button = GTK_WIDGET(gtk_builder_get_object(builder, "play_button"));
  pause_button = GTK_WIDGET(gtk_builder_get_object(builder, "pause_button"));
  stop_button = GTK_WIDGET(gtk_builder_get_object(builder, "stop_button"));
  open_file = GTK_WIDGET(gtk_builder_get_object(builder, "open_file"));
  status_label = GTK_WIDGET(gtk_builder_get_object(builder, "status_label"));
  time_label = GTK_WIDGET(gtk_builder_get_object(builder, "time_label"));
  seek_scale = GTK_WIDGET(gtk_builder_get_object(builder, "seek_scale"));
  //GtkAdjustment  *adj=gtk_adjustment_new(0,0,100,1,1,100);
  gtk_range_set_adjustment(GTK_SCALE(seek_scale),
    GTK_ADJUSTMENT(gtk_adjustment_new(0,0,100,1,1,0.1)));
  artist_label = GTK_WIDGET(gtk_builder_get_object(builder, "artist_label"));
  title_label = GTK_WIDGET(gtk_builder_get_object(builder, "title_label"));
    gtk_widget_set_sensitive(GTK_WIDGET(stop_button), FALSE);
    gtk_widget_set_sensitive(GTK_WIDGET(play_button), FALSE);
    gtk_widget_set_sensitive(GTK_WIDGET(pause_button), FALSE);
  g_signal_connect(play_button, "clicked", G_CALLBACK(play_clicked), NULL);
  g_signal_connect(pause_button, "clicked", G_CALLBACK(pause_clicked), NULL);
  g_signal_connect(stop_button, "clicked", G_CALLBACK(stop_clicked), NULL);
  g_signal_connect(seek_scale, "value-changed", G_CALLBACK(seek_value_changed), NULL);
  g_signal_connect(open_file, "clicked", G_CALLBACK(open_file_clicked), NULL);
  gtk_builder_connect_signals(builder, NULL);
  g_object_unref(G_OBJECT(builder));
  gtk_widget_show_all(main_window);
  gtk_main();
  return 0;
}


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
10天前
|
存储 SQL 网络协议
C语言C/S架构PACS影像归档和通信系统源码 医院PACS系统源码
医院影像科PACS系统,意为影像归档和通信系统。它是应用在医院影像科室的系统,主要的任务是把日常产生的各种医学影像(包括核磁、CT、超声、各种X光机、各种红外仪、显微仪等设备产生的图像)通过各种接口(模拟、DICOM、网络)以数字化的方式海量保存起来,并在需要的时候在一定授权下能够快速地调回使用。同时,PACS系统还增加了一些辅助诊断管理功能。
38 11
|
21天前
|
API 定位技术 C语言
贪吃蛇---C语言---详解
贪吃蛇---C语言---详解
|
1天前
|
存储 算法 Windows
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例(下)
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例
|
1天前
|
前端开发 数据挖掘 数据建模
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例(中)
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例
|
1天前
|
算法 数据可视化 数据挖掘
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例(上)
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例
11 0
|
2天前
|
数据可视化 算法 数据挖掘
R语言SIR模型网络结构扩散过程模拟SIR模型(Susceptible Infected Recovered )代码实例
R语言SIR模型网络结构扩散过程模拟SIR模型(Susceptible Infected Recovered )代码实例
|
3天前
|
机器学习/深度学习 数据可视化 数据挖掘
【视频】少样本图像分类?迁移学习、自监督学习理论和R语言CNN深度学习卷积神经网络实例
【视频】少样本图像分类?迁移学习、自监督学习理论和R语言CNN深度学习卷积神经网络实例
11 1
|
5天前
|
存储 算法 C语言
C语言进阶:顺序表(数据结构基础) (以通讯录项目为代码练习)
C语言进阶:顺序表(数据结构基础) (以通讯录项目为代码练习)
|
7天前
|
SQL 安全 测试技术
2021年职业院校技能大赛“网络安全”项目 江西省比赛任务书—B模块
B模块涵盖安全事件响应和网络数据取证,涉及多项应用安全挑战。任务包括使用nmap扫描靶机、弱口令登录、生成反弹木马、权限验证、系统内核版本检查、漏洞源码利用、文件名和内容提取等。此外,还有Linux渗透测试,要求访问特定目录下的文件并提取内容。应用服务漏洞扫描涉及服务版本探测、敏感文件发现、私钥解密、权限提升等。SQL注入测试需利用Nmap扫描端口,进行SQL注入并获取敏感信息。应急响应任务包括处理木马、删除恶意用户、修复启动项和清除服务器上的木马。流量分析涉及Wireshark数据包分析,查找黑客IP、枚举测试、服务破解等。渗透测试任务涵盖系统服务扫描、数据库管理、漏洞利用模块搜索等。
11 0
|
7天前
|
监控 安全 网络安全
2021年职业院校技能大赛“网络安全”项目 江西省比赛任务书—A模块
该文档是关于企业服务器系统安全加固的任务描述,包括A模块的六个部分:登录安全、Web安全、流量保护与事件监控、防火墙策略、Windows和Linux操作系统安全配置。任务涉及设置密码和登录策略、启用安全日志、限制非法访问、调整防火墙规则、加强操作系统安全和优化服务配置等,以提升网络安全防御能力。每个部分都有具体的配置截图要求,并需按照指定格式保存提交。
11 0