c語言收銀系統
A. 誰可以幫我弄個c語言的程序 小超市收銀系統
這個做好用java寫吧
B. 求一個簡單的C語言超市收銀系統
這里沒有商品信息,需要自己編碼添加。
#include <stdio.h>
#include <string.h>
typedef struct ln //會員信息
{
char id[20];//會員賬號
char key[20];//會員密碼
int sum;//會員積分
struct ln *next;
} member;
struct lm//商品信息
{
int id;//商品編號
char name[50];//商品名稱
int stock;//商品庫存
} goods[1000];
member *registe(member *t);//注冊;
void buy();
int main()
{
member *head=(member *)malloc(sizeof(member));
strcpy(head->id, "0"), strcpy(head->key, "0");//超市管理員
head->next=NULL;
int i, a, n, boo=0;
while(1)
{
printf(" 注冊會員請按1:\n");
printf(" 會員直接登錄請按2:\n");
printf(" 退出請按0:\n");
scanf("%d", &a);
if(a==0) break;
if(a==1) head=registe(head);
else if(a==2) boo=login(head);
if(boo) break;
}
if(a && boo==1)
{
printf(" 尊貴的會員,您登錄成功!\n");
buy();
}
printf(" 已經安全退出\n");
}
member *registe(member *t)//注冊
{
printf(" 現在開始會員注冊\n\n");
char id[20], key[20];
member *p, *q, *r;
p=t;
while(p->next) p=p->next;//尋找鏈表中最後一個結點
while(1)
{
printf(" 請輸入您注冊的賬號,密碼:\n");
scanf("%s %s", id, key);
q=t;
while(q)//判斷該賬號是否已經被注冊
{
if(strcmp(q->id, id)==0) break;
else q=q->next;
}
C. C語言編寫的收銀台結算程序。
//以下是參考代碼有相似結構,數據結構自己設計一下。
//如果沒參考價值,手下留情,別點不採納。
#defineMAXPARKINGPOS100
#defineMAXPRICETYPE3
#defineMAXLINE4096
structdetail
{
charnum[MAXLINE];
charname[MAXLINE];
doublepricePerHour;
time_tstart;
time_tend;
doubleperiod;
doublecost;
};
staticintcurrentParkingNum=0;
staticstructdetaildetailBuf[MAXPARKINGPOS];
staticdoublepriceBuf[MAXPRICETYPE]={11.0,22.0,33.0};
intmain(void){
charbuf[MAXLINE];
structdetail*myParking;
intiChoice,leavingIndex,i,numEexisted;
structtm*begin,*end;
while(true){
selectService:
printf("Servicetype,whatisyourchoice? 1.park 2.leave 3.exit ");
gets(buf);
if(strcmp(buf,"3")==0){
return0;
}
if(strcmp(buf,"1")==0){
//park
if(currentParkingNum==MAXPARKINGPOS){
printf("Sorry,notempty! ");
continue;
}
myParking=detailBuf+currentParkingNum;
printf("yourname: ");
gets(myParking->name);
printf("yourparkingnum: ");
gets(myParking->num);
numEexisted=0;
for(i=0;i<currentParkingNum;i++){
if(strcmp(detailBuf[i].num,myParking->num)==0){
numEexisted=1;
break;
}
}
if(numEexisted!=0){
printf("Thecar%sisin ",myParking->num);
gotoselectService;
}
selectPrice:
printf("Servicecost,whatisyourchoice? ");
for(inti=0;i<MAXPRICETYPE;i++){
printf("%d.$%.2fperhour ",i+1,priceBuf[i]);
}
gets(buf);
iChoice=atoi(buf);
if(!(iChoice>=1&&iChoice<=MAXPRICETYPE)){
printf("Yourchoiceisincorrect! ");
gotoselectPrice;
}
myParking->pricePerHour=priceBuf[iChoice-1];
time(&myParking->start);
currentParkingNum++;
printf("Parckingok! ");
}elseif(strcmp(buf,"2")==0){
//leave
printf("yourparkingnum: ");
gets(buf);
myParking=NULL;
for(i=0;i<currentParkingNum;i++){
if(strcmp(detailBuf[i].num,buf)==0){
myParking=&detailBuf[i];
leavingIndex=i;
break;
}
}
if(myParking==NULL){
printf("Cannotfindyourcar! ");
continue;
}
myParking->end=time(&myParking->end);
myParking->period=difftime(myParking->end,myParking->start);
myParking->cost=myParking->period/3600.0*myParking->pricePerHour;
printf("******CostDetails****** ");
printf("name:%s ",myParking->name);
printf("number:%s ",myParking->num);
printf("price:%.2f ",myParking->pricePerHour);
begin=localtime(&myParking->start);
strftime(buf,sizeof(buf),"%Y-%m-%d%H:%M:%S",begin);
printf("begin:%s ",buf);
end=localtime(&myParking->end);
strftime(buf,sizeof(buf),"%Y-%m-%d%H:%M:%S",end);
printf("end:%s ",buf);
printf("period:%.2fhour(s) ",myParking->period/3600.0);
printf("cost:$%.2f ",myParking->cost);
printf("service:$%.2fperhour ",myParking->pricePerHour);
for(i=leavingIndex;i<currentParkingNum;i++){
if(i+1<currentParkingNum){
detailBuf[i]=detailBuf[i+1];
}
}
detailBuf[currentParkingNum-1].cost=0.0;
detailBuf[currentParkingNum-1].end=0;
detailBuf[currentParkingNum-1].name[0]='