【jackson源码分析】【JavaScript配套源码】【彩缘源码】超市管理系统 c 源码

1.���й���ϵͳ c Դ��
2.c语言 超市管理系统

超市管理系统 c 源码

���й���ϵͳ c Դ��

       typdef struct chao shi

       {

        char name[];//商品名

        int amount;//商品数量

        double price;// 商品价格

        struct chao shi*next;

       }linklist;

       linklist *creatlist();//创立链表return head;

       void insert(linklist*p);//传入链表的超市首地址,插入函数ps:插入就是管理增加啊!

       void change(linklist*p);//修改商品价格和数量!系统jackson源码分析

       void del(linklist*p);删除商品信息!超市

       void sort(linklist*p);//排序

       void find(linklist*p);//查找(里面包含输出)

       void output(linklist*p);//输出函数

       int menu()

       void main()

       ok!你自己会写了ba?管理JavaScript配套源码我做了一个学生信息管理系统你看看吧可以参考下!

       #include<stdio.h>

       #include<stdlib.h>

       #include<string.h>

       #define M 3

       typedef struct node

       {

       char sno[];

       char name[];

       int score[M];

       double avg;

       struct node *next;

       }linklist;

       int listlength(linklist*head);

       void output1(linklist*head);

       void output2(linklist*head);

       linklist *create()

       {

       linklist *head,系统彩缘源码*p,*t;

       int n,i,j;

       printf("请输入学生人数:");

       scanf("%d",&n);

       head=(linklist*)malloc(sizeof(linklist));

       t=head;

       for(i=0;i<n;i++)

       {

       p=(linklist*)malloc(sizeof(linklist));

       printf("输入学号:");

       scanf("%s",p->sno);

       printf("输入姓名:");

       scanf("%s",p->name);

       printf("输入%d门功课成绩:",M);

       for(j=0;j<M;j++)

       scanf("%d",&p->score[j]);

       printf("\n");

        t->next=p;

        t=p;

       }

       p->next=NULL;

       return head;

       }

       void insert(linklist*head)

       {

       linklist *p;

       int i,n,j;

       printf("输入你要插入的学生人数:");

       scanf("%d",&n);

       printf("你要插入的学生信息:\n");

       for(i=0;i<n;i++)

       { p=(linklist*)malloc(sizeof(linklist));

       p->next=head->next;

       head->next=p;

       printf("输入学号:");

       scanf("%s",p->sno);

       printf("输入姓名:");

       scanf("%s",p->name);

       printf("输入%d门功课成绩:",M);

       for(j=0;j<M;j++)

       scanf("%d",&p->score[j]);

       }

       }

       void del(linklist*head)

       {

       linklist *p,*q;

       char s[];

       printf("输入要删除学生的姓名:");

       scanf("%s",s);

       q=head;

       p=head->next;

       while(strcmp(p->name,s)!=0&&p)

       { q=p;

        p=p->next;}

       if(p==NULL)

       printf("无此人\n");

       else

       { q->next=p->next;

       free(p);}

       }

       void change(linklist*head)

       {

       linklist*p;//修改学生信息模块!

       int i,超市a[M];//M=3

       char s[];//存放学生姓名的数组!

       printf("输入你要修改数据的管理学生姓名:");

       scanf("%s",s);

       p=head->next;

       while(strcmp(p->name,s)!=0&&p)//遍历链表

       p=p->next;

       if(p==NULL)

       printf("无此人\n");

       else

       { printf("%s\t%s\t",p->sno,p->name);

       printf("请重新输入学生的%d门成绩:",M);

       for(i=0;i<M;i++)

       { scanf("%d",&a[i]);

       p->score[i]=a[i];}

       }

       }

       void sort(linklist*head)

       { double sum;//用学生的平均分进行排序!

        linklist *p,系统*q,*t;

       int i,j;

       double temp;

        int m=listlength(head);//求出链表长度的函数!(因为链表长度有变化所以写了这个函数)

       q=p=head->next;

       for(i=0;i<m;i++)

       {

       sum=0;

        for(j=0;j<M;j++)//求出学生M门功课的超市成绩平均分

        sum+=q->score[j];

        p->avg=sum/M;

       p=p->next;

       q=p;

       }

       output2(head);

       p=head->next;

       printf("有不及格科目的学生:\n");

       for(i=0;i<m;i++)

       { for(j=0;j<M;j++)

        if(p->score[j]<)

       { printf("%s\t%s\t",p->sno,p->name);

        for(j=0;j<M;j++)

       printf("%d ",p->score[j]);

       printf("\n");

       }

       p=p->next;

       }

       printf("\n");

       printf("学生成绩排序:\n");

        t=NULL;

       while(t!=head->next)

       {

       p=head;

       q=p->next;

       while(q->next!=t)

       {

       if(p->next->avg<q->next->avg)

       {

       p->next=q->next;

       q->next=q->next->next;

       p->next->next=q;

       }

       p=p->next;

       q=p->next;

       }

       t=q;

       }

       }

       int listlength(linklist*head)

       {

       int n=0;

       linklist*p;

       p=head->next;

       while(p)

       { n++;

       p=p->next;

       }

       return n;

       }

       int menu()

       {

       int m,i;

       printf("============================================================\n");

       printf("||1:录入学生数据 2:增加学生数据 ||\n");

       printf("||3:删除学生数据 4:改正学生数据 ||\n");

       printf("||5:排序 6:退出。 ||\n");

       printf("||=========================================================\n");

       printf("输入你要选择的管理功能:");

       i=scanf("%d",&m);

       system("cls");

       fflush(stdin);

       return m;

       }

       void output1(linklist*head)

       {

       linklist*p;

       int i;

       p=head->next;

       while(p)

       {

       printf("%s\t%s\t",p->sno,p->name);

       for(i=0;i<M;i++)

       printf("%d ",p->score[i]);

       p=p->next;

       printf("\n");

       }

       }

       void output2(linklist*head)

       {

       linklist*p;

       int i;

       p=head->next;

       while(p)

       {

       printf("%s\t%s\t",p->sno,p->name);

       for(i=0;i<M;i++)

       printf("%d ",p->score[i]);

       printf("%lf",p->avg);

       p=p->next;

       printf("\n");

       }

       }

       int main(void)

       {

        linklist*p;

        int k=0;

        do

        {

        k=menu();

        switch(k)

        {

        case 1:

        p=create();

        output1(p);break;

        case 2:insert(p);

        output1(p);break;

        case 3:del(p);

       output1(p);break;

        case 4:change(p);

       output1(p);break;

        case 5:sort(p);

        output2(p);break;

        case 6:exit(0);

        }

        }while(k>=1&&k<=6);

       return 0;

       }

c语言 超市管理系统

       æœ‰ä¸€ä¸ªå°åž‹è¶…市,出售N(N>=)种商品,设计并实现一个系统,完成下列功能:

       1. 保存及输出。超市中的各种商品信息保存在指定文件中,可以把它们输出显示。

       2. 计算并排序。计算每类商品的总价值(sum,单精度)及平均价(aver,单精度,输出一位小数),将每类商品按平均价从大到小的顺序排序打印出来。

       3. 统计。统计输出库存量低于的货号及类别。统计输出有两种以上(含两种)商品库存量低于的商品类别。

       1.2总体结构

       æœ¬ç¨‹åºä¸»è¦åˆ†ä¸ºå…«ä¸ªæ¨¡å—:主模块、信息输出修改模块、新建信息模块、排序模块、计算模块、统计模块1、统计模块2、打印模块。

       1) 主模块:通过调用各分模块实现功能;

       2) 信息输出修改模块:输出显示文件中商品信息内容,添加商品信息,删除商品信息,修改商品信息;

       3) 新建商品信息模块:建立一个新结构体,为链表存信息用,并且将信息保存在指定的文件中;

       4) 排序模块:把文件中顺序零乱的商品信息按单价的大小从高到低进行排序,放到链表里存储;

       5) 计算模块:将所有商品的价格与库存量进行累加求和;

       6) 打印模块:将商品信息按每类平均价格排序(从高到低)按顺序打印出来;

       7) 统计模块1:统计库存量低于的货名及类别;

       8) 统计模块2:统计商品库存量有2种以上(含2种)低于的商品类别。

       é™„ 录(程序清单)

       #include "stdio.h" /*输入,输出头文件*/

       #include "stdlib.h" /*申请空间头文件*/

       #include "string.h" /*对字符串加工头文件*/

       #include "conio.h" /*清屏头文件*/

       FILE *fp;

       int n=0; /*定义文件指针类型*/

       int i,j,a[4],m; /*定义整数类型*/

       float aver[4],sum[4],g[4],h; /*定义浮点类型*/

       char c[5]="elec"; /*定义字符数组类型*/

       char d[5]="comm"; /*定义字符数组类型*/

       char e[5]="food"; /*定义字符数组类型*/

       char f[5]="offi"; /*定义字符数组类型*/

       struct good /*定义结构体*/

       {

        int num; /*商品编号*/

        char name[]; /*商品名称*/

        char kind[]; /*商品类型*/

        float price; /*商品价格*/

        char unit[]; /*商品单位*/

        int quantity; /*商品数量*/

        struct good *next; /*定义结构体指针类型*/

       }*head,*p1,*p2;

       struct good *createlist() /*创建链表函数*/

       {

        struct good *head1,*p1,*p2; /*定义结构体指针类型*/

        if((fp=fopen("goods message.txt","w"))==NULL) /*判断能否打开文件*/

        {

        printf("can not open the file");

        exit(0); /*结束程序*/

        }

        head1=(struct good *)malloc(sizeof(struct good)); /*申请头结点空间*/

        p1=head1;

        p2=head1;

        printf("

更多内容请点击【知识】专栏

精彩资讯