‘壹’ c语言打小票,怎么编辑啊
C语言只是编程语言,打小票你要看建立在什么硬件基础上,比如用单片机,c语言控制单片机串口按照串口打印机指令要求输出数据到打印机串口上就能打印出小票
‘贰’ c语言打印购物小票问题
除了实收多少,还有物品名称(字符串)、单价(float)、数量(整形)
‘叁’ 在c语言中 aver = &ave和*aver = ave有什么区别吗
区别很大。
int *aver;
这相当于是超市存包柜打印出来的小票,上面可以标柜子的编号;*aver指的是小票上的编号所对应那个柜子
int ave;
这相当于是超市的存包柜,而&ave表示的是这个柜子的编号
aver=&ave;
把小票上的编号改为ave这个柜子的编号
此时*aver和ave就是一样的了
而
*aver=ave
是什么意思呢?就是把ave那个柜子里的东西复制一份,装到小票上的编号所对应的那个柜子里的东西。这里有一个问题,就是小票上对应的是哪个柜子?如果之前没有指定,那么这时就出错了
‘肆’ C语言编写“超市结账系统” 急急急!!!
#include
<stdio.h>
#include
<fstream>
#include
<iostream>
#include
<string>
#include
<vector>
#include
<assert.h>
using
namespace
std;
//
Item
info
base
class
class
ItemInfo{
public:
ItemInfo(){}
ItemInfo(string
barcode,
string
name,
float
price)
{
this->barcode
=
barcode;
this->name
=
name;
this->price
=
price;
}
ItemInfo(string
barcode)
{
this->barcode
=
barcode;
}
void
Display()
{
cout
<<
barcode
<<"\t"<<name<<"\t"<<price<<
endl;
}
void
Input()
{
cout
<<
"输入条形码:"
<<
endl;
cin
>>
barcode;
cout
<<
"输入名称:"
<<
endl;
cin
>>
name;
cout
<<
"输入价格:"
<<
endl;
cin
>>
price;
}
void
Modify()
{
cout
<<
"输入名称:"
<<
endl;
cin
>>
name;
cout
<<
"输入价格:"
<<
endl;
cin
>>
price;
}
friend
ostream&
operator<<(ostream&
stream,
ItemInfo&
item){
stream
<<
item.barcode
<<'\t'<<
item.price
<<'\t'<<
item.name<<endl;
return
stream;
}
friend
istream&
operator>>(istream&
stream,
ItemInfo&
item){
stream
>>
item.barcode
>>
item.price
>>
item.name;
return
stream;
}
public:
string
barcode;
string
name;
float
price;
};
//
Interface
class
class
DataProvider{
public:
virtual
void
GetFullData(string
barcode,
string&
name,
float&
price)
=
0;
};
//
Purchase
item
class
class
ItemPurchaseInfo
:
public
ItemInfo{
public:
ItemPurchaseInfo():ItemInfo(){}
ItemPurchaseInfo(string
barcode,
int
count=1)
:
ItemInfo(barcode)
{
this->count
=
count;
}
//
Rember
to
call
this
when
barcode
set
void
GetFullData(DataProvider&
aPro)
{
aPro.GetFullData(barcode,
name,
price);
}
void
Input()
{
cout
<<
"输入条形码:"
<<
endl;
cin
>>
barcode;
cout
<<
"输入数量:"
<<
endl;
cin
>>
count;
}
void
Display()
{
cout
<<
barcode
<<"\t"<<name<<"\t"<<price<<"\t"<<count<<
endl;
}
public:
string
barcode;
int
count;
};
//
Item
list
class
class
ItemList
{
public:
ItemList(){items.clear();}
friend
ostream&
operator<<(ostream&
stream,
ItemList&
list){
unsigned
int
count
=
list.items.size();
stream
<<count<<endl;
for(unsigned
int
i(0);i<count;i++)
stream<<
list.items.at(i);
return
stream;
}
friend
istream&
operator>>(istream&
stream,
ItemList&
list){
unsigned
int
count(0);
stream
>>count;
list.items.clear();
for(unsigned
int
i(0);i<count;i++){
ItemInfo
item;
stream
>>
item;
list.items.insert(list.items.end(),
item);
}
return
stream;
}
void
Add(ItemInfo
item)
{
items.insert(items.end(),
item);
}
void
Modify()
{
string
barcode;
cout
<<
"输入条形码:"
<<
endl;
cin
>>
barcode;
for(unsigned
int
i(0);i<items.size();i++)
{
if(items.at(i).barcode
==
barcode
)
{
items.at(i).Modify();
}
}
}
public:
vector<ItemInfo>
items;
};
//
Purchase
item
list
class
class
PurchaseItemList
{
public:
PurchaseItemList(){items.clear();}
void
Add(ItemPurchaseInfo
item)
{items.insert(items.end(),
item);}
public:
vector<ItemPurchaseInfo>
items;
};
//
Implements
the
interface
class
class
Cashier
:
public
DataProvider
{
public:
Cashier()
:
purchase(),
stock(){}
~Cashier(){}
public:
//
User
funcs
void
CheckIn(){
purchase.items.clear();
int
opt(0);
do
{
unsigned
int
i(0);
ItemPurchaseInfo
ipi;
ipi.Input();
purchase.Add(ipi);
cout
<<
"按0退出,任意键继续"
<<
endl;
cin
>>
opt;
}
while(opt);
}
void
CheckOut(){
for(unsigned
int
i(0);
i
<
purchase.items.size();
i++)
{
purchase.items.at(i).GetFullData(
*this
);
}
float
checkin(0);
cout
<<
"输入收款数:"
<<
endl;
cin
>>
checkin;
DisplayList(checkin);
}
void
Display()
{
cout
<<
endl<<"商品清单
"<<
stock.items.size()
<<
endl;
cout
<<"--------------------------------------"
<<
endl;
for(unsigned
int
i(0);i<
stock.items.size();
i++){
stock.items.at(i).Display();
}
cout
<<"--------------------------------------"
<<
endl;
}
void
DisplayList(float
checkin)
{
cout
<<
endl<<"购物小票清单"
<<
endl;
cout
<<"--------------------------------------"
<<
endl;
float
total(0.0);
for(unsigned
int
i(0);
i
<
purchase.items.size();
i++)
{
purchase.items.at(i).Display();
total
+=
purchase.items.at(i).price
*
purchase.items.at(i).count;
}
cout
<<"--------------------------------------"
<<
endl;
cout
<<"货款合计:"<<
total
<<
"元"
<<
endl;
cout
<<"收款数:"<<
checkin
<<
"元"
<<
endl;
float
change(checkin-total);
assert(
change
>=
0.0);
cout
<<"找零:"<<
change
<<
"元"
<<
endl<<
endl;
}
friend
ostream&
operator<<(ostream&
stream,
Cashier&
c){
stream
<<
c.stock;
return
stream;
}
friend
istream&
operator>>(istream&
stream,
Cashier&
c){
c.stock.items.clear();
stream
>>
c.stock;
return
stream;
}
public:
//
interface
func
void
GetFullData(string
barcode,
string&
name,
float&price)
{
//
go
through
stock
and
find
the
item
by
barcode
matching
for(unsigned
int
i(0);
i
<
stock.items.size();
i++)
{
if(stock.items.at(i).barcode
==
barcode)
{
name
=
stock.items.at(i).name;
price
=
stock.items.at(i).price;
}
}
}
public:
PurchaseItemList
purchase;
ItemList
stock;
};
int
main()
{
int
opt(0);
Cashier
cashier;
ifstream
fin("data.bin",
ios::in
|
ios::binary);
fin.seekg(0,
ios::beg);
//cashier.stock.Load(fin);
fin
>>
cashier;
fin.close();
ofstream
fout;
ItemInfo
item;
do{
cout
<<
"1.
新购买"
<<
endl;
cout
<<
"2.
输入新商品信息"
<<
endl;
cout
<<
"3.
修改商品信息"
<<
endl;
cout
<<
"4.
显示商品信息"
<<
endl;
cout
<<
"0.
退出"
<<
endl;
cin
>>
opt;
switch(opt)
{
case
1:
cashier.CheckIn();
cashier.CheckOut();
break;
case
2:
item.Input();
cashier.stock.Add(item);
fout.open("data.bin",
ios::out|
ios::binary);
fout.seekp(0,ios::beg);
fout
<<
cashier;
fout.close();
break;
case
3:
cashier.stock.Modify();
fout.open("data.bin",
ios::out|
ios::app
|
ios::binary);
fout
<<
cashier;
fout.close();
break;
case
4:
cashier.Display();
break;
default:
break;
}
}
while(opt);
return
0;
}
‘伍’ C语言怎么写小票打印机命令
DOS 命令 PRINT 可以打印 文本文件。
例如:
PRINT /D:\\MYNETWORK\PS_Printer A.IN
/D:\\MYNETWORK\PS_Printer -- 打印设备,我的网络上的打印机
A.IN -- 要打的文件名,可以含路径
C 语言中函数 system("命令字符串");
把DOS命令字符串填入,就执行DOS命令。
‘陆’ c语言程序设计作业!!急!!
第一题:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main()
{
int i,j, a,b, res, sum=0;
char ch;
printf("Now ready to answer!\nEvery question you have 3 chances to answer, first chance you answer right you can got 10, second got 7, third got 5. Otherwise can not got score!\n");
for(i=0; i<10; i++)
{
printf("%dth question:", i+1);
srand(time(NULL));
a = rand()%50;
b = rand()%(a>25?(50-a):a);
ch = rand()%2;
if(ch) ch='+';
else ch='-';
printf("%d %c %d = ", a, ch, b);
for(j=0; j<3; j++)
{
scanf("%d", &res);
if(ch=='+')
if(res==a+b){
printf("right!\n");
switch(j){
case 0: sum+=10;break;
case 1: sum+=7; break;
case 2: sum+=5; break;
}
break;
}
else{
printf("wrong!\n");
if(j!=2)printf("try again:");
}
else
if(res==a-b){
printf("right!\n");
switch(j){
case 0: sum+=10;break;
case 1: sum+=7; break;
case 2: sum+=5; break;
}
break;
}
else{
printf("wrong!\n");
if(j!=2)printf("try again:");
}
}
}
printf("your score is : %d\n", sum);
return 0;
}
‘柒’ c语言 用chile和do chile编写一个超市购物结账价格的程序
#include <fstream>
#include <iostream>
#include <string>
#include <vector>
#include <assert.h>
using namespace std;
// Item info base class
class ItemInfo{
public:
ItemInfo(){}
ItemInfo(string barcode, string name, float price)
{
this->barcode = barcode;
this->name = name;
this->price = price;
}
ItemInfo(string barcode)
{
this->barcode = barcode;
}
void Display() {
cout << barcode <<"\t"<<name<<"\t"<<price<< endl;
}
void Input() {
cout << "输入条形码:" << endl;
cin >> barcode;
cout << "输入名称:" << endl;
cin >> name;
cout << "输入价格:" << endl;
cin >> price;
}
void Modify() {
cout << "输入名称:" << endl;
cin >> name;
cout << "输入价格:" << endl;
cin >> price;
}
friend ostream& operator<<(ostream& stream, ItemInfo& item){
stream << item.barcode <<'\t'<< item.price <<'\t'<< item.name<<endl;
return stream;
}
friend istream& operator>>(istream& stream, ItemInfo& item){
stream >> item.barcode >> item.price >> item.name;
return stream;
}
public:
string barcode;
string name;
float price;
};
// Interface class
class DataProvider{
public:
virtual void GetFullData(string barcode, string& name, float& price) = 0;
};
// Purchase item class
class ItemPurchaseInfo : public ItemInfo{
public:
ItemPurchaseInfo():ItemInfo(){}
ItemPurchaseInfo(string barcode, int count=1) :
ItemInfo(barcode)
{
this->count = count;
}
// Rember to call this when barcode set
void GetFullData(DataProvider& aPro) {
aPro.GetFullData(barcode, name, price);
}
void Input() {
cout << "输入条形码:" << endl;
cin >> barcode;
cout << "输入数量:" << endl;
cin >> count;
}
void Display() {
cout << barcode <<"\t"<<name<<"\t"<<price<<"\t"<<count<< endl;
}
public:
string barcode;
int count;
};
// Item list class
class ItemList {
public:
ItemList()
friend ostream& operator<<(ostream& stream, ItemList& list){
unsigned int count = list.items.size();
stream <<count<<endl;
for(unsigned int i(0);i<count;i++)
stream<< list.items.at(i);
return stream;
}
friend istream& operator>>(istream& stream, ItemList& list){
unsigned int count(0);
stream >>count;
list.items.clear();
for(unsigned int i(0);i<count;i++){
ItemInfo item;
stream >> item;
list.items.insert(list.items.end(), item);
}
return stream;
}
void Add(ItemInfo item) {
items.insert(items.end(), item);
}
void Modify() {
string barcode;
cout << "输入条形码:" << endl;
cin >> barcode;
for(unsigned int i(0);i<items.size();i++) {
if(items.at(i).barcode == barcode ) {
items.at(i).Modify();
}
}
}
public:
vector<ItemInfo> items;
};
// Purchase item list class
class PurchaseItemList {
public:
PurchaseItemList()
void Add(ItemPurchaseInfo item)
public:
vector<ItemPurchaseInfo> items;
};
// Implements the interface class
class Cashier : public DataProvider {
public:
Cashier() : purchase(), stock(){}
~Cashier(){}
public: // User funcs
void CheckIn(){
purchase.items.clear();
int opt(0);
do {
unsigned int i(0);
ItemPurchaseInfo ipi;
ipi.Input();
purchase.Add(ipi);
cout << "按0退出,任意键继续" << endl;
cin >> opt;
} while(opt);
}
void CheckOut(){
for(unsigned int i(0); i < purchase.items.size(); i++) {
purchase.items.at(i).GetFullData( *this );
}
float checkin(0);
cout << "输入收款数:" << endl;
cin >> checkin;
DisplayList(checkin);
}
void Display()
{
cout << endl<<"商品清单 "<< stock.items.size() << endl;
cout <<"--------------------------------------" << endl;
for(unsigned int i(0);i<
stock.items.size(); i++){
stock.items.at(i).Display();
}
cout <<"--------------------------------------" << endl;
}
void DisplayList(float checkin)
{
cout << endl<<"购物小票清单" << endl;
cout <<"--------------------------------------" << endl;
float total(0.0);
for(unsigned int i(0); i < purchase.items.size(); i++) {
purchase.items.at(i).Display();
total += purchase.items.at(i).price * purchase.items.at(i).count;
}
cout <<"--------------------------------------" << endl;
cout <<"货款合计:"<< total << "元" << endl;
cout <<"收款数:"<< checkin << "元" << endl;
float change(checkin-total);
assert( change >= 0.0);
cout <<"找零:"<< change << "元" << endl<< endl;
}
friend ostream& operator<<(ostream& stream, Cashier& c){
stream << c.stock;
return stream;
}
friend istream& operator>>(istream& stream, Cashier& c){
c.stock.items.clear();
stream >> c.stock;
return stream;
}
public: // interface func
void GetFullData(string barcode, string& name, float&price) {
// go through stock and find the item by barcode matching
for(unsigned int i(0); i < stock.items.size(); i++) {
if(stock.items.at(i).barcode == barcode) {
name = stock.items.at(i).name;
price = stock.items.at(i).price;
}
}
}
public:
PurchaseItemList purchase;
ItemList stock;
};
int main()
{
int opt(0);
Cashier cashier;
ifstream fin("data.bin", ios::in | ios::binary);
fin.seekg(0, ios::beg);
//cashier.stock.Load(fin);
fin >> cashier;
fin.close();
ofstream fout;
ItemInfo item;
do{
cout << "1. 新购买" << endl;
cout << "2. 输入新商品信息" << endl;
cout << "3. 修改商品信息" << endl;
cout << "4. 显示商品信息" << endl;
cout << "0. 退出" << endl;
cin >> opt;
switch(opt)
{
case 1:
cashier.CheckIn();
cashier.CheckOut();
break;
case 2:
item.Input();
cashier.stock.Add(item);
fout.open("data.bin", ios::out| ios::binary);
fout.seekp(0,ios::beg);
fout << cashier;
fout.close();
break;
case 3:
cashier.stock.Modify();
fout.open("data.bin", ios::out| ios::app | ios::binary);
fout << cashier;
fout.close();
break;
case 4:
cashier.Display();
break;
default:
break;
}
} while(opt);
return 0;
}
另外,站长团上有产品团购,便宜有保证
‘捌’ 求一个C语言(非C++)的用于商品结算的代码。
总共43行~
看起来是像模像样~
#include<stdio.h>
#include<windows.h>
main()
{char k='y';
int s,n[5],money[5]={0},number[5]={0},i=1,sum=0;
while(k=='y'||k=='Y')
{printf("请输入要购买的商品编号(1、2、3、4):\n");
scanf("%d",&s);
switch (s){case 1:
printf("请输入商品1的数量:\n");
scanf("%d",&n[1]);
money[1]=money[1]+10*n[1];
++number[1];
break;
case 2:
printf("请输入商品2的数量:\n");
scanf("%d",&n[2]);
money[2]=money[2]+15*n[2];
++number[2];
break;
case 3:
printf("请输入商品3的数量:\n");
scanf("%d",&n[3]);
money[3]=money[3]+20*n[3];
++number[3];
break;
case 4:
printf("请输入商品4的数量:\n");
scanf("%d",&n[4]);
money[4]=money[4]+30*n[4];
++number[4];
break;}
++i;
printf("是否需要买其它商品?yes or no?\n");
scanf("%s",&k);}
system("cls");
printf("----------------------------------\n-------------购物详单-------------\n商品编号 个数 价格\n");
for(i=1;i<=4;++i){
if(number[i]!=0){
printf(" %4d %4d %4d\n",i,number[i],money[i]);
sum=sum+money[i];}}
printf("----------------------------------\n共计:%d元\n----------------------------------\n",sum);}