求热心人士相助,下面的程序怎么改才是对的啊?
error吧
全部回复
仅看楼主
level 1
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "conio.h"
int i; void readpi();
void inssortpi();
void charu();
void shanchu();
struct pi
{
int pno;
char pname[20];
int pnum;
float pcharge;
int pxse;
}pi[40];
void readpi()
{
FILE *fp;int i;
if((fp=fopen("pi.txt","rb"))==NULL)
{
printf("cannot open this file\n");
getch();
exit(0);
}
for(i=0;i<=40;i++)
{
fseek(fp,i*sizeof(struct pi),0);
fread(&pi[40],sizeof(struct pi),1,fp);
printf("%4d%-10s%4d%f%4d\n",pi[40].pno,pi[40].pname,pi[40].pnum,pi[40].pcharge,pi[40].pxse);
}
fclose(fp); } typedef int keytype;
typedef struct{
keytype key;}recordtype[]; void inssortpi(recordtype r[40],struct pi[40])
{
int i,j;
for(i=2;i<=40;i++)
{
r[0]=r[i];
j=i-1;
while(r[0]<r[j])
{
r[j+1]=r[j];
j=j-1;
}
r[j+1]=r[0];
}
}
void charu()
{
int i;
int n=40;
do
{
printf("请输入要插入的商品编号:pno=?");
scanf("%d",&pi[i].pno);
if(pi[i].pno==0)
break;
printf("请输入要插入的商品名称:pname=?");
scanf("%s",&pi[i].pname);
printf("请输入要插入的商品销售数量:pnum=?");
scanf("%d",&pi[i].pnum);
printf("请输入要插入的商品单价:pcharge=?");
scanf("%f",&pi[i].pcharge);
printf("请输入要插入的商品销售总额:pxse=?");
scanf("%d",&pi[i].pxse);
n++;
}
while(1);
}
void shanchu()
{
int pno,n;
do
{
printf("请输入要删除的商品编号:pno=?");
scanf("%d",&pno);
if(pno!=pi[i].pno)
break;
pi[i].pno=NULL;pi[i].pname=NULL;pi[i].pnum=NULL;
pi[i].pcharge=NULL;pi[i].pxse=NULL;
pi[i].pno+1=pi[i].pno;
n=n--;
}
while(1);
}
void main()
{
char as;
start:printf("\t\t欢迎进入超市商品销售统计系统\n");
do
{
printf("\n\t\t1商品详情\n\t\t2商品排序\n\t\t3插入商品\n\t\t4删除商品\n\t\t5退出\n");
printf("\t\t选择功能选项:\n");
as=getch();
switch(as)
{
case'1':
system("cls");
readpi();
break;
case'2':
system("cls");
inssortpi();
break;
case'3':
system("cls");
charu();
break;
case'4':
system("cls");
shanchu();
break;
case'5':
system("exit");
exit(0);
default:
system("cls");
goto start;
}
while(1);
}
}
错误提示是:
22数据库设计.cpp
E:\数据库课程设计\新建文件夹\22数据库设计.cpp(42) : error C2087: '<Unknown>' : missing subscript
E:\数据库课程设计\新建文件夹\22数据库设计.cpp(47) : error C2106: '=' : left operand must be l-value
E:\数据库课程设计\新建文件夹\22数据库设计.cpp(51) : error C2106: '=' : left operand must be l-value
E:\数据库课程设计\新建文件夹\22数据库设计.cpp(54) : error C2106: '=' : left operand must be l-value
E:\数据库课程设计\新建文件夹\22数据库设计.cpp(92) : error C2440: '=' : cannot convert from 'const int' to 'char [20]'
There are no conversions to array types, although there are conversions to references or pointers to arrays
E:\数据库课程设计\新建文件夹\22数据库设计.cpp(94) : error C2106: '=' : left operand must be l-value
E:\数据库课程设计\新建文件夹\22数据库设计.cpp(137) : error C2059: syntax error : '}'
执行 cl.exe 时出错. 22数据库设计.obj - 1 error(s), 0 warning(s)
2013年06月14日 09点06分 1
level 1
来砸高频彩,收集大神选号杀号,实际中奖率93%,理性购彩,3小时赢300!
接待群↓↓vq2
百 竖→①
百 着→③
百 看→③
百 群→②
百 号→③
百 哦→①
百 !→⑨
百 !→①
百 !→⑥
2013年06月14日 11点06分 2
1