列车时刻管理系统C语言程序设计源代码Word格式文档下载.docx
《列车时刻管理系统C语言程序设计源代码Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《列车时刻管理系统C语言程序设计源代码Word格式文档下载.docx(27页珍藏版)》请在冰豆网上搜索。
![列车时刻管理系统C语言程序设计源代码Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2022-10/28/4d659718-13c1-428a-b984-ab5294960150/4d659718-13c1-428a-b984-ab52949601501.gif)
voidMainMenu():
主菜单列表
voidShowMenu():
查询菜单列表
voidAddNew():
添加新的数据
intIsLoop():
循环输入数据
voidDisplay():
输出所有的函数
voidSearch_ccity():
按出站地址查询
voidSearch_dcity():
按到站地址查询
voidSearch_ctime():
按出站时刻查询
voidSearch_dtime():
按到站时刻查询
voidChkData(charcity1[],charcity2[],inthour1,intminute1,inthour2,intminute2):
数据检测
voidRecord_Modify():
修改数据
voidDeleteMenu():
删除菜单列表
voidDeleteOne():
删除一组数据
voidDeleteAll():
删除所有数据
voidReadFromFile():
从文件中读入
voidWriteToFile():
从文件中写入
四、模块的算法设计(部分主要函数的代码)
1.整体构造:
2.结构体:
structRecord
{
inthour1;
inthour2;
intminute1;
intminute2;
charcity1[20];
charcity2[20];
};
3.主菜单:
voidMainMenu()
system("
cls"
);
printf(”---—-—-———---—-—--———-——主菜单-—--——-——————-—--———----———-—\n"
);
intoption;
printf(”—-—-—-—--——-————-——--1—添加新记录----—--—————-—-————-——-——-\n"
printf(”--————-——--—-——-———-—2—查看——---—--—-——--—-——-———-———-—————\n”);
printf(”-—--——----—-—-——--—-—3-修改—-—--—-—-—-——————-——----———-———-\n”);
printf("
-————-—-—-—---—--—-—-4—删除——--———-———-———-----————----————\n"
—-—---—-—-———-—--————5-退出程序——---—-—-—--—-—--—----————--\n”);
请选择:
\n”);
scanf("
%d"
,&option);
getchar();
switch(option)
{
case1:
AddNew();
break;
case2:
ShowMenu();
case3:
Record_Modify();
case4:
DeleteMenu();
case5:
exit(0);
}
}
4.数据检测:
voidChkData(charcity1[],charcity2[],inthour1,intminute1,inthour2,intminute2)
{
if(strlen(city1)>
20)
{
printf(”出站地址的字符不能超过20个!
\n”);
MainMenu();
}
if(strlen(city2)〉20)
printf("
到站地址不能超过20位!
\n"
MainMenu();
if(hour1〈0||hour1〉23)
时刻输入错误(0〈=hour<
24)!
\n”);
MainMenu();
if(hour2〈0||hour2〉24)
printf(”时刻输入错误(0<
=hour<
MainMenu();
if(minute1〈0||minute1〉59)
printf(”时刻输入错误(0〈=minute〈59)!
if(minute2〈0||minute2〉59)
=minute〈59)!
}
5.读入文件中的数据:
voidReadFromFile()
{
FILE*fp;
inti;
if((fp=fopen(”train。
txt"
"
rb”))==NULL)
{
列车时刻信息不存在,请重新建立!
return;
else
printf(”列车信息存在,请按回车键选择操作”);
if(fread(&num,sizeof(int),1,fp)!
=1)
{
num=—1;
}
for(i=0;
i<
num;
i++)
fread(&Records[i],sizeof(structRecord),1,fp);
}
fclose(fp);
}
6.将数据写入文件中:
voidWriteToFile()
{
FILE*fp;
,"
wb"
))==NULL)
不能打开文件!
if(fwrite(&
num,sizeof(int),1,fp)!
printf(”写入文件错误!
for(i=0;
i〈num;
Records[i],sizeof(structRecord),1,fp)!
写入文件错误!
五、实验运行结果(部分)
1.主菜单
2.查询菜单
3.按出站地址查询
4。
修改信息
5.删除信息
六、设计总结
通过本次课程设计,我对C语言这种程序设计语言有了初步的认识,对以后的专业课程打下了一定的基础.C语言是一门面向对象的程序设计语言,因此需要我们对函数部分要下功夫。
另外数组同样是很重要的内容,通过数组的学习,我们可以将日常生活中的一些问题用计算机来解决.最后,我们学习了指针与结构,这部分是C语言的精髓部分,不过有点难度,这次的课程设计中我用的是数组的原因之一是对指针这方面还有些不足,希望在日后的学习中多加努力。
通过这次课程设计让我知道了学习中的不足,也明白了要想学好更难的知识就要先学好基础课程。
/**********************列车时刻管理系统****************************/
#include〈stdio.h>
#include〈stdlib.h〉
#include<
string。
h>
ctype。
h〉
#include〈malloc。
conio。
structRecord/***定义结构体******/
inthour1;
inthour2;
intminute1;
intminute2;
charcity2[20];
};
structRecordRecords[300];
/****数组的成员个数限制了数据的数量要小于300****/
intnum=0;
voidAddNew();
intIsLoop();
voidDisplay();
voidShowMenu();
voidSearch_ccity();
voidSearch_dcity();
voidSearch_ctime();
voidSearch_dtime();
voidChkData(charcity1[],charcity2[],inthour1,intminute1,inthour2,intminute2);
voidRecord_Modify();
voidDeleteMenu();
voidDeleteAll();
voidDeleteOne();
voidReadFromFile();
voidMainMenu();
voidWriteToFile();
voidmain()/***主函数********/
ReadFromFile();
/***读取文件中的数据****/
while
(1)
WriteToFile();
/*******将数据写入文件中****/
/******从文件读取记录*******/
FILE*fp;
inti;
if((fp=fopen(”train.txt"
,”rb"
printf(”列车时刻信息不存在,请按回车重新建立!
列车信息存在,请按回车键选择操作”);
if(fread(&
num,sizeof(int),1,fp)!
num=—1;
i〈num;
fread(&Records[i],sizeof(structRecord),1,fp);
/*******主菜单***********/
s