n--
i-1=>e
删除班次信息
e++
j++
p--
n--;p--
保存删除后班次信息文档
第五章总结
在短短五天的实习期间使我获取了不少新知识也巩固了许多老知识。
我体会到了老师和同学们的热心帮助,无论面对学习中多大的困难,同学们都会帮助你,老师也会帮助你,大家就像兄弟姐妹一样。
老师安排我们有具有的分工:
首先,在计算机机房里同学们积极的对C语言进行巩固与实习,老师热心的讲解同学们提出的问题和实习过程中应该注意的事项和同学们的任何。
老师把我们分为几组,每一组三个人,并且分配了具体的任务,在我们实习结束后每一组的同学都把自己组里的成果展示给大家一起分享,告诉大家编程的原理、方法等,使同学们既有动手能力,又能提高语言表达能力。
然后同学们把自到自己的小组里,大家具体分工,你编这道题,我编这道题……我们不会的地方就去问学习比较好一些的同学,或者去问老师,老师和同学们总是那么的热心,只要你还不明白,不论你问多少次,老师和同学们都会耐心地给你细心的讲解,直到讲会为止。
最后我们把每天收获到的知识和心得都以实习日志的形式写好,最后交给老师。
我们把自己的成果交给老师,就这样,这次实习圆满结束。
这次实习是有益的,它不仅让我们学习到了C语言的知识,更让我们学习到了同学们之间的那种团队精神,为我以后踏入社会工作准备了很多良好的知识与经验。
这次实训有很大的收获,让我对C语言有了更深的认识,平时在课堂上学到的东西可以自己动手编写,将其转化成一些实用的技能。
如果是一个程序写完一处错误也没有,会有种成就感,于是兴趣就来了,兴趣来了,自然学的东西也就多了,能把理论变成实际的技能,让我对C语言有了浓厚的兴趣和更深层的认识。
C语言是一个有序的学习,学了最基本的替换,然后扩展到循环,嵌套,条理很清楚,不是一个零散的知识,实际上所有的课程都如此,不过通过实训我也知道了自己的不足,存在的很多问题。
比如自己写的写的小程序出了问题,不会解决了就叫老师帮忙,虽然说一定意义上增加了师生之间的感情,但是会养成一种依赖的心理,碰到问题了第一个想到的是求助而不是自己独立解决,所以以后要多多锻炼自己的信心和增加自己的能力,争取做到老师不在身边的时候也可以完成一些简单的程序编写与错误排除。
还有自己的基础知识不扎实,遇到的问题,没有很好的逻辑思维,亲自编写一个陌生的程序的时候会有种无法下手的感觉,找不到突破口。
通过实训,逐渐理清了顺序,对于简单的程序和一些相对比较繁琐的嵌套,循环,不在是看着一头雾水。
其实只要理清了思路,把基础知识掌握了,然后有条不紊的分析,一步一步理解,C语言还是很有意思的课程。
自己亲自动手编写程序让我增加了对C语言程序开发环境的了解,在上课的时候老师就讲,学习C语言最重要的是学习C语言的逻辑思维,不管以后从事什么行业,学习C语言都对自己的职业很有帮助,如果是从事编程工程工作的话,就更有帮助了,即使以后的编程工作可能不用C语言,但是拥有扎实的C语言基础是对工作很有用的。
第六章附录(源程序代码)
#include
#include
#include
#include
#include
#defineN50
//声明用户数据类型
typedefstructTICKET////定义新结构体TICKET
{
charnum[10];//车次编号
charhour[3];//时间,,小时
charmin[3];//分钟
charfrom[10];//起始站
charto[10];//终点站
floathours,price;//车程实际时间
intmax;//最大车载容量
intnow;//已售票数
}CLASS;
intclass_num=0;///初始班次总数为0
CLASSrecords[N];
intsystem_time();
intwhether(int);
voidbusMenu();
voidticketMenu();
voidShowTable1();//线框调用1,,,不用没次输
voidShowTable2(inti);//线框调用2,,,不用没次输
voidsave();//保存函数
voidload();//按班次查询函数
voidsearch();//查询函数
voidchange();//修改函数**
voidquit();////////////退出函数******
voidTicketorder();////*售票函数***
voidTicketdelete();//删除函数*
intwhether(int);////判断时间是否超出函数***
voidfind(chars1[],chars2[]);//查询函数★//s1为班次//s2为终点站
voiddeletemessage();//删除函数
intfindnum(chars1[]);//班次查询函数
voidget(int,int);
/*******************************************************
*验证用户合法性*
*******************************************************/
charuserLogin()
{charuType;
FILE*fp;
inta=0,m=1,leap=0,i;
charnam[10],key[10],type[10],name[10],pass[10];
while(!
leap)
{i=0;
fp=fopen("D:
\\user.txt","rb");
if(a<3)
{printf("\n\n\t\t☆☆欢迎使用售票管理系统☆☆\n");
printf("\n\t\t================================\n");
printf("\n\t\t请输入用户名:
");
gets(name);
printf("\n\t\t请输入密码:
");
while(i<=9&&(pass[i++]=getch())!
='\r')//使输入的密码字符显示为星号字符*
{putchar('*');}
pass[i-1]='\0';
while(!
feof(fp))
{fscanf(fp,"%s%s%s",nam,key,type);
if(strcmp(name,nam)==0&&strcmp(pass,key)==0)
{leap=1;
uType=type[0];
break;
}
}
if(!
leap)
{a++;
printf("输入有误,请重新输入!
\n");system("cls");}
if(a==3){printf("你的登录次数已达到三次,您无权继续登陆!
\n");
break;}}
fclose(fp);}
returnuType;
}
/*******************************按班次查询函数*******************************/
voidload()//按班次查询函数
{
FILE*fp1,*fp2;
if((fp1=fopen("d:
bus.txt","rb"))==NULL)
{
system("cls");//刷屏
printf("文件打开错误!
\n");
getch();///从控制台读取一个字符,但不显示在屏幕上
exit(0);
}
if((fp2=fopen("d:
bus0.txt","rb"))==NULL)
{
system("cls");//刷屏
printf("文件打开错误!
\n");
getch();///从控制台读取一个字符,但不显示在屏幕上
exit(0);//退出
}
fread(&class_num,sizeof(int),1,fp2);///读入信息
fread(records,sizeof(CLASS),class_num,fp1);/////读入信息
fclose(fp1);fclose(fp2);///文件关闭
}
/*************************修改及增加班次*******************************/
//修改及增加班次*
voidget(inti,intj)
{
for(;;)
{
printf("请输入发车时间(xxxx):
\n");scanf("%s%s",records[i].hour,records[i].min);
if((atoi(records[i].hour)<24&&atoi(records[i].hour)>=0)&&(atoi(records[i].min)<60&&atoi(records[i].min)>=0))
break;
else
{
printf("输入错误!
\n");
getch();/////从控制台读取一个字符,但不显示在屏幕上
}
}
printf("请输入起点站:
\n");
scanf("%s",records[i].from);
printf("请输入终点站:
\n");
scanf("%s",records[i].to);
printf("请输入行车时间:
\n");
scanf("%f",&records[i].hours);
printf("请输入额定载量:
\n");
scanf("%d",&records[i].max);
printf("请输入票价:
\n");
scanf("%f",&records[i].price);
for(;;)
{
printf("请输入已售票数:
\n");
scanf("%d",&records[i].now);
if(records[i].now<=records[i].max)
break;
else
{
printf("输入错误!
\n");
getch();/////从控制台读取一个字符,但不显示在屏幕上
}
}
}
/**************************************保存函数*******************************/
voidsave()//////保存函数
{
FILE*fp1,*fp2;//文件行指针
if((fp1=fopen("d:
bus.txt","wb"))==NULL)//打开文件、为输出打开一个二进制文件
{
printf("文件打开错误!
\n");
exit(0);
}
if((fp2=fopen("d:
bus0.txt","wb"))==NULL)//打开文件、为输出打开一个二进制文件
{
printf("文件打开错误!
\n");
exit(0);
}
fwrite(&class_num,sizeof(int),1,fp2);//写入文件信息
fwrite(records,sizeof(CLASS),class_num,fp1);
fclose(fp1);fclose(fp2);///关闭文件
}
/***********************增加函数****************************/
voidadd()////增加记录
{
inti,t,j=5,n;
load();//调用按班次查询函数
system("cls");//刷屏
printf("请输入要增加的班次数目:
\n");
scanf("%d",&n);//指向班次指针
system("cls");//刷屏
for(t=0;t{
printf("请输入第%d个班次信息:
\n",t+1);
printf("请输入要增加的班次:
\n");
scanf("%s",records[class_num].num);
for(i=0;iif(strcmp(records[class_num].num,records[i].num)==0)
//判断字符串比较是否相等,,待比较的字符串判断车次没重复
{
printf("输入错误!
该班次已存在!
请安任意键继续输入\n");
getch();
system("cls");//刷屏
break;
}
if(i==class_num)
{
get(i,j);////修改及增加班次*
class_num++;///使班次数加1
save();//调用保存函数
system("cls");//刷屏
}
}
printf("信息录入完毕,请按任意键返回管理界面\n");
getch();
system("cls");//刷屏
busMenu();//调用班次管理函数
}
/***********************增加函数****************************/
voidNewMessage()//*录入函数******
{
inti,j=5,h;////
FILE*fp;////定义文件型指针变量
system("cls");//刷屏
fp=fopen("d:
bus0.txt","rb");
printf("请输入要增加的班次数目:
\n");
scanf("%d",&class_num);//指向班次指针
system("cls");//刷屏
for(i=0;i{
system("cls");//刷屏
printf("请输入第%d个班次信息:
\n",i+1);
h=-1;
for(;h!
=i;)///循环输出
{
printf("请输入班次:
\n");
scanf("%s",records[i].num);
for(h=0;h
if(strcmp(records[h].num,records[i].num)==0)
//判断字符串比较是否相等,,待比较的字符串
{
printf("输入错误!
该班次