【www.gdgbn.com--设计基础】


/*如有不足之处,还望各位多多指点.*/
#include
#include
#include

#define IN 1
#define OUT 0
#define FNAME "请输入药品名称(或编号):n"
#define SNAME "请输入药品名称或编号(按-1结束):n"
#define MENU "************************n"
       "1 - 添加药品信息.n"
       "2 - 删除药品信息.n"
       "3 - 按药品名称或编号查找.n"
       "4 - 更新我的药品信息.n"
       "5 - 计算购买药品总额.n"
       "6 - 打印我的药品列表.n"
       "7 - 退出.n"
       "************************n"
       "请选择: "

struct list_stag {//药品信息
    char number[50];
    char name[30];
    char product[50];
    float price;
    int amount;

    struct list_stag *next;
};

int GetDigit(const char *numstr);
char *GetString(const char *putstr, char *gestr);
struct list_stag *Insert(struct list_stag *fst, const struct list_stag *dst);
struct list_stag *Delete(struct list_stag *fd, const char *destr);
struct list_stag *SearchList(struct list_stag *serlist, const char *serstr);
struct list_stag *Upated(struct list_stag *ulist, int *t, int sign);
struct list_stag *GetValue(struct list_stag *ref);
float PayList(struct list_stag *palist, char *s);
void Print(const struct list_stag *fp);
void PrintList(const struct list_stag* pst);
void PayPrint(const char *str, float total);
void FileSave(FILE *fPtr, const struct list_stag *f);

main()
{
    FILE *file = fopen ("Medicine.DAT", "a+");
    struct list_stag *list = NULL;
    struct list_stag red, *temp;
    int choice, i;
    float value, money;
    char string[3000];

    while (fread(&red, 1, sizeof(struct list_stag), file))//读取文件信息
        list = Insert(list, &red);

本文来源:http://www.gdgbn.com/wangyezhizuo/13141/