C语言课程设计实验报告
7.源程序(我标注的段落是你们各自负责的模块)
红色:范 紫色:聂 绿色:陈 蓝色:麦 黄色:黄 #include
char from[20]; char ter[20]; int maipiao; float tickeprice; };
void menu();
int reads(struct train tra[N]);
void save(struct train tra[N],int n); void add(); void sell(); void show(); void localtimes(); void all(); void main() { int n; while(1) { menu();
printf(\请输入您要选择的操作序号,按回车键确认:\ scanf(\ switch(n) { case 1: localtimes();break; case 2: add();break; case 3: show();break; case 4: sell();break; case 5: all();break; case 6: exit(0);
default: printf(\输入错误,请输入列表中存在的序号!\\n \ } }
- 11 -
C语言课程设计实验报告
}
void menu() { printf(\ ************************* 武昌站火车订票系统************************ \ printf(\ 1 显示当前时间\ printf(\ 2 车次信息录入\ printf(\ 3 显示\ printf(\ 4 旅客买票\ printf(\ 5 统计某日销售金额\ printf(\ 6 退出\}
int reads(struct train tra[N]) // 读取车次中的内容 { FILE *fp; int i=0;
if((fp=fopen(\ { printf(\文件打开失败!\\n\ return 0; } else {
for(i=0;!feof(fp);i++)
fscanf(fp,\ice); }
fclose(fp); return i; }
void save(struct train tra[N],int n) // 车次信息改变后更新文件 { FILE *fp; int i=0;
if((fp=fopen(\ { printf(\文件打开失败!\\n\ return ; } else {
for(i=0;i - 12 - C语言课程设计实验报告 fprintf(fp,\ } fclose(fp); } void add()/*录入车次信息*/ { FILE *fp; int n,i; struct train tra; if((fp=fopen(\ //如果文件已经存在,可以追加车次信息 { if((fp=fopen(\文件不存在时,创建新文件,输入车次信息 { printf(\文件打开失败!\\n\ return; } } printf(\请输入要车次的数量,按回车键确认:\ scanf(\ for(i=1;i<=n;i++) { printf(\请输入第%d个车的车次,日期,始发,终点,用空格分开,并按回车键确认:\\n\ scanf(\ printf(\请输入第%d个卖出的数量,车次所需的费用,用空格分开,并按回车键确认:\\n\ scanf(\ fprintf(fp,\ } fclose(fp); } void show() // 车次信息显示函数 { struct train tra[N]; int i,n; n=reads(tra); printf(\所有的车次信息如下**********************\\n\\n\ printf(\序号 车次 日期 始发 终点 卖出 票价 \\n\ printf(\ for(i=0;i printf(\,tra[i].tickeprice); - 13 - C语言课程设计实验报告 getch(); } void sell() // 按顾客要求对车次信息卖票 { struct train tra[N]; int num,n,j; int i; n=reads(tra); printf(\请输入待查询的车次号,按回车键确认:\\n\ scanf(\ for(i=0;i printf(\没有找到该车次信息!\\n\ return; } else printf(\请输入所买票数,按回车键确认:\\n\ scanf(\ tra[i].maipiao=tra[i].maipiao+j; printf(\购买成功\\n\ printf(\keprice); save(tra,n); } void all()//统计销售金额 { struct train tra[N],temp; float sum=0; FILE *fp; int i,j=0; if((fp=fopen(\ { printf(\读取错误,不能打开该文件!!\\n\ return; } else for(i=0;i fscanf(fp,\rice); printf(\请输入你要查询的日期:\\n\ - 14 - C语言课程设计实验报告 scanf(\ for(i=0;i if(temp.date==tra[i].date) {sum=sum+tra[i].maipiao*tra[i].tickeprice;j=1; } if(j==0) printf(\无此日期销售信息,请重新输入\ else printf(\今天的总销售额为:%f\\n\ fclose(fp); } void localtimes() { struct tm *p; time_t t; t=time(NULL); p=localtime(&t); printf(asctime(p)); } ( 备注:C语言课程设计大纲 /*提取当地时间*/ 一、课程设计报告内容: (一)、课程设计目的 (二)、课程设计内容 1、 课程设计的题目及简介 2、 设计说明 3、 程序流程图 4、 程序清单 (三)、课程设计总结 (四) 、设计报告要求 1、语言简练,条理清楚,图表规范 2、程序设计组成框图、流程图等清楚、正确3、有模块功能说明 - 15 - C语言课程设计实验报告 4、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施 5、源程序清单和执行结果(光盘):清单中应有足够的注释 二、具体安排: 学生以2—6人为一组,共同完成一个题目,选出一个组长负责分工和管理,共同完成总体框架设计,然后每个学生分工独立完成各自的功能模块的编程,最后要能集成并测试通过。 每组要以光盘形式上交C源文件和可执行文件(放在组长文件袋中,其他成员在报告本中写明源程序在哪个同学的文件袋中) (注:课程设计报告统一使用学院规定的课程设计报告本和文件袋) 三、备注 每个人可自行附加模块设计心得 及所发现的问题及解决方法 《C语言课程设计报告 火车售票查询系统(完)》的word文档中1.、2、3、4、7是统一一样的 你们需要另外说明 哪个版块是你设计的 OK ) - 16 -