求教大佬

weixin_44111878發表於2018-12-16

這是我的程式設計:
#include<stdio.h>
#include<string.h>
#include<windows.h>
#define K 10
int m=2;
struct work
{
char name[20];//商品名稱
char id[20];//商品編號
char time[20];//商品入庫時間
char nume[20];//商品價格
char place[20];//商品進貨地點
}work[200];

struct work wk[K]={{“巧克力”,“1”,“2018-02-05”,“15”,“重慶”},{“蘋果”,“2”,“2018-02-05”,“20”,“成都”}};//定義結構體陣列
void list();//定義選單函式
void input();//定義商品錄入函式
void del();//定義商品刪除函式
void find();//定義查詢函式
void change();//定義修改函式
void show();//定義顯示函式
void Exit();//定義退出函式
int main()
{
list();
return 0;
}

/選單函式/
void list()
{
int choose; //選擇數
system(“cls”);
printf("\t\t\t**********************************\n");
printf("\t\t\t*\t 商品管理系統\t\t \n");
printf("\t\t\t
*********************************\n\n");
printf("\t\t\t1-商品錄入\n");
printf("\t\t\t2-商品刪除\n");
printf("\t\t\t3-按單價排序\n");
printf("\t\t\t4-查詢商品\n");
printf("\t\t\t5-檢視所有商品\n");
printf("\t\t\t6-修改商品資訊\n");
printf("\t\t\t7-退出\n");
printf("\t\t\t\t請選擇(1~7):");
scanf("%d",&choose);
switch(choose)
{
case 1:input();break;
case 2:del();break;
case 3:find();break;
case 4:show();break;
case 5:change();break;
case 6:Exit();break;
default :list();break;
}//switch結束
}//函式結束

/退出函式/
void Exit()
{
char a;
system(“cls”);
printf("\t\t\t**********************************\n");
printf("\t\t\t*\t 商品管理系統\t\t \n");
printf("\t\t\t
*********************************\n\n");
printf("\t\t\t\t是否退出(y/n)\n?");
fflush(stdin);
scanf("%c",&a);
if(a==‘y’)
printf("\t\t\t\t謝謝您的使用!\n");
else
list();
}
/商品錄入函式/
void input()
{
char a;
system(“cls”);
printf(“是否進行商品錄入?(y/n)”);
fflush(stdin);
scanf("%c",&a);
while(a==‘y’)
{
printf(“請輸入商品名稱:”);
scanf("%d",&wk[m].name);
printf(“請輸入商品編號:”);
scanf("%s",&wk[m].id);
printf(“請輸入商品價格:”);
scanf("%d",&wk[m].nume);
printf(“請輸入商品進貨地點:”);
scanf("%d",&wk[m].place);
printf(“請輸入商品入庫時間(格式:年-月-日):”);
scanf("%d",&wk[m].time);
m++; //增加商品種數
printf(“是否繼續?(y/n)”);
fflush(stdin);
scanf("%c",&a);
}//結束whlie
list();
}//函式結束

/顯示函式/
void show()
{
int i;
char a;
system(“cls”);
printf(“商品名稱\t商品編號\t商品價格\t商品進貨地點\t商品入庫時間\n”);
for(i=0;i<m;i++)
{
printf("%4d\t\t%3s\t\t%4d\t\t%4d\t\t %d\n",wk[i].name,wk[i].id,wk[i].nume,wk[i].place,wk[i].time);
}//結束for
printf(“返回選單?(y/n)”);
fflush(stdin);
scanf("%c",&a);
if(a==‘y’)
list();
else
show();
}//函式結束

/查詢函式/
void find()
{
char NAME[15];
char a;
int i=0;
system(“cls”);
printf(“請輸入商品名:”);
scanf("%s",NAME);
while(strcmp(NAME,wk[i].name)!=0)
{
i++;
if(i>=m)
{
printf(“沒有您所需的商品,請3秒後重試\n”);
Sleep(3000);
find();
}//結束if
}//結束while
printf(“商品名稱\t商品編號\t商品價格\t商品進貨地點\t商品入庫時間\n”);
printf("%4d\t\t%3s\t\t%4d\t\t%4d\t\t %d\n",wk[i].name,wk[i].id,wk[i].nume,wk[i].place,wk[i].time);
printf(“查詢結束,繼續?(y/n):”);
fflush(stdin);
scanf("%c",&a);
if(a==‘y’)
find();
else
list();
}

/修改函式/
void change()
{
int i=0;
char b;
char a;
system(“cls”);
printf(“請輸入要修改的產品編號:”);
fflush(stdin);
scanf("%d",&b);
while(“b”!=wk[i].id)
{
i++;
if(i>=m)
{
printf(“沒有您所需的商品,請3秒後重試\n”);
Sleep(3000);
change();
}//結束if
}//結束while
fflush(stdin);
printf(“請輸入商品名稱:”);
scanf("%s",&wk[i].name);
printf(“請輸入商品價格:”);
scanf("%d",&wk[i].nume);
printf(“請輸入商品進貨地點:”);
scanf("%d",&wk[i].place);
printf(“修改結束,是否繼續(y/n)”);
fflush(stdin);
scanf("%c",&a);
if(a==‘y’)
change();
else
list();
}//函式結束

/商品刪除/
void del()
{

int i=0;
char b;
char a;
system("cls");// 
printf("請輸入要刪除的產品編號:");
fflush(stdin);
scanf("%d",&b);
while("b"!=wk[i].id)
{
	i++;
	if(i>=m)
	{
		printf("沒有您所需的商品,請3秒後重試\n");
		Sleep(3000);
		change();
	}//結束if
}//結束while
for(;i<m;i++)
{
	wk[i].id=wk[i+1].id;
	strcpy(wk[i].name,wk[i+1].name);
	wk[i].nume=wk[i+1].nume;
    wk[i].place=wk[i+1].place;
	wk[i].time=wk[i+1].time;
}
m--;//商品種數減一
printf("刪除成功,是否繼續(y/n)");
fflush(stdin);
scanf("%c",&a);
if(a=='y')
	del();
else 
	list();

}

/排序函式/
void sort()
{
struct work t;
char a;
system(“cls”);
for(int i=1;i<m;i++)
{
for(int j=0;j<m-i;j++)
{
if(wk[j].nume<wk[j+1].nume)
{
t=wk[j];
wk[j]=wk[j+1];
wk[j+1]=t;
}//結束if
}//結束for
}//結束for
printf(“商品名稱\t商品編號\t商品價格\t商品進貨地點\t商品入庫時間\n”);
for(int i=0;i<m;i++)
{
printf("%4d\t\t%3s\t\t%4d\t\t%4d\t\t %d\n",wk[i].name,wk[i].id,wk[i].nume,wk[i].place,wk[i].time);
}//結束for
printf(“返回選單?(y/n)”);
fflush(stdin);
scanf("%c",&a);
if(a==‘y’)
list();
else 在這裡插入圖片描述
sort();
}在這裡插入圖片描述
程式設計完後沒有報錯可是在程式驗證時出現錯誤
所呈現內容與編碼不符!!!!如何改正?求大佬指教,謝謝0.0

相關文章