c语言-C语言课程设计---商品订购系统 调试

问题描述

C语言课程设计---商品订购系统 调试

#include
#include

int inumber = 0; //商品量的统计
int ibuy = 0; //订单的统计

void secondmain(); //管理维护子菜单
void jianpanload(); //输入商品
void scanproduct(); //浏览商品
void searchproduct(); //搜索商品
void dinggou(); //订购商品
void lookdinggou(); //查询订单
void addproduct(); //增加商品
void deleteproduct(); //删除商品
void saveproduct(); //保存商品
void savedinggou(); //保存订单
void wenbenload(); //从文本导入商品

struct product
{
char name[30]; //商品名
int number; //货号
char vender[30]; //厂家
char filed[100]; //产地
int stock; //存量
double price; //单价
};
struct product a[100];

struct dinggou

{
int bgname; //货号
int bmany; //订购量
int btime; //日期时间
char bname[100]; //客户名
char baddress[100]; //客户地址
int bnumber; //客户号
};
struct dinggou b[100];

int main(void)
{

int i;
wenbenload();
do
{
printf("nnnnnn");
printf("**************************欢迎使用商品订购系统v1.0******************************n");
printf("                ┏━━━━━━━━━━━━━━━━━━━┓n");
printf("                ┃             1.浏览商品信息           ┃n");
printf("                ┃             2.订购商品               ┃n");
printf("                ┃             3.订单查询               ┃n");
printf("                ┃             4.搜索商品               ┃n");
printf("                ┃             5.管理菜单               ┃n");
printf("                ┃             0.退出系统               ┃n");
printf("                ┗━━━━━━━━━━━━━━━━━━━┛n");
printf("********************************************************************************n");

    printf("nntt请输入你的操作(0~5): ");

    scanf("%d",&i);
    switch(i)
    {
    case 1:
        scanproduct();
        break;
    case 2:
        dinggou();
        break;
    case 3:
        lookdinggou();
        break;
    case 4:
        searchproduct();
        break;
    case 5:
        secondmain();
        break;      

    case 0:                            //退出系统的界面
        printf("nnnnnnnn");
        printf("nnttt欢迎使用本系统nnnnnttt欢迎再次使用n");
            }
}while(1);                             

return 0;

}

//浏览商品
void scanproduct()
{
int i;
printf("ttttt商品信息列表n");
for (i = 0; i < inumber; i++)
{
printf("名称 : %sn",a[i].name);
printf("货号 : %dn",a[i].number);
printf("厂家 : %sn",a[i].vender);
printf("产地 : %sn",a[i].filed);
printf("存量 : %dn",a[i].stock);
printf("单价 : %.2lfnnn",a[i].price);
}
printf("nnnnnnttt");
printf("返回主菜单n");
printf("ttt"); //每个/t占8个字节,可理解为空格键
return;
}

//商品的订购
void dinggou()

{
char ch;
int i, j, t, c = 1;
int n = 1;
int m = 0;

do
{
    switch(n)
    {
    case 1:
        printf("tttt商品信息列表n");
        //显示商品的名称、货号信息,以便于订购
        printf("名称t  货号t 库存n");
        for (i = 0; i < inumber; i++)
        {
            printf("%st   %dt  %dnnn",a[i].name,a[i].number,a[i].stock);

        }
        printf("nnn");

        printf("tttt商品订单n");
        printf("nttt请输入你的第%d个订单信息:n",m + 1);
        printf("nttt货号:");
        fflush(stdin);
        scanf("%d",&b[ibuy].bgname);
        //检测是否含有此商品
        j = 1;
        for (i = 0; i < inumber; i++)
        {
            if(a[i].number == b[ibuy].bgname)
            {
                j = 0;
                t = i;
            }
        }
        //若有商品继续购买项目
        if(j == 0)
        {
            printf("nttt订购量:");
            fflush(stdin);
            scanf("%d",&b[ibuy].bmany);
            if (a[t].stock >= b[ibuy].bmany)
            {
                a[t].stock = a[t].stock - b[ibuy].bmany;       //顾客购买后商品的库存计算
                printf("nttt日期时间:");
                fflush(stdin);
                scanf("%d",&b[ibuy].btime);
                printf("nttt客户名:");
                fflush(stdin);
                gets(b[ibuy].bname);
                printf("nttt客户地址:");
                fflush(stdin);
                gets(b[ibuy].baddress);
                printf("nttt客户号:");
                printf("%dn",b[ibuy].bnumber);
                ibuy++;
                m++;
                printf("nnntttt");
            }
            else
            {
                printf("nnttt订购数目超出库存n");
                printf("ttt");
            }

        }
        //若没有商品的提示及操作
        else
        {
            printf("nnttt查无此货n");

            printf("ttt");
        }

    case 2:
        printf("是否继续输入订购?(Y/N)");
        fflush(stdin);
        scanf("%c",&ch);
        if(ch == 'N' || ch == 'n')
        {
            c = 0;
            break;
        }
        else if(ch == 'Y' || ch == 'y')
        {
            c = 0;
            n = 1;
            break;
        }
        else if(ch != 'n' || ch != 'N' || ch != 'Y' || ch != 'y')
        {
            n = 0;
            c = 1;
            break;
        }

    case 0:
        if(c == 1)
        {
            n = 2;
        }
    }

}while(ch != 'n' && ch != 'N');

return ;

}

//订单的查询
void lookdinggou()

{
int i;
printf("ttttt订单列表n");
for (i = 0; i < ibuy; i++)
{
printf("货号 : %dn",b[i].bgname);
printf("订购量 : %dn",b[i].bmany);
printf("日期时间 : %dn",b[i].btime);
printf("客户名 : %sn",b[i].bname);
printf("客户地址 : %sn",b[i].baddress);
printf("客户号 : %dnnn",b[i].bnumber);
}
printf("nnnnnnttt");
printf("返回主菜单n");
printf("ttt");
return;
}

//增加商品
void addproduct()

{
char ch;
int i=1;
int n = 1;

do
{
    switch(n)
    {
    case 1:
        printf("tttt商品信息的增加n");
        printf("ttttt注:要重新输入已有及增加的商品n");
        printf("nttt请输入你的第%d件商品的信息:n",i);
        printf("nttt名称:");
        fflush(stdin);
        scanf("%s",a[inumber].name);
        printf("nttt货号:");
        fflush(stdin);
        scanf("%d",&a[inumber].number);
        printf("nttt厂家:");
        fflush(stdin);
        scanf("%s",a[inumber].vender);
        printf("nttt产地:");
        fflush(stdin);
        scanf("%s",a[inumber].filed);
        printf("nttt存量:");
        fflush(stdin);
        scanf("%d",&a[inumber].stock);
        printf("nttt单价:");
        fflush(stdin);
        scanf("%lf",&a[inumber].price);
        i++;
        inumber++;

    case 2:
        printf("是否继续输入记录?(Y/N)");
        fflush(stdin);
        scanf("%c",&ch);
        if(ch == 'N' || ch ==' Y'|| ch == 'n'|| ch == 'y')
        {
            break;
        }
        if(ch ==' Y'|| ch == 'y')
        {
            n = 1;
            break;
        }

    case 0:
        printf("是否继续输入记录?(Y/N)");
        fflush(stdin);
        scanf("%c",&ch);
        n = 2;
    }
}while(ch != 'n' && ch != 'N');

return;

}

//删除商品
void deleteproduct()
{
int i;
int j;
char ch;
int n = 1;

do
{
    switch(n)
    {
    case 1:
        printf("tttt商品列表n");
        //显示商品的名称、货号信息,以便于下部的删除
        for (i = 0; i < inumber; i++)
        {
            printf("名称 :  %sn",a[i].name);
            printf("ID :  %dn",i);
            printf("库存 :  %dnnn",a[i].stock);
        }

        //商品的搜索
        printf("nnntttt请输入你要删除商品的ID:");
        scanf("%d",&j);
        i = j;
        while(i < inumber - 1)
        {
            strcpy(a[i].name, a[i + 1].name);
            a[i].number = a[i + 1].number;
            strcpy(a[i].filed, a[i + 1].filed);
            a[i].stock = a[i + 1].stock;
            a[i].price = a[i + 1].price;
            strcpy(a[i].vender, a[i + 1].vender);
            i++;
        }
        inumber--;
    case 2:
        printf("是否继续删除商品?(Y/N)");
        fflush(stdin);
        scanf("%c",&ch);
        if(ch == 'N' || ch ==' Y'|| ch == 'n'|| ch == 'y')
        {
            break;
        }
        if(ch ==' Y'|| ch == 'y')
        {
            n = 1;
            break;
        }
    case 0:

        printf("是否继续输入记录?(Y/N)");
        fflush(stdin);
        scanf("%c",&ch);
        n = 2;
    }
}while(ch != 'n' && ch != 'N');

printf("nnnnnnttt");
printf("返回附加功能菜单n");
printf("ttt");
return;

}

//商品信息的保存
void saveproduct()
{
FILE *fpgoods;
int i;

fpgoods = fopen("goodsinfo.out","w");

fprintf(fpgoods,"tttttt商品信息列表n");
//商品信息的录入
for (i = 0; i < inumber; i++)
{
    fprintf(fpgoods,"名称: %sn",a[i].name);
    fprintf(fpgoods,"货号: %dn",a[i].number);
    fprintf(fpgoods,"厂家: %sn",a[i].vender);
    fprintf(fpgoods,"产地: %sn",a[i].filed);
    fprintf(fpgoods,"存量: %dn",a[i].stock);
    fprintf(fpgoods,"单价: %.2lfnnn",a[i].price);
}       

fclose(fpgoods);

printf("nnnnnntttt商品信息保存成功!!!n");
printf("tttt");

return;

}

//订单的保存信息
void savedinggou()
{
FILE *fpgoods;
int i;

fpgoods = fopen("bookrecordinfo.out","w");

fprintf(fpgoods,"tttttt订单列表n");
//商品信息的录入
for (i = 0; i < ibuy; i++)
{
    fprintf(fpgoods,"货号 :%dn",b[i].bgname);
    fprintf(fpgoods,"订购量 :%dn",b[i].bmany);
    fprintf(fpgoods,"日期时间 :%dn",b[i].btime);
    fprintf(fpgoods,"客户名 :%sn",b[i].bname);
    fprintf(fpgoods,"客户地址 :%sn",b[i].baddress);
    fprintf(fpgoods,"客户号 :%dnnn",b[i].bnumber);
}       

fclose(fpgoods);

//保存后信息的反馈
printf("nnnnnntttt信息保存成功!!!n");
printf("tttt");

return;

}

解决方案

请问你有啥问题,贴了这么一大段的程序。。。

解决方案二:

C语言用来干这个,有点鸡肋了。

时间: 2024-09-20 16:07:06

c语言-C语言课程设计---商品订购系统 调试的相关文章

c语言 数据结构-数据结构课程设计停车厂c语言实现

问题描述 数据结构课程设计停车厂c语言实现 问题描述:设停车场是一个可停放n辆汽车的狭长通道,且只有一个门可供出入.汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆汽车即可开入:当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原顺序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时

c语言课程设计总结心得大全

c语言课程设计心得体会范文一: 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在.因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的. 回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固

c语言-C语言课程设计字符串题目匹配单词,求大神~~~~~~~~~~~~~~~~~

问题描述 C语言课程设计字符串题目匹配单词,求大神~~~~~~~~~~~~~~~~~ 详细题目如下:设有n个单词的字典表(1<=n<=100),计算某单词在字典表中的4种匹配情况(字典中的单词和待匹配的单词长度上限为255):1)i :该单词在字典表中的序号:2)Ei:在字典表中仅有一个字符不匹配的单词不匹配的单词序号:3)Fi:在字典表中多(或少)一个字符(其余字符匹配)的单词序号:4)N:其他情况.当查找时有多个单词符合条件,仅要求第1个单词的序号即可.1)输入文件,文件格式为:n(字典表

数据结构 c语言-C语言数据结构课程设计实现一个集合数据结构

问题描述 C语言数据结构课程设计实现一个集合数据结构 题目:设计并实现一个集合数据结构Set.一个集合中没有重复元素,支持下列运算: boolean add(E o) 如果 set 中尚未存在指定的元素o,则添加此元素. boolean addAll(Set c) 如果 set 中没有指定集合c中的所有元素,则将其添加到此 set 中. void clear() 移除 set 中的所有元素. boolean contains(E o) 如果 set 包含指定的元素o,则返回 true. bool

c语言-求大神帮忙 数据结构课程设计怎么做都运行不不起来,下周就要交了,拜托拜托T^T

问题描述 求大神帮忙 数据结构课程设计怎么做都运行不不起来,下周就要交了,拜托拜托T^T 输入文件中含有待格式化(或成为待排版)的文本,由多行文字组成.每一行由一系列被一个或多个空格符所隔开的字所组成,任何完整的字都没被分隔在两行,每行字数不超过80.除了上述文本类字符外,还存在起控制作用的字符:符号"@"指示它后面的正文在格式化时应另起一段排放,即空一行,并在段首缩入8个字符位置."@"自成一个字,一个文本格式化程序可以处理上述输入文件,按照用户指定的版面规格重排

01背包相关问题c语言算法设计课程设计

问题描述 01背包相关问题c语言算法设计课程设计 一.设计题目 0/1背包问题 问题描述:一个商人带着一个能够装m千克的背包去乡下收购货物,准备将这些货物卖的城里获利.现有n种货源,且知道第i种货物有Wi千克,可获得Pi元,收购那些货物以获得最大利润.(在选择装入背包时,对每种货物只有两种选择,即装入背包,或不装入背包,货物不允许拆零) 二.设计主要内容 具体要求如下: (1) 使用蛮力算法实现 (2) 使用递归算法实现 (3) 使用动态规划算法实现 (4) 对各种算法的时间复杂度进行分析和比较

c c++-c语言课程设计 仓库物资管理

问题描述 c语言课程设计 仓库物资管理 仓库物资管理() (问题描述) 设计某仓库物资管理系统,有四大类物资:黑色金属.有色金属.非金属.机电设备.(基本要求) 按类管理物资,管理功能如下: (1)物资按四大类入库,记录库存明细账(包括账号.品名.规格.单价.数量.金额.产地.入库日期). (2)出库:记录出库明细账 (3)查询 (4)分类统计:月报表.季报表.年报表 解决方案 http://zhidao.baidu.com/link?url=7QetsNgaTw1gdxr8ajsbSvKhX5

图论-c语言课程设计分油问题

问题描述 c语言课程设计分油问题 输入三个油瓶容量与目标容量, 用邻接矩阵求它的最短路径 ,先判断两点间有没有路 最短路是什么, 调用邻接矩阵函数求 . 解决方案 http://www.it165.net/pro/html/201407/16957.html 解决方案二: C语言课程设计具体安排说明关于操作系统课程设计的问题<c语言课程设计>---职工信息管理系统

c语言-C语言学生选课管理 顺序表实现 数据结构课程设计

问题描述 C语言学生选课管理 顺序表实现 数据结构课程设计 学生选课管理系统 用顺序表实现 ◆问题描述 设计一个计算机管理完成的学生选课信息基本业务. ◆要求 课程信息包括:课程编号.课程名称.课程性质.总学时.学分.课程人数上限. 选课信息包括:学号.姓名.选修课程编号.成绩. (1)录入.删除.修改课程信息. (2)录入.删除.修改选课信息. (3)查询.统计选课信息(按学号.学分等): (4)排序. 解决方案 http://wenku.baidu.com/link?url=dKo45dQ7