| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 521 人关注过本帖
标题:各位师兄师姐,帮帮忙,求修改
只看楼主 加入收藏
YE呦呦
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2013-3-16
结帖率:20%
收藏
已结贴  问题点数:10 回复次数:5 
各位师兄师姐,帮帮忙,求修改
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#define  CARS_FILE "data.dat"
/* 这是数据文件名 */
#define TEMP_FILE  "temp.dat"
/* 这是一个临时的文件的名字,在增加删除修改记录的函数中使用的 */
    void input();
    void sort();
    void purchase();
    void edit();
    void renew();
    void inquire();
    void scan();
    void output();
    void quit();
long i;
long n;
    struct   cars_type
{
    long num;
    char name[11];
    char type[30];
    char colour[20];
    long count;
    long price;
    char  beizhu[20];
};
struct cars_type cars[100];
#define N 100
main()
{
      char  name;
      int code;
      do
      {   
          printf("\n     *************************************************************\n     *\t\t\t\t\t\t\t\t      *\n");
          printf("     *    ▏▎▍ ▌                   ▃ ▂           *");
          printf("\n     *\t\t\tt\t\t\t         *\n       *     Welcome\t\t\t\t\t\t   *\n   *\t\t\t\t\t\t\t\t    *\n");
          printf("\n用户名:");
          fflush(stdin);
          scanf("%c",&name); /*此处要注意name是字符型数据,要用%c输入。*/
          printf("\n密码:");
          fflush(stdin);
          scanf("%d",&code);
         if(name=='abc'&&code==123456)
         {  
             printf("欢迎光临\n");
             getch();
         }
         else
         {  
             printf("重新登录\n");
         }
      }while(name!='abc'||code!=123456);
       printf("\n\n\tPlease press any key to continue:");
        getch();
        system("cls");/*清屏*/
    lp:for(i=0;i<1;i++)
       {
          int choice;
          printf("\n\n--★-☆--★-☆--☆-★--☆-★--☆-☆--★-\n");
          printf("\n\t\t\t    上海大众汽车管理系统\t\n\n");
          printf("\t  1 →输入汽车信息\n\n");
          printf("\t  2 →排序汽车信息\n\n");
          printf("\t  3 →输入进货信息、\n\n");
          printf("\t  4 →增加/删除汽车信息\n\n");
          printf("\t  5 →更新汽车信息\n\n");
          printf("\t  6 →查询汽车信息\n\n");
          printf("\t  7 →浏览汽车信息\n\n");
          printf("\t  8 →打印汽车信息\n\n");
          printf(" \t\t          --☆-★--☆-★--☆-☆--★-☆--★-☆--★-");/*菜单选择界面*/
          printf("\n\n");
          printf("\t请选择您所要的操作(或选择(0)退出):");
          scanf("%d",&choice);
          switch(choice)
          {
              case 1:input();break;       /*输入模块*/
              case 2:sort();break;        /*排序模块*/
              case 3:purchase();break;    /*输入进货模块*/
              case 4:edit();break;        /*增加/删除模块*/
              case 5:renew();break;       /*更新模块*/
              case 6:inquire();break;     /*查询模块*/
              case 7:scan();break;        /*浏览模块*/
              case 8:output();break;       /*输出模块*/
              case 0: printf("欢迎使用!!!!谢谢再见!!!!");break;          /*退出系统*/
             default: puts("输入错误,请按任意健返回主菜单:\n"); break;
          }
       }
    system("cls");
    goto lp;
}
void  input()              /*输入模块*/
    {

        int n;
        printf("输入大众汽车的种类数量:");
        scanf("%d",&n);
        printf("\n …………………………………………………………………………\n");
        for(i=0;i<n;i++)   /*用循环实现输入n个商品*/
        {
             printf("\n\t*请输入车辆编号:");
          scanf("%ld",&cars[i].num);
             printf("\n\t 请输入车辆名字:");
            scanf("%s",cars[i].name);
             printf("\n\t 请输入车辆类型:");
            scanf("%s",cars[i].type);
            printf("\n\t 请输入车辆颜色:");
            scanf("%s",cars[i].colour);
          printf("\n\t 请输入车辆数量:");
          scanf("%ld",&cars[i].count);
            printf("\n\t 请输入车辆价格:");
            scanf("%ld",&cars[i].price);
         printf("\n\t 请输入车辆备注:");
         scanf("%s",cars[i].beizhu);
           printf("\n ………………………………………………………………………\n");
        }
        printf("\tPlease press any key to continue:");
        getch();
         return;   /*返回主界面*/   
    }
    void sort()                     /*排序模块*/
    {
      struct cars_type  temp;
      int k;
      for(k=0;k<n-1;k++)   /*按编号排序*/
      for(i=0;i<n-k-1;i++)  /*用起泡法排序*/
      if(cars[i].num>cars[i+1].num)  /*按编号由小到大排序*/
      {
        temp=cars[i];
        cars[i]=cars[i+1];
        cars[i+1]=temp;
      }
    printf("---------------------------------------------------------------------");
    printf("\n\t\t按车辆编号排序后的车辆信息\n\n");
    printf("车辆编号     车辆名称     车辆类别     车辆颜色     车辆数量     车辆价格     车辆备注\n");   /*输出排序后商品信息*/
       for(i=0;i<n;i++)
    {  
          printf("\t %5ld     %5s     %5s     %5s     %5ld     %5ld     %5s\n",cars[i].num,cars[i].num,cars[i].type,cars[i].colour,cars[i].count,cars[i].price);
    }
       printf("please press any key to continue:");
       getch();
       return;   /*返回主界面*/
    }
    void purchase()     /*输入进货模块*/

{
    long  temp;   
    int j;
    printf("\n\t\5请输入刚进货的车辆编号:");
    printf("%ld",&temp);
    printf("\n\t\5请输入刚进货的车辆数量:");
    scanf("%d",&j);
    printf("\n\n\n\tpress any key to contiue:");
    getch();
    printf("\n\t输出进货后的商品信息:");
    for(i=0;i<n;i++)    /*循环,寻找与进货相同的商品信息*/
       if(temp=cars[i].num)
           cars[i].count=cars[i].count+j;  /*自动更改商品数量*/
    printf("\n\t车辆编号    车辆名称   车辆类别    车辆颜色     车辆数量    车辆价格");
    for(i=0;i<n;i++)     /*循环,输出进货后的商品信息*/
    {
      printf("\n\t  %5ld      %5s       %5s        %5s     %ld       %5ld",cars[i].num,cars[i].name,cars[i].type,cars[i].colour,cars[i].count,cars[i].price);
        }
    printf("\n\n\t\tPress any key to enter menu:");  
    getch();  /*返回功能选择界面*/
    return;
}
    void edit()         /*增加/删除模块*/
    {
       void add();
       void dele();
       int k;
        printf("\n\t请选择:1.添加商品信息;    2.删除商品信息;");
       printf("\t*请输入 1或2 继续:");
       scanf("%d",&k);
       switch(k)  
       {
         case 1: add();break;
         case 2: dele();break;
       }
    getch();
    return;  
    }
     void add()      /*增加模块*/
     {   
          printf("\t*请输入所添加车辆的车辆编号:");
       scanf("%ld",&cars[n].num);
       printf("\n\t请输入所添加车辆的名称:");
       scanf("%s",cars[n].name);
       printf("\n\t请输入所添加车辆的类别:");
       scanf("%s",cars[n].type);
       printf("\n\t请输入所添加车辆的颜色:");
       scanf("%s",cars[n].colour);
       printf("\n\t请输入所添加车辆的数量:");
       scanf("%d",&cars[n].count);
       printf("\n\t请输入所添加车辆的价格:");
       scanf("%d",&cars[n].price);
       n=n+1;
       printf("\n");
     }
     void dele()        /*删除模块*/
     {  
         long temp;
        printf("请输入你要删除的车辆编号");
        scanf("%ld",&temp);
    for(i=0;i<n;i++)
            {
               cars[i]=cars[i+1];   
            }
            n=n-1;
    printf("车辆编号     车辆名称     车辆类型     车辆颜色     车辆数量     车辆价格     车辆备注\n");
    for(i=0;i<n;i++)
    {
        printf("\n\t  %5ld      %5s       %5s        %5s     %ld       %5ld",cars[i].num,cars[i].name,cars[i].type,cars[i].colour,cars[i].count,cars[i].price,cars[i].beizhu);
   
    getch();
    return;
    }
}
    void renew()         /*更新模块*/
     {     
        long k;
        printf("\n\t请输入要修改的商品的编号:");  
         scanf("%ld",&k);  
         printf("\n");
     for(i=0;i<n;i++)   
    {
        if(k==cars[i].num)
     {
        printf("\n              输入修改后的车辆名称:\n");
                 scanf("%s",cars[i].name);break;
        printf("\n               输入修改后的车辆类型:\n");
                 scanf("%s",cars[i].type);break;
        printf("\n               输入修改后的车辆颜色:\n");
                 scanf("%s",cars[i].colour);break;
        printf("\n               输入修改后的车辆数量:\n");
                 scanf("%s",cars[i].count);break;
        printf("\n               输入修改后的车辆价格:\n");
                 scanf("%s",cars[i].price);break;
        printf("\n               输入修改后的车辆备注:\n");
                 scanf("%s",cars[i].beizhu);break;
      printf("\n");   
      }
     }
    for(i=0;i<n;i++)
    {
       printf("车辆编号     车辆名称     车辆类型     车辆颜色     车辆数量     车辆价格     车辆备注\n");
     printf("\n\t  %5ld      %5s       %5s        %5s     %ld       %5ld",cars[i].num,cars[i].name,cars[i].type,cars[i].colour,cars[i].count,cars[i].price,cars[i].beizhu);
       printf("\n");
     }
    printf("Please press any key to continue:");  /*返回功能选择界面*/
    getch();
    return;   
    }
    void inquire()         /*查询模块*/
    {
        long temp;
        printf("请输入需要查询的车辆编号");
        scanf("%ld",&temp);
        for(i=0;i<n;i++)
        {
            if(temp+cars[i].num)
            {
                printf("~~~~~~~查询的车辆信息~~~~~~~~~~~~");
                printf("车辆编号     车辆名称     车辆类型     车辆颜色     车辆数量     车辆价格     车辆备注\n");
                printf("\n\t  %5ld      %5s       %5s        %5s     %ld       %5ld",cars[i].num,cars[i].name,cars[i].type,cars[i].colour,cars[i].count,cars[i].price,cars[i].beizhu);
            }
        }
        getch();
        return;
    }
    void scan()                /*浏览模块*/
    {
    int k;
       printf("\n\t浏览输入的车辆信息,请按1\n\n\t浏览排序后车辆信息,请按2\n");
       printf("请选择:");
       fflush(stdin);
       scanf("%d",&k);
       switch(k)
       {
        case 1 :
             {
                          printf("\t\t\t浏览输入的车辆信息\n");/*输出浏览车辆信息*/      
                        for(i=0;i<n;i++)
                        {printf("车辆编号     车辆名称     车辆类型     车辆颜色     车辆数量     车辆价格     车辆备注\n");
                         printf("\n\t  %5ld      %5s       %5s        %5s     %ld       %5ld     %s",cars[i].num,cars[i].name,cars[i].type,cars[i].colour,cars[i].count,cars[i].price,cars[i].beizhu);
                         printf("\n");
                        }
                         printf("Press any key to enter menu:");
                         getch();
                          return;
             }
             break;  
            case 2:
             { printf("\t\t\t浏览按车辆编号排序的商品信息\n");    /*输出浏览车辆信息*/
                        for(i=0;i<n;i++)
                        {printf("车辆编号     车辆名称     车辆类型     车辆颜色     车辆数量     车辆价格     车辆备注\n");
                         printf("\n\t  %5ld      %5s       %5s        %5s     %ld       %5ld     %s",cars[i].num,cars[i].name,cars[i].type,cars[i].colour,cars[i].count,cars[i].price,cars[i].beizhu);
                         printf("\n");
                        }
                         printf("\nPress any key to enter menu:");
                         getch();
                         return;   /*返回主界面*/
            }
                break;
            default:
                break;
       }
    }
   void output()         /*输出模块*/   
   {
    FILE* fp = NULL; /* 文件指针 */
     Cars rec; /* 存放从文件中读取的记录 */
      int i = 0; /* 实现 计数 和 分屏打印的功能 */
     fp = fopen(CARS_FILE , "rb"); /* 以 二进制读方式 打开数据文件 */
      if(fp == NULL) /* 打开文件出错 */
      {
          printf(" 打开文件失败: %s\n" , CARS_FILE);
          getch();
          return ;
      }
          while(ReadData(fp , &rec)) /* ReadData() 函数出错或到文件末尾时返回 0,可以做循环条件 */
    {
  Output_Rec(&rec); /* 正确读取,将记录输出 */
  printf(" ---------------------------------------------------------------\n");
  i++;
  if(i>1 && i % 3 == 0)
  {
   printf("\n 按任意键结束 ... \n");
   getch();
  }
          }
   printf("\n一共有\t%d\t条记录 .\n" , i );
   fclose(fp);
   system("pause");
   }

   }
   void quit()                 /*退出系统*/
   {
           exit(0);
   }                  


大恩不言谢了,各位帮帮忙
搜索更多相关主题的帖子: 记录 include purchase 
2013-06-19 20:02
yss0729
Rank: 3Rank: 3
来 自:江西 九江
等 级:论坛游侠
帖 子:43
专家分:197
注 册:2013-6-8
收藏
得分:3 
我只想说三个字 OMG!
2013-06-19 20:20
YE呦呦
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2013-3-16
收藏
得分:0 
回复 楼主 YE呦呦
帮帮忙,必有重谢
2013-06-19 20:47
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:3 
太长了   你至少说下  程序是干嘛的  错误大概是什么吧

三十年河东,三十年河西,莫欺少年穷!
2013-06-19 20:49
业余爱好者
Rank: 2
等 级:论坛游民
帖 子:28
专家分:23
注 册:2013-4-23
收藏
得分:3 
这个程序 可够长的 啊  直接 就闷了
2013-06-19 20:54
YE呦呦
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2013-3-16
收藏
得分:0 
前边密码的问题,运行时一直在重新登录,下转不到主界面
输入的数据无法保存,后边读不了
2013-06-19 23:14
快速回复:各位师兄师姐,帮帮忙,求修改
数据加载中...
 
   



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

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