LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 810|回复: 6

c大作业求助!!!!!!!!!!!

[复制链接]
发表于 2003-12-25 03:45:44 | 显示全部楼层 |阅读模式
1.需求说明:
(1)录入:实现对数据的录入,要求以文本文件(.txt)的形式保存,包含以下6个信息:
商品编号  商品名称  单价     库存数量  商品种类  进货公司
E001      台灯      ¥12.00  25        电器      昆百大集团
R001      牙刷      ¥3.50   34        日用品    浙江三笑日用品
必须使用结构体实现!为方便调试,至少包含20条商品记录。
            
(2)排序:要求能够按商品编号、单价和库存数量进行排序,排序后的结果分别放在BH.txt、DJ.txt和KC.txt文件并将结果显示出来。

(3)查询:要求能够按商品编号和商品种类查询商品的当前情况,要求根据条件显示查询结果。

(4)库存统计:预设一个库存警告的常量,当库存低于这个常量时,系统将在商品 库中找出低于预警库存的商品,并按“进货公司”分类生成JHB.txt,可将结果显示在屏幕上。

(5)收银员记账:系统提供一个简单的收银员的记账功能!按日期记录销售明细并有一个每日结算,并将结果存放在文件JZ.txt中。如:
2003-10-1
----------------------
E001,台灯,2,¥12.00,¥24.00;
R001,牙刷,1,¥3.5,¥3.5;
----------------------
共计:¥27.50;
********************
2003-10-2
----------------------
E001,台灯,1,¥12.00,¥12.00;
R001,牙刷,1,¥3.5,¥3.5;
----------------------
共计:¥15.50;
*********************
2.为用户提供友好的功能选择界面,用户通过键入数字或者字母实现功能选择,进入相应的功能。

3.对系统常量要求用符号常量进行规范,对于常用的功能和算法如排序要求做成自己的库函数,并使用头文件的方式实现分离编译。

4.对实验结果的处理包括程序测试、结果分析、结论及改进方案等内容。

哈哈,12月30号就交了,帮帮忙!!
发表于 2003-12-25 10:23:52 | 显示全部楼层
别指望人家帮你写,程序只有自己写才能不断提高。
发表于 2003-12-25 14:20:48 | 显示全部楼层
说实话,这个程序并不难哦……还是自己动手比较好
发表于 2003-12-25 14:46:29 | 显示全部楼层
我也是初学者,说说你的算法吧!!!(看这一大堆的字头有点晕)
 楼主| 发表于 2003-12-27 01:36:54 | 显示全部楼层

哪里错了?


  1. #include <stdio.h>
  2. #include <assert.h>
  3. #include <string.h>

  4. struct emploee_info{
  5.   char   no[5];
  6.   char   name[8];
  7.   char   sex[3];
  8.   int    age;
  9.   int    salar;
  10. };

  11. int main(int argc, char **argv)
  12. {
  13.   FILE *fuck;
  14.   struct emploee_info *gan;
  15.   //memset(gan, 0, sizeof(gan));
  16.   if ((fuck = fopen(argv[1], "w")) == NULL) {
  17.     printf("open file fault.....\n");
  18.     exit(1);
  19.   }

  20.   fprintf(fuck, "编号\t姓名\t性别\t年龄\t工资\t\n");
  21. #if 1
  22.   printf("请输入职工号:\n");
  23.   scanf("%s", gan->no);
  24.   printf("请输入姓名:\n");
  25.   scanf("%s", gan->name);
  26.   printf("请输入性别:\n");
  27.   scanf("%s", gan->sex);
  28.   printf("请输入年龄:\n");
  29.   scanf("%d", &gan->age);
  30.   printf("请输入工资:\n");
  31.   scanf("%d", &gan->salar);
  32.   // printf("%d\n",gan->salar);

  33.   // fclose(fuck);
  34.   //  if ((fuck = fopen(argv[1], "w+")) == NULL) {
  35.   // printf("open file fault.....\n");
  36.   //exit(1);
  37.   // }

  38.   //  fseek(fuck, 0, SEEK_END);
  39.   if (fuck&&gan) {
  40.     fprintf(fuck, "%-12s%-12s%-12s%-12d%-12d\n", gan->no, gan->name, gan->sex, gan->age, gan->salar);
  41.   }
  42. #endif
  43. }
复制代码

老是段错误。。。
谢谢
发表于 2003-12-27 02:43:01 | 显示全部楼层
struct emploee_info *gan;
没有为gan分配内存,象你目前这个程序不需要把gan声明成指针,直接声明成结构就行了:
struct emploee_info gan;
 楼主| 发表于 2003-12-28 13:10:59 | 显示全部楼层
收到,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表