C语言课程设计报告Word文件下载.docx

上传人:b****6 文档编号:17656961 上传时间:2022-12-07 格式:DOCX 页数:20 大小:43.97KB
下载 相关 举报
C语言课程设计报告Word文件下载.docx_第1页
第1页 / 共20页
C语言课程设计报告Word文件下载.docx_第2页
第2页 / 共20页
C语言课程设计报告Word文件下载.docx_第3页
第3页 / 共20页
C语言课程设计报告Word文件下载.docx_第4页
第4页 / 共20页
C语言课程设计报告Word文件下载.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

C语言课程设计报告Word文件下载.docx

《C语言课程设计报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。

C语言课程设计报告Word文件下载.docx

进入系统后,首先选择购票方式,输入汽车班次或发车时间后,即显示出售票情况。

对“退票”功能:

首先输入所退票的班次,在确认输入信息正确并且车未发出后则退票成功,并修改系统中的相关信息。

对“显示当前售票情况”功能:

将当前的售票情况按相应的格式输出。

对“保存当天数据”功能:

打开程序所在的文件,在文件中按相应格式输出对应的汽车班次情况,然后关闭文件。

通过“Cur_tim”函数获取系统当前时间。

2.2部分模块流程图

3.程序代码设计:

menue函数:

/*菜单项*/

voidmenue(void)

{

system("

cls"

);

/*清屏*/

printf("

\t\t*售票系统*\n"

\t1.售票\n"

\t2.退票\n"

\t3.显示当前售票情况\n"

\t4.保存当天数据\n"

\t5.退出\n"

请选择:

"

}

售票函数:

/*售票*/

voidSell(structTickittickit[],intn)

intselect,flag=1,i,no,flag2=1,flag1=1,H,M;

售票:

按7退出\n"

请选择购票方式:

5-按班次购票;

6-按发车时间购票;

按7退出:

scanf("

%d"

&

select);

/*等待用户选择购票方式*/

while(select!

=7)/*非退出*/

{

switch(select)

case5:

/*按班次售票*/

printf("

请输入汽车班次:

scanf("

no);

for(i=0;

i<

5;

i++)/*遍历所有班次*/

{

if(no==tickit[i].No)/*捕获输入班次*/

{

intcount;

charmin;

flag2=0;

if(Hour>

tickit[i].Start_Time[0]||(Hour==tickit[i].Start_Time[0]&

&

Min>

tickit[i].Start_Time[1]))/*已发出的班次不能购票*/

{

printf("

对不起,该车已发出。

不能购票.\n"

break;

}

printf("

%d\n"

tickit[i].No);

详细信息:

\n"

min=change(tickit[i].Start_Time[1]);

班次\t发车时间\t载客量\t已售\n"

%d\t%d:

%c%d\t\t%d\t%d\n"

tickit[i].No,tickit[i].Start_Time[0],min,tickit[i].Start_Time[1],tickit[i].Pasenger_Total,tickit[i].Sold_Ticklts);

请输入购票数量:

scanf("

count);

if(tickit[i].Sold_Ticklts+count<

=tickit[i].Pasenger_Total)

确认购买?

y/n\n"

if(_getch()=='

y'

||_getch()=='

Y'

{

tickit[i].Sold_Ticklts+=count;

/*购买成功,已售票额更新*/

printf("

购买成功!

}

else

票额不足!

break;

}

}

if(flag2)printf("

该班次不存在,请核对后购买!

break;

case6:

/*按发车时间来购票(基本思路同上)*/

友情提示:

汽车时间表:

printf("

06:

40\t09:

30\t12:

00\t14:

30\t16:

00\n"

请输入发车时间(时分格式):

scanf("

%d%d"

H,&

M);

for(i=0;

i++)

{

if(H==tickit[i].Start_Time[0]&

M==tickit[i].Start_Time[1])

intcount;

flag1=0;

if(Hour>

tickit[i].Start_Time[1]))

break;

min=change(tickit[i].Start_Time[1]);

if(tickit[i].Sold_Ticklts+count<

if(_getch()=='

{

tickit[i].Sold_Ticklts+=count;

printf("

}

else

printf("

}

if(flag1)printf("

该时间班次不存在,请核对后购买!

break;

default:

操作错误!

}

}

退票函数:

/*退票*/

voidBack(structTickittickit[])

intno;

\t\t*售票系统*\n\n\t\t退票:

请输入所退车票班次:

/*接收用户输入退票班次*/

if(Hour>

tickit[no].Start_Time[0]||(Hour==tickit[no].Start_Time[0]&

tickit[no].Start_Time[1]))/*已发出的班次不能退*/

printf("

不能退票.\n"

}

else

intcount;

请输入退票数额:

scanf("

/*更新*/

tickit[no-1].Sold_Ticklts-=count;

tickit[no-1].Back_count+=count;

退票成功!

按任意键继续....."

_getch();

/*显示当前*/

voidShow_Curr(structTickittickit[],intn)

inti;

\t\t*售票系统*\n当前票额信息:

for(i=0;

n;

charmin;

min=change(tickit[i].Start_Time[1]);

}

按任意键退出....."

保存当日数据save函数:

/*保存当日数据*/

voidSave(structTickittickit[],intn)

FILE*p;

p=fopen("

Tickit.txt"

"

w"

/*文件指针。

以“写”的方式打开文件“Tickit.txt”,不存在则创建*/

/*开始写入数据*/

fprintf(p,"

售票情况:

班次\t发车时间\t载客量\t已售\t曾退票数\n"

i++)/*遍历结构体数组中的信息,写入文件*/

fprintf(p,"

%c%d\t\t%d\t%d\t%d\n"

tickit[i].No,tickit[i].Start_Time[0],min,tickit[i].Start_Time[1],tickit[i].Pasenger_Total,tickit[i].Sold_Ticklts,tickit[i].Back_count);

/*写入结束*/

保存成功!

fclose(p);

/*关闭已打开的文件*/

加载车票信息load函数:

/*加载车票信息*/

voidLoad(structTickittickit[])

for(i=1;

=5;

i++)/*初始化结构体数组*/

tickit[i-1].No=i;

tickit[i-1].Sold_Ticklts=0;

tickit[i-1].Back_count=0;

/*开始加载*/

tickit[0].Start_Time[0]=6;

tickit[0].Start_Time[1]=40;

tickit[1].Start_Time[0]=9;

tickit[1].Start_Time[1]=30;

tickit[2].Start_Time[0]=12;

tickit[2].Start_Time[1]=0;

tickit[3].Start_Time[0]=14;

tickit[3].Start_Time[1]=30;

tickit[4].Start_Time[0]=16;

tickit[4].Start_Time[1]=0;

tickit[0].Pasenger_Total=tickit[4].Pasenger_Total=50;

tickit[1].Pasenger_Total=tickit[2].Pasenger_Total=tickit[3].Pasenger_Total=40;

/*结束*/

4.C程序设计总结:

这一次的C程序设计让我的C语言驾驭能力有了很大的提高。

从对老师给我们的课题目瞪口呆,到逐渐深入学习探索,再到不断修改调试程序,最后达到标准状态,整个过程中我学习了很多原来没有接触过的C语言知识,比如如何清屏,如何调用系统时间,同时也对很多原来不是很熟悉的知识进行了更深入的学习,比如结构体知识。

在编写程序的过程中,我也比较粗心,常常把字母,单词拼错,导致一些小的错误。

这些小的错误在程序设计过程中是完全可以避免的。

同时,在编程过程中,我深刻的意识到作为一名编程人员,耐心和细心是必不可少的优秀品质,通过本次设计,我的细心程度有所提高,也更加锻炼了做事耐心的优秀品质。

我还从总学到了一种比较高效的学习方法,就是理论与实践相结合的学习方法。

只有在理论的基础上加以实践,加以感受,才能更好的理解理论知识,才能更好的掌握需要学习的知识,从而更好的运用。

参考文献

[1]谭浩强,C程序设计(第二版),北京:

清华大学出版社,2007.1

[2]陈朔鹰,C语言程序设计习题集,北京:

人民邮电出版社,2003.6

附录:

程序清单:

#include<

stdio.h>

string.h>

stdlib.h>

conio.h>

time.h>

/*存储车票信息*/

structTickit

intNo;

/*车票编号*/

intStart_Time[2];

/*发车时间*/

intPasenger_Total;

/*最大票额*/

intSold_Ticklts;

/*已售票额*/

intBack_count;

/*退票数额*/

};

voidmenue(void);

/*菜单项*/

voidSell(structTickittickit[],intn);

/*售票模块*/

voidBack(structTickittickit[]);

/*退票模块*/

voidShow_Curr(structTickittickit[],intn);

/*显示当日信息*/

voidSave(structTickittickit[],intn);

/*文件存盘.txt文件格式*/

voidLoad(structTickittickit[]);

voidCur_Tim();

/*获取系统当前时间*/

charchange(intn);

/*转化输出*/

#defineN5/*定义车票种类数*/

intHour,Min;

/*全局变量,保存系统当前的时间*/

voidmain(void)

intselect;

structTickittickit[N];

Load(tickit);

/*加载车票*/

Cur_Tim();

/*获取系统时间*/

menue();

/*显示菜单*/

/*等待用户选择功能*/

=5)/*选择为非退出*/

intflag=1;

switch(select)/*根据用户选择进入相应模块*/

case1:

Sell(tickit,N);

case2:

Back(tickit);

case3:

Show_Curr(tickit,N);

case4:

Save(tickit,N);

default:

您的输入有误,请重新输入:

flag=0;

if(flag)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 兵器核科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1