综合性实验实验报告
广 州 大 学 实 验 报 告 学 院 商学院 专业、班级 电子商务 姓名、学号 课程名称 C 程序设计 项目名称 设计性实验 实验时间:
2012 年 6 月 12 日
设计性实验 实验报告 开课实验室:
2 0 1 2 年 6 月 1 2 日 第1页 学院 商 年级、专业、班 11 电子商务 姓名 陈梓君 成绩 课程 名称 C 程序设计 实验项目 名 称 设计性实验 指导教师 签名 一、实验目的 1.掌握各种程序设计技术的综合应用方法; 2.掌握对实际应用中的一个具体问题进行需求分析的方法; 3.掌握采用结构化方法进行简单的系统分析与设计的方法; 4.培养学生设计一个完整的小应型用系统的能力。
二、实验原理(算法分 析(包括流程图))运用结构体、指针和调用函数对仓库的数据进行管理。
Sum 函数运用:
输入i=0,z=0,ni 第2页 shanchu 函数运用: 输入要删除的产品名称确定删除信息删除n=n-1i=i-1YN Zengjia 函数首先要确定增加产品的数目;最后要 return(n+m); 三、实验过程原始记录(数据、图表、计算等)#include "stdafx.h" #include 第3页 struct chanpin huo[];int input(struct chanpin huo[]);int sum(struct chanpin huo[],int n);void save(struct chanpin huo[],int n);int Load(struct chanpin huo[],int n=0);int Load1(struct chanpin huo[],int n=0);int shanchu(struct chanpin huo[],int n);int xiugai(struct chanpin huo[],int n);int zengjia(struct chanpin huo[],int n);void list(struct chanpin huo[],int n);void main(){ struct chanpin huo[50];char ch;int length;while(1){ system("cls");printf("1.输入货物信息:n");printf("2.货物的总价值:n");printf("3.储存厂商信息:n");printf("4.删除产品信息:n");printf("5.修改产品信息:n");printf("6.增加产品信息:n");printf("7.打印列表:n");printf("8.退出n");ch=getch();//#include case "2": length=Load(huo);sum(huo,length);break;case "3": length=Load(huo);save(huo,length);break;case"4": length=Load(huo);length=shanchu(huo,length);save(huo,length);break;case"5": length=Load(huo);length=xiugai(huo,length);save(huo,length);break;case"6": length=Load(huo);length=zengjia(huo,length);save(huo,length);break;case"7": list(huo, Load(huo));break;} } } int input(chanpin huo[]){ int i,n;system("cls");printf("n 请输入要输入的产品数目:n");scanf("%d",&n);printf("输入厂商信息:n 货物号 货物名 生产厂家 价格 数量 生产日期 进货日期n");for(i=0;i } int sum(chanpin huo[],int n){ float z;int i;for(i=0,z=0;i void save(struct chanpin huo[],int n){ FILE*fp;int i;if((fp=fopen("huo.txt","wb"))==NULL){ printf("cannot open filen");return;} for(i=0;i { for(j=i;j printf("请输入产品新的名称:");scanf("%s",huo[i].huowuming);printf("请输入%s 产品新的货物号:",huo[i].huowuming);scanf("%d",&huo[i].huowuhao);printf("请输入%s 产品新的生产厂家:",huo[i].huowuming);scanf("%s",&huo[i].changjia);printf("请输入%s 产品新的价格:",huo[i].huowuming);scanf("%f",&huo[i].jiage);printf("请输入%s 产品新的数量:",huo[i].huowuming);scanf("%d",&huo[i].shuliang);printf("请输入%s 产品新的生产日期:",huo[i].huowuming);scanf("%s",huo[i].shengchanriqi);printf("请输入%s 产品新的进货日期:",huo[i].huowuming);scanf("%s",huo[i].jinhuoriqi);} } } if(flag==0)printf("要修改的产品不存在!n");getchar();return n;} int zengjia(chanpin huo[],int n){ int i,m;system("cls");printf("n 请输入再增加的产品数:n");scanf("%d",&m);printf("开始追加记录n");for(i=n;i printf("第%d 个产品的进货日期:",i+1);scanf("%s",huo[i].jinhuoriqi);} return(n+m);} void list(chanpin huo[],int n){ int i;printf("货物号 货物名 生产厂家 价格 数量 生产日期 进货日期n");for(i=0;i 2 输入产品信息: 3 计算产品总价值: 打印产品列表: 4 删除产品信息: 1.产品列表: 按 N,信息没有删除。 2 产品列表: 产品信息成功删除。 5 增加产品信息: 产品列表: 6 修改产品信息: 产品列表: 7 退出程序: “ 在写调用函数声明的前面“{ } “后要加上“;“否则出现错误“error C2236: unexpected "struct" "chanpin’ ” 五、附录(自己实现的源代码)#include "stdafx.h" #include { struct chanpin huo[50];char ch;int length;while(1){ system("cls");printf("1.输入货物信息:n");printf("2.货物的总价值:n");printf("3.储存厂商信息:n");printf("4.删除产品信息:n");printf("5.修改产品信息:n");printf("6.增加产品信息:n");printf("7.打印列表:n");printf("8.退出n");ch=getch();//#include length=Load(huo);length=zengjia(huo,length);save(huo,length);break;case"7": list(huo, Load(huo));break;} } } int input(chanpin huo[]){ int i,n;system("cls");printf("n 请输入要输入的产品数目:n");scanf("%d",&n);printf("输入厂商信息:n 货物号 货物名 生产厂家 价格 数量 生产日期 进货日期n");for(i=0;i exit(1);} while(fread(&huo[n],sizeof(struct chanpin),1,fp))n++;fclose(fp);printf("从文件中成功读出记录!!n");return n;} int Load1(chanpin huo[],int n){ FILE *fp;if((fp=fopen("bkhuo.txt","a+"))==NULL){ printf("不能打开文件!n");exit(1);} while(fread(&huo[n],sizeof(struct chanpin),1,fp))n++;fclose(fp);printf("从文件中成功读出记录!!n");return n;} void save(struct chanpin huo[],int n){ FILE*fp;int i;if((fp=fopen("huo.txt","wb"))==NULL){ printf("cannot open filen");return;} for(i=0;i system("cls");printf("请输入要删除的产品名称n");scanf("%s",s);for(i=0;i if(strcmp(s,huo[i].huowuming)==0){ flag=1;system("cls");printf("n 要删除的产品信息如下:n");printf("n");printf("货物号 货物名 生产厂家 价格 数量 生产日期 进货日期n");{ printf("%d %s %s %f %d %s %sn",huo[i].huowuhao,huo[i].huowuming,huo[i].changjia,huo[i].jiage, huo[i].shuliang,huo[i].shengchanriqi,huo[i].jinhuoriqi);} printf("n");printf("确定修改产品信息吗?(Y/N)n");ch=getchar();ch=getchar();if(ch=="y"||ch=="Y"){ system("cls");printf("请输入修改后的信息:n");printf("请输入产品新的名称:");scanf("%s",huo[i].huowuming);printf("请输入%s 产品新的货物号:",huo[i].huowuming);scanf("%d",&huo[i].huowuhao);printf("请输入%s 产品新的生产厂家:",huo[i].huowuming);scanf("%s",&huo[i].changjia);printf("请输入%s 产品新的价格:",huo[i].huowuming);scanf("%f",&huo[i].jiage);printf("请输入%s 产品新的数量:",huo[i].huowuming);scanf("%d",&huo[i].shuliang);printf("请输入%s 产品新的生产日期:",huo[i].huowuming);scanf("%s",huo[i].shengchanriqi);printf("请输入%s 产品新的进货日期:",huo[i].huowuming);scanf("%s",huo[i].jinhuoriqi);} } } if(flag==0)printf("要修改的产品不存在!n");getchar();return n;} int zengjia(chanpin huo[],int n) 第19页 { int i,m;system("cls");printf("n 请输入再增加的产品数:n");scanf("%d",&m);printf("开始追加记录n");for(i=n;i
