| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 475 人关注过本帖
标题:程序功能不能实现 求各位大哥帮帮忙
取消只看楼主 加入收藏
AV455431613
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-9-6
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
程序功能不能实现 求各位大哥帮帮忙
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define size 10
struct t_tickets
{
    int number;
    char begin[10];
    char start[30];
    char loadend[30];
    float time;
    int people;
    int booked;
}t[size];
FILE *fp;
struct t_tickets t[size];
 
void save()
{
    int i;
    if((fp=fopen("ticket.text","w+"))==NULL)
    {printf("cannot open the file\n");
    return;
    }
    for(i=0;i<size;i++)
        if(fwrite(&t[i],sizeof(struct t_tickets),1,fp)!=1)
            printf("file write error\n");
        fclose(fp);
}


void input()
{
    int i;
    printf("----------请录入班次信息-----------\n");
    printf("\n班次 发车时间 起点站 终点站 行车时间 额定载量 已定票数\n ");
    for(i=0;i<size;i++)
    {   printf("班次:\n");
        printf("%d",&t[i].number);
        printf("发车时间\n:");
        printf("%s",&t[i].begin);
        printf(" 起点站 \n:");
        printf("%s",&t[i].start);  
        printf(" 终点站 \n :");
        printf("%s",&t[i].loadend);
        printf("  行车时间\n  :");
        printf("%s",&t[i].time);
        printf(" 额定载量\n   :");
        printf("%d",&t[i].people);
        printf(" 已定票数 \n  :");
        printf("%d",&t[i].booked);
        

        
        save();
    }
}


void output()
{
    int i;
    fp=fopen("ticket.text","r");
    for(i=0;i<size;i++)
    {
        fread(&t[i],sizeof(struct t_tickets),1,fp);
        printf("班次:\n");
        printf("%d",&t[i].number);
        printf("发车时间\n:");
        printf("%s",&t[i].begin);
        printf(" 起点站 \n:");
        printf("%s",&t[i].start);  
        printf(" 终点站 \n :");
        printf("%s",&t[i].loadend);
        printf("  行车时间\n  :");
        printf("%s",&t[i].time);
        printf(" 额定载量\n   :");
        printf("%d",&t[i].people);
        printf(" 已定票数 \n  :");
        printf("%d",&t[i].booked);
        

    }
    fclose(fp);
}


void scan()
{

    int k,number;
    printf("请输入您想要查得班次号\n");
    scan("%d",&number);
    fp=fopen("ticket.text","r");
    for(k=0;k<size;k++)
    {
        fread(&t[k],sizeof(struct t_tickets),1,fp);
        if(number==t[k].number)
        {
        printf("班次:\n");
        printf("%d",&t[k].number);
        printf("发车时间\n:");
        printf("%s",&t[k].begin);
        printf(" 起点站 \n:");
        printf("%s",&t[k].start);  
        printf(" 终点站 \n :");
        printf("%s",&t[k].loadend);
        printf("  行车时间\n  :");
        printf("%s",&t[k].time);
        printf(" 额定载量\n   :");
        printf("%d",&t[k].people);
        printf(" 已定票数 \n  :");
        printf("%d",&t[k].booked);
        

   
            printf("\n%8d %8s %8s %8s %6.2f %8d %8d  \n",&t[k].number,&t[k].begin,&t[k].start,&t[k].loadend,&t[k].time,&t[k].people,&t[k].booked);
    break;
    }
}
if(k>=size)
printf("对不起,没有您想要查询班次,谢谢您使用系统\n");
fclose(fp);
}


void check()
{
int i; char loadend[30];
printf("请输入你想要的终点站名称\n");
scanf("%s",loadend);
fp=fopen("ticket.text","r");
for(i=0;i<size;i++)
{
    fread(&t[i],sizeof(struct t_tickets),1,fp);
    if(strcmp(loadend,t[i].loadend)==0)
    {
        printf("班次:\n");
        printf("%d",&t[i].number);
        printf("发车时间\n:");
        printf("%s",&t[i].begin);
        printf(" 起点站 \n:");
        printf("%s",&t[i].start);  
        printf(" 终点站 \n :");
        printf("%s",&t[i].loadend);
        printf("  行车时间\n  :");
        printf("%s",&t[i].time);
        printf(" 额定载量\n   :");
        printf("%d",&t[i].people);
        printf(" 已定票数 \n  :");
        printf("%d",&t[i].booked);
        

    break;
}
}
if(i>=size)
printf("对不起,没有您想要查询班次,谢谢您使用系统\n");
fclose(fp);
}

void book()
{

    int i,number,m;
    char loadend[30];
    int ticket=1;
if((fp=fopen("ticket.text","w+"))==NULL)
{
    printf("not open the file\n");
    return;
}
for(i=0;i<size;i++)
    fread(&t[i],sizeof(struct t_tickets),1,fp);
printf("请输入您想要到的终点站:\n");
scanf("%s",loadend);
printf("到达终点站得班次有:\n");
for(i=0;i<size;i++)
if(strcmp(loadend,t[i].loadend)==0)
{
    ticket=2;
        printf("班次:\n");
        printf("%d",&t[i].number);
        printf("发车时间\n:");
        printf("%s",&t[i].begin);
        printf(" 起点站 \n:");
        printf("%s",&t[i].start);  
        printf(" 终点站 \n :");
        printf("%s",&t[i].loadend);
        printf("  行车时间\n  :");
        printf("%s",&t[i].time);
        printf(" 额定载量\n   :");
        printf("%d",&t[i].people);
        printf(" 已定票数 \n  :");
        printf("%d",&t[i].booked);
        

}
for(i=0;i<size;i++)
    if(strcmp(loadend,t[i].loadend)==0)
        if(t[i].booked<t[i].people)
        {
            ticket=3;
            printf("请输入定票张数:\n");
            scanf("%d",&m);
            for(i=0;i<=size;i++)
                if(number=t[i].number)
if((fp=fopen("ticket.text","w+"))==NULL)
                {
printf("not open the file\n");
return;
                }
{
    t[i].booked=t[i].booked+m;
if((fp=fopen("ticket.text","w+"))==NULL)
{
printf("not open the file\n");
return;
}
for(i=0;i<size;i++)
fwrite(&t[i],sizeof(struct t_tickets),1,fp);
fclose(fp);
printf("您订票成功!谢谢使用本次服务!\n");
}
        }
        if(ticket==1)
            printf("\n没有你查询的班次 ,请请查询后再输入\n");
if(ticket==2)
printf("\n你想要的票已售完, 请购买下一班\n");
fclose(fp);
if((fp=fopen("ticket.text","w+"))==NULL)
{
    printf("not open the file\n");
    return;
}
for(i=0;i<size;i++)
fwrite(&t[i],sizeof(struct t_tickets),1,fp);
fclose(fp);
}


void rback()

{
    int number,i,m;
if((fp=fopen("ticket.text","w+"))==NULL)
{
printf("not open the file\n");
return;
}
for(i=0;i<=1;i++)
    fread(&t[i],sizeof(struct t_tickets),1,fp);
printf("请输入退票的班次:\n");
scanf("%d",&m);
for(i=0;i<size;i++)
if(number==t[i].number)
{
    t[i].booked=t[i].booked-m;
    printf("退票成功!谢谢\n");
}
fclose(fp);
if((fp=fopen("ticket.text","w+"))==NULL)
{
printf("not open the file\n");
return;
}
for(i=0;i<size;i++)
fwrite(&t[i],sizeof(struct t_tickets),1,fp);
fclose(fp);
}

void over()
{
printf("\n谢谢您的使用,请按任意键结束\n");
exit(0);
}


void main()
{
int b;
printf("\t\t\t这里是车票管理系统,欢迎您的使用\n");
printf("\n********************************************************************************\n");
              printf("\t\t\t===0,录入班次信息===\n");
              printf("\t\t\t===1,浏览车票信息===\n");
              printf("\t\t\t===2,车票班次查询===\n");
              printf("\t\t\t===3,终点站 查询 ===\n");
              printf("\t\t\t===4, 预订车票  ===\n");
              printf("\t\t\t===5, 退订车票  ===\n");
              printf("\t\t\t===6, 退出程序  ===\n");
printf("\n********************************************************************************\n");
 
do{
printf("\t\t\t---选折主菜单功能(0~6)----\n");
scanf("%d",&b);
switch(b)
{
case 0: input();break;
case 1: output;break;
case 2: scan();break;
case 3: check();break;
case 4: book();break;
case 5:rback();break;
case 6:over();break;
defualt:printf("enter error!\n");
}
}
while(1);
}

各位大哥我是个新人,平时上课不认真,这程序搞不懂到底哪出问题拉 ,  能编译但是功能不能实现功能.请个位大哥帮帮忙,小弟感激不尽.
2011-09-06 11:50
AV455431613
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-9-6
收藏
得分:0 
回复 8楼 lin471306489
这位大哥,谢谢啦,程序还是有点问题,输入的班号和额定载客还有已定票人数,在查询时会和输入的不同。而且很大,求解。
2011-09-06 18:22
快速回复:程序功能不能实现 求各位大哥帮帮忙
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019431 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved