本文目錄一覽:
輸入一個條碼判斷是不是教材教材的條碼規則為長度13位前綴9787用c語言編程求解答
按照問題,程序應包含以下功能:
一、條碼字元串輸入及驗證。
二、前綴字元串和條碼字元串比較,方法很多:
1、可遍歷字元串單字元比較。
2、將條碼字元串第5個字元置0,然後用strcmp函數比較。
3、在輸入條碼字元串同時驗證前4位的輸入。
下面用兩種方式代碼演示:
#includestdio.h
#includestring.h
#define M 13//條碼最大位數
#define N 4//規則前綴位數
#define NS “9787”//前綴,位數必須與N對應
int inputAndCheck(char str1[],char str2[]);//方法一:輸入的同時比較(自帶位數限制)。是返回1,不是返回0
int checkStr(char str1[],char str2[]);//方法二:輸入後比較用字元串函數比較(自帶位數檢測,小於M位返回0,多餘13位截取),是返回1,不是返回0
int main()
{
char s1[N+1]=NS,s2[M+1]={0};
printf(“方法一:輸入同時比較\n”);
if(inputAndCheck(s1,s2))printf(“前%d位字元%s是教材條碼\n”,M,s2);
else printf(“前%d位字元%s不是是教材條碼\n”,M,s2);
printf(“\n方法二:輸入後比較用字元串函數比較\n”);
memset(s2,0,sizeof(char)*(M+1));//同一個變數用於兩種方法演示,這裡清空一下,實際代碼可刪除!!
printf(“演示用的scanf函數輸入,請不要超出%d位:”,M),scanf(“%s”,s2);//注意:checkStr函數會檢測參數長度,但這裡用scanf輸入,其本身不能數組越界
if(checkStr(s1,s2))printf(“前%d位字元%s是教材條碼\n”,M,s2);
else printf(“前%d位字元%s不是是教材條碼\n”,M,s2);
return 0;
}
int checkStr(char str1[],char str2[])
{
char cSave;
int flag=0;
if(strlen(str2)M) return flag;
cSave=str2[N];
str2[N]=0;
flag=strcmp(str1,str2);
str2[N]=cSave;
str2[M]=0;//多餘截取
return !flag;
}
int inputAndCheck(char str1[],char str2[])
{
int i=0,flag=1;
printf(“輸入13位(多餘位數將被忽略):”);
while(iM)
{
str2[i]=getchar();
if(str2[i]==’\n’) continue;//位數不足,跳過回車鍵繼續輸入
if(iN str1[i]!=str2[i]) flag=0;
i++;
}
str2[M]=0;
while(getchar()!=’\n’);//清空輸入緩存,避免干擾後續字元串輸入
return flag;
}
怎麼樣用C語言做條形碼
就是生成一組數字,把數字列印出來就ok了,不過具體是有難度的沒用c沒寫過這個
怎樣用C語言做一個條形碼
現在你完全不需要用C語言去寫啊,因為現在的軟體是很方便的啊,如果你要用,那我就給你介紹一寬軟體
名字年可以搜索超級記事本就可以下載的啊
!
條碼生成C語言編程
我可以給你個思路,第一步去找到你要的二維碼的規範,第二步把數據按照規範轉化為二維數組,第三步,把二維數組按照圖形文件的規範用二進位儲存為圖片
參考資料:
原創文章,作者:DXYO,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/134277.html