30/09/2018, 21:35

Code không chạy được trên DevC mặc dù chạy được trên Borland C

Mọi người cho em hỏi đoạn code này em đã chạy được thành công trên BORLAND C mà Lên DEV thì lại không chạy được lệnh Mã hàng. Mọi người giúp em

#include <stdio.h>
#include <conio.h>
#include <string.h>
struct mathang
{
	char mahang[11];
	char tenhang[11];  
	int soluong;
	float dongia;
};
typedef struct mathang mh;
void nhapmh(mh &x)
{
	
	printf("Ma mat hang: ");	gets(x.mahang);
	printf("Ten mat hang: ");	gets(x.tenhang);
	do{
		printf("So luong: ");	scanf("%d",&x.soluong);
		if(x.soluong<1)
			printf("
Nhap lai!!!");
	}while(x.soluong<1);
	float t;
	do{
		printf("Don gia( ngan VND): ");	scanf("%f",&t);
		if(t<0)
			printf("
Nhap lai!!!");
	}while(t<0);
	x.dongia=t;
}
void xuatmh(mh x)
{
	printf("%s	%s	%d	%.1f ngan VND
",x.mahang,x.tenhang,x.soluong,x.dongia);
}
void nhapds(mh a[],int n)
{
	for(int i=0;i<n;i++)
	{
		printf("Nhap mat hang thu %d:
 ",i+1);
		nhapmh(a[i]);
	}
}
void xuatds(mh a[],int n)
{
	for(int i=0;i<n;i++)
	{
		printf("%d--",i+1);
		xuatmh(a[i]);
	}
}
void slhon10(mh a[],int n)
{
	int flag=0;
	for(int i=0;i<n;i++)
	{
		if(a[i].soluong>10)
		{
			xuatmh(a[i]);
			flag=1;
		}
	}
	if(flag==0)
		printf("Khong co mat hang nao so luong hon 10!!!");

}
float tonggiatri(mh a[],int n)
{
	float s=0;
	for(int i=0;i<n;i++)
	{
		s=s+a[i].dongia*a[i].soluong;
	}
	return s;
}
float max(mh a[],int n)
{
	float max=a[0].dongia;
	for(int i=1;i<n;i++)
	{
		if(max<a[i].dongia)
			max=a[i].dongia;
	}
	return max;
}
void dongiamax(mh a[],int n)
{
	for(int i=0;i<n;i++)
	{
		if(a[i].dongia==max(a,n))
			xuatmh(a[i]);
	}
}
int mhdautien(mh a[],int n)
{
	for(int i=0;i<n;i++)
	{
		if(a[i].soluong>10)
			return i;
	}
	return -1;
}
int timmh(mh a[],int n, char k[11])
{
	for(int i=0;i<n;i++)
		if(strcmp(a[i].mahang,k)==0)
			return i;
	return -1;
}
void sapxepdongia(mh a[],int n)
{
	mh tam;
	for(int i=0;i<n;i++)
		for(int j=i+1;j<n;j++)
			if(a[i].dongia>a[j].dongia)
			{
				tam=a[i];
				a[i]=a[j];
				a[j]=tam;
			}
	xuatds(a,n);
}
void sapxeptheoten(mh a[],int n)
{
	mh tam;
	for(int i=0;i<n;i++)
		for(int j=i+1;j<n;j++)
		{
			if(strcmp(a[i].tenhang,a[j].tenhang)>0)
			{
				tam=a[i];
				a[i]=a[j];
				a[j]=tam;
			}
		}
	xuatds(a,n);
}
void themcuoi(mh a[],int &n,mh h)
{
	a[n]=h;
	n++;
	xuatds(a,n);
}
void thembatki(mh a[],int &n,mh r,int vt)
{
	for(int i=n;i>vt;i--)
		a[i]=a[i-1];
	a[vt]=r;
	n++;
	xuatds(a,n);
}
void xoabatki(mh a[],int &n,int vt1)
{
	for(int i=vt1;i<n;i++)
		a[i]=a[i+1];
	n--;
	xuatds(a,n);
}
int main()
{
	
	int n;
	mh a[100];
	do{
		printf("Nhap so luong mat hang: ");     scanf("%d",&n);
		if(n<1)
			printf("Nhap lai!!!
");
	}while(n<1);
	nhapds(a,n);
	printf("
Danh sach mat hang--------
");
	xuatds(a,n);
       	printf("
Cac mat hang so luong hon 10la: 
");
	slhon10(a,n);
	float s=tonggiatri(a,n);
	printf("
Tong gia tri don hang la: %.1f ngan VND",s);
	printf("
Cac mat hang co don gia cao nhat la: 
");
	dongiamax(a,n);
	printf("
Mat hang dau tien co so luong >10:
");
	int b=mhdautien(a,n);
	if(b==-1)
		printf("	Khong co mat hang nao co so luong >10!!!");
	else
		xuatmh(a[b]);
	char k[11];
	
	printf("
Tim mat hang co ma: ");
	gets(k);
	int l=timmh(a,n,k);
	if(l==-1)
		printf("	Khong tim thay!!!");
	else
		xuatmh(a[l]);
	printf("
Sap xep mat hang theo don gia----
");
	sapxepdongia(a,n);
	printf("
Sap xep mat hang theo ten -------
");
	sapxeptheoten(a,n);
	printf("
Them 1 mat hang vao cuoi danh sach
");
	mh h;
	nhapmh(h);
	printf("
Ket qua-----
");
	themcuoi(a,n,h);
	printf("
Them mat hang tai vi tri k--------
");
	mh r;
	nhapmh(r);
	int vt;
	printf("
vi tri: ");	scanf("%d",&vt);
	thembatki(a,n,r,vt);
	printf("
Xoa bat ki--------
");
	int vt2;
	printf("
Vitri: ");	scanf("%d",&vt2);
	xoabatki(a,n,vt2);
	printf("

						DEATH");
	getch();
}
Bài liên quan
0