综合性实验实验报告

时间:2020-11-09 09:13:37 手机站 来源:网友投稿

广 州 大 学

实 验 报 告

学 院 商学院

专业、班级 电子商务

姓名、学号

课程名称 C程序设计

项目名称 设计性实验

实验时间: 2012 年 6 月 12 日

设计性实验 实验报告

开课实验室:

2012年6月12日

第1页

学院

年级、专业、班

11电子商务

姓名

陈梓君

成绩

课程

名称

C程序设计

实验项目

名 称

设计性实验

指导教师

签名

一、实验目的

掌握各种程序设计技术的综合应用方法;

掌握对实际应用中的一个具体问题进行需求分析的方法;

掌握采用结构化方法进行简单的系统分析与设计的方法;

培养学生设计一个完整的小应型用系统的能力。

实验原理(算法分析(包括流程图))

运用结构体、指针和调用函数对仓库的数据进行管理。

Sum函数运用:

订 线 装

线

shanchu函数运用:

shanchu函数运用:

Zengjia函数首先要确定增加产品的数目;最后要return(n+m);

三、实验过程原始记录(数据、图表、计算等)

#include "stdafx.h"

#include <conio.h>

#include <stdlib.h>

#include<stdio.h>

#include<string.h>

struct chanpin

{

int huowuhao;

char huowuming[20];

char changjia[20];

float jiage;

int shuliang;

char shengchanriqi[80];

char jinhuoriqi[80];

};

第2页

第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<conio.h>

if(ch=='8')

break;

system("cls"); //#include<stdlib.h>

switch(ch)

{

case '1':

save (huo,input(huo));

break;

线 装 订

线

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<n;i++)

scanf("%d %s %s %f %d %s %s",&huo[i].huowuhao,huo[i].huowuming,huo[i].changjia,&huo[i].jiage,

&huo[i].shuliang,huo[i].shengchanriqi,huo[i].jinhuoriqi);

return (n);

}

int sum(chanpin huo[],int n)

{

float z;

int i;

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

z=z+huo[i].jiage*huo[i].shuliang;

printf("货物的总价值:%f\n",z);

getch();

return 0;

}

int Load(chanpin huo[],int n)

{

FILE *fp;

if((fp=fopen("huo.txt","a+"))==NULL)

{

printf("不能打开文件!\n");

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 file\n");

return;

}

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

if(fwrite(&huo[i],sizeof(struct chanpin ),1,fp)!=1)

printf("file write error\n");

printf("储存成功!!\n");

fclose(fp);

}

int shanchu(chanpin huo[],int n)

{

char s[20];

char ch;

int i,j,flag=0;

system("cls");

printf("请输入要删除的产品名称\n");

scanf("%s",s);

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

{

if(strcmp(s,huo[i].huowuming)==0)

{

flag=1;

system("cls");

printf("\n\n要删除的产品信息如下:\n");

printf("\n");

printf("货物号 货物名 生产厂家 价格 数量 生产日期 进货日期\n");

printf("%d %s %s %f %d %s %s\n",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')

{

for(j=i;j<n-1;j++) huo[j]=huo[j+1];

n=n-1;

i--;

printf ("删除成功.\n");

}

}

}

if(flag==0)

printf("要删除的产品不存在!!\n");

getch();

return n;

}

int xiugai(chanpin huo[],int n)

{

int i,flag=0;

char s[20],ch;

system("cls");

printf("请输入要修改的产品名称\n");

scanf("%s",s);

for(i=0;i<n;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 %s\n",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)

{

int i,m;

system("cls");

printf("\n请输入再增加的产品数:\n");

scanf("%d",&m);

printf("开始追加记录\n");

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

{ system("cls");

printf("\n第%d个产品的货物号:",i+1);

scanf("%d",&huo[i].huowuhao);

printf("第%d个货物的货物名:",i+1);

scanf("%s",huo[i].huowuming);

printf("第%d个生产厂家:",i+1);

scanf("%s",&huo[i].changjia);

printf("第%d个产品的价格:",i+1);

scanf("%f",&huo[i].jiage);

printf("第%d个产品的数量:",i+1);

scanf("%d",&huo[i].shuliang);

printf("第%d个产品的生产日期:",i+1);

scanf("%s",huo[i].shengchanriqi);

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<n;i++)

{

printf("%d %s %s %f %d %s %s\n",huo[i].huowuhao,huo[i].huowuming,huo[i].changjia,huo[i].jiage,

huo[i].shuliang,huo[i].shengchanriqi,huo[i].jinhuoriqi);

}

printf ("\n");

getchar();

}

四、实验结果及分析

1程序启动:

2输入产品信息:

3计算产品总价值:

打印产品列表:

4删除产品信息:

1.

产品列表:

按N,信息没有删除。

2

产品列表:

产品信息成功删除。

5增加产品信息:

产品列表:

6 修改产品信息:

产品列表:

7退出程序:

在写调用函数声明的前面“{ }“后要加上“;“否则出现错误“error C2236: unexpected 'struct' 'chanpin’”

五、附录(自己实现的源代码)

#include "stdafx.h"

#include <conio.h>

#include <stdlib.h>

#include<stdio.h>

#include<string.h>

struct chanpin

{

int huowuhao;

char huowuming[20];

char changjia[20];

float jiage;

int shuliang;

char shengchanriqi[80];

char jinhuoriqi[80];

};

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<conio.h>

if(ch=='8')

break;

system("cls"); //#include<stdlib.h>

switch(ch)

{

case '1':

save (huo,input(huo));

break;

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<n;i++)

scanf("%d %s %s %f %d %s %s",&huo[i].huowuhao,huo[i].huowuming,huo[i].changjia,&huo[i].jiage,

&huo[i].shuliang,huo[i].shengchanriqi,huo[i].jinhuoriqi);

return (n);

}

int sum(chanpin huo[],int n)

{

float z;

int i;

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

z=z+huo[i].jiage*huo[i].shuliang;

printf("货物的总价值:%f\n",z);

getch();

return 0;

}

int Load(chanpin huo[],int n)

{

FILE *fp;

if((fp=fopen("huo.txt","a+"))==NULL)

{

printf("不能打开文件!\n");

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 file\n");

return;

}

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

if(fwrite(&huo[i],sizeof(struct chanpin ),1,fp)!=1)

printf("file write error\n");

printf("储存成功!!\n");

fclose(fp);

}

int shanchu(chanpin huo[],int n)

{

char s[20];

char ch;

int i,j,flag=0;

system("cls");

printf("请输入要删除的产品名称\n");

scanf("%s",s);

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

{

if(strcmp(s,huo[i].huowuming)==0)

{

flag=1;

system("cls");

printf("\n\n要删除的产品信息如下:\n");

printf("\n");

printf("货物号 货物名 生产厂家 价格 数量 生产日期 进货日期\n");

printf("%d %s %s %f %d %s %s\n",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')

{

for(j=i;j<n-1;j++) huo[j]=huo[j+1];

n=n-1;

i--;

printf ("删除成功.\n");

}

}

}

if(flag==0)

printf("要删除的产品不存在!!\n");

getch();

return n;

}

int xiugai(chanpin huo[],int n)

{

int i,flag=0;

char s[20],ch;

system("cls");

printf("请输入要修改的产品名称\n");

scanf("%s",s);

for(i=0;i<n;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 %s\n",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)

{

int i,m;

system("cls");

printf("\n请输入再增加的产品数:\n");

scanf("%d",&m);

printf("开始追加记录\n");

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

{ system("cls");

printf("\n第%d个产品的货物号:",i+1);

scanf("%d",&huo[i].huowuhao);

printf("第%d个货物的货物名:",i+1);

scanf("%s",huo[i].huowuming);

printf("第%d个生产厂家:",i+1);

scanf("%s",&huo[i].changjia);

printf("第%d个产品的价格:",i+1);

scanf("%f",&huo[i].jiage);

printf("第%d个产品的数量:",i+1);

scanf("%d",&huo[i].shuliang);

printf("第%d个产品的生产日期:",i+1);

scanf("%s",huo[i].shengchanriqi);

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<n;i++)

{

printf("%d %s %s %f %d %s %s\n",huo[i].huowuhao,huo[i].huowuming,huo[i].changjia,huo[i].jiage,

huo[i].shuliang,huo[i].shengchanriqi,huo[i].jinhuoriqi);

}

printf ("\n");

getchar();

}

六、联系方式(e-mail)

第19页

推荐访问:实验报告 实验 综合性 报告 综合性实验实验报告

版权声明 :以上文章中选用的图片文字均来源于网络或用户投稿 ,如果有侵权请立即联系我们 , 我们立即删除 。