C语言程序设计报告(商品订购系统)

Python019

C语言程序设计报告(商品订购系统),第1张

题目:商品订购系统设计。

功能:屏幕上出现一个界面,让顾客或输入商品名称,或商品型号,或选择列表进而输入商品编号都可以,如查到所选商品,则列出商品编号、商品名称、商品型号、商品价格、商品产地、库存数量和已订购数量;然后给出选购流程:所选商品编号—列出对应商品的信息—要求顾客输入邮寄地址信息—确认订购,是否继续选购其它商品,列出所有选订商品,再次确认订购。建立两个文件,分别存放商品信息与订购信息。

分步实施:

1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;

2、完成最低要求:建立一个小系统,包括10种产品能供顾客选择。

3、进一步要求:完成全部功能的系统。

要求:1、用C语言实现程序设计;

2、利用结构体数组实现信息的数据结构设计;

3、系统的各个功能模块要求用函数的形式实现;

4、界面友好(良好的人机交互),程序加必要的注释。

课程设计实验报告要求:

1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。

2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、

小结等。

高手请帮帮我好吗?谢谢~

#include <stdio.h>

#include <string.h>

#include <malloc.h>

#include <stdlib.h>

int N//////订单数目

struct chanpin

{

long bianhao

char mingcheng[30]

char cpmingcheng[30]

int cpdingjia

int shuliang

long jine

}////订单编号、公司名称、产品名称、产品订价、订购数量、订单金额

void init(struct chanpin *p)

{

printf("输入订单编号:\t")

scanf("%d", &p->bianhao)

printf("\n输入公司名称:\t")

scanf("%s", p->mingcheng)

printf("\n输入产品名称:\t")

scanf("%s", p->cpmingcheng)

printf("\n输入产品定价:\t")

scanf("%d", &p->cpdingjia)

printf("\n输入订购数量:\t")

scanf("%d", &p->shuliang)

p->jine=p->cpdingjia * p->shuliang

}//初始化

void displaymingcheng(struct chanpin *p)

{

printf("\n")

printf("公司名称:%s\n", p->mingcheng)

}

void display(struct chanpin *p)

{

displaymingcheng(p)

puts("-----------------------------------------------")//传说中的分割线

printf("订单编号:\t%ld", p->bianhao)

//printf("\n公司名称:\t%s", p->mingcheng)

printf("\n产品名称:\t%s", p->cpmingcheng)

printf("\n产品定价:\t%d", p->cpdingjia)

printf("\n订购数目:\t%d", p->shuliang)

printf("\n总金额是:\t%ld", p->jine)

puts("-----------------------------------------------")

}//输出一个产品的全部信息

void displaycompany(struct chanpin *p)

{

char temp[30]

int i

printf("输入公司名称:\t")

gets(temp)

for(i=0i<Ni++)

{

if(strcmp(temp, p[i].mingcheng)==0)

display(&p[i])

}

puts("订单信息输出完毕!!!")

}///////////根据名称输出公司订单信息

void findbianhao(struct chanpin *p)

{

long temp

int i

printf("输入编号:\t")

scanf("%ld", &temp)

for(i=0i<Ni++)

{

if(temp==p[i].bianhao)

display((p+i))

}

puts("根据编号查找完成!!!")

}//////根据编号查询 ....其他的查找方法我没写,你可以补上

void findcpmingcheng(struct chanpin *p)

{}///////产品名称查找

void findcpdingjia(struct chanpin *p)

{}////产品定价查找

int menu()

{

int x

printf("根据公司名称输出订单输入 :\t c\n")

printf("根据编号查找输入:\t b\n")

printf("根据产品名称输入:\t m \n")

printf("根据定价查找输入:\t d \n")

printf("退出输入:\t e \n")

x=getchar()

getchar()

return x

}

void main()

{

struct chanpin *cp

int choic

int i

printf("请输入总书目:\t")

scanf("%d", &N)

cp=(struct chanpin *)malloc(N*sizeof(struct chanpin))

for(i=0i<Ni++)

init(cp+i)//初始化所有产品

for(i=0i<Ni++)

display(cp+i)///显示所有产品信息

choic=menu()

while(choic!='e')

{

if(choic=='c')

displaycompany(cp)/////调用公司查找

else if(choic=='b')

findbianhao(cp)///调用编号查找

else if(choic=='m')

findcpmingcheng(cp)////调用名称查找

else if(choic=='d')

findcpdingjia(cp)

else

printf("出入错误!\n")

choic=menu()

}

puts("感谢使用")

}

你这个题目无法实现的,因为折扣率应该是在知道原价的基础上的。目前给出条件不足。这里做个假设:如果输入是两个,折扣前和折扣的,那么可以计算,比如:float beforePayment,afterPaymentfloat percentagescanf("折扣前金额=%f",&beforePayment)scanf("折扣后金额=%f",&afterPayment)percentage=afterPayment/beforePaymentprintf("产品折扣率为:%.2f",percentage)//保留两位小数进行显示