c语言课程设计(食堂刷卡)_c语言完结篇课程设计

2020-02-27 其他范文 下载本文

c语言课程设计(食堂刷卡)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言完结篇课程设计”。

#include “stdafx.h” #include #include #include #include #include #include #include #define MAX 100 #define Stu struct student int Num;CComPtr pVoice;HRESULT hr;Stu { char name[10];//学生姓名

int kh;//学生卡号

char bm[33];//学生卡编码

float cash;//金额

float xf;//消费 };void menu();void _10_2(Stu*);void Register(Stu*);void CZ();void XF();void Award();void Tj();int InitVoice(){ CComPtr pEnum;CComPtr pVoiceToken;int i;::CoInitialize(NULL);if(FAILED(hr=SpEnumTokens(SPCAT_VOICES,L“Language=804”,NULL,&pEnum)))

return 0;for(i=0;i

{

pVoiceToken.Release();

pEnum->Next(1, &pVoiceToken, NULL);} if(FAILED(hr=pVoice.CoCreateInstance(CLSID_SpVoice)))

return 0;if(FAILED(hr = pVoice->SetVoice(pVoiceToken)))

return 0;return 1;} void ReleaseVoice(){ pVoice.Release();CoUninitialize();} void Speak(char *Txt){ CSpDynamicString s(Txt);pVoice->Speak(s,0,0);} void main()

{ menu();} void menu()//主菜单 { Stu strStu;char ch;loop:

system(“cls”);

printf(“ *********************************n”);

printf(“ * 1: 卡登记 * n”);

printf(“ * 2: 饭卡充值 * n”);

printf(“ * 3: 食堂消费 * n”);

printf(“ * 4: 有奖消费 * n”);

printf(“ * 5: 财务统计 * n”);

printf(“ * 6: 退出 * n”);

printf(“ *********************************n”);

printf(“ n”);

printf(“ 请选择输入选项[123456]:>”);if(!InitVoice())return;Speak(“请 选 择 输 入 选 项”);ReleaseVoice();

while(ch=getch())

{

switch(ch)

{

case '1': Register(&strStu);goto loop;

case '2': CZ();

case '3': XF();

case '4': Award();

case '5': Tj();

case '6': exit(0);

}

} goto loop;} void Register(Stu *a)//卡登记 { FILE *fp;system(“cls”);a->xf=0;printf(“**********卡登记***************n”);if(!InitVoice())

return;Speak(“卡登记”);ReleaseVoice();printf(“输入姓名:”);if(!InitVoice())

return;Speak(“输入姓名”);ReleaseVoice();scanf(“%s”,a->name);printf(“输入卡号:”);if(!InitVoice())

return;Speak(“输入卡号”);ReleaseVoice();

scanf(“%d”,&a->kh);printf(“输入初始金额:”);if(!InitVoice())

return;Speak(“输入初始金额”);ReleaseVoice();scanf(“%f”,&a->cash);_10_2(a);printf(“你的二进制卡编码是:%s”,a->bm);if(!InitVoice())

return;Speak(“你的二进制卡编码是”);ReleaseVoice();if(!InitVoice())

return;Speak(a->bm);ReleaseVoice();if((fp=fopen(“stu.txt”,“a”))==NULL){

printf(“ERRORn”);

exit(0);} fprintf(fp,“%st%dt%st%.2ft%.2f”,a->name,a->kh,a->bm,a->cash,a->xf);fputc('n',fp);fclose(fp);} void _10_2(Stu*a)//10 进制转2进制 { int n,i,t=1;n=a->kh;getchar();for(a->bm[0]='1',i=1;n;i++){

a->bm[i]=n%2+48;

n/=2;

if(a->bm[i]=='1')t++;} if(t%2==1)a->bm[31]='1';else a->bm[31]='0';for(i;i

a->bm[i]='0';a->bm[32]='';} void CZ()//饭卡充值 { FILE *fp;char bm[33];Stu strshare[MAX];float cash;int nNum=0,i;system(“cls”);printf(“**************饭卡充值**************n”);if(!InitVoice())

return;Speak(“饭卡充值”);ReleaseVoice();printf(“请输入你的卡编码:”);if(!InitVoice())

return;Speak(“请输入你的卡编码”);ReleaseVoice();gets(bm);if((fp=fopen(“stu.txt”,“r”))==NULL){

printf(“ERRORn”);

exit(0);} while(!feof(fp)){

fscanf(fp,“%s%*c%d%*c%s%*c%f%*c%f%*c”,strshare[nNum].name,&strshare[nNum].kh,strshare[nNum].bm,&strshare[nNum].cash,&strshare[nNum].xf);

nNum++;} nNum--;fclose(fp);for(i=0;i

if(strcmp(strshare[i].bm,bm)==0)

{

printf(“请输入充值金额:”);if(!InitVoice())return;Speak(“请输入充值金额”);ReleaseVoice();

scanf(“%f”,&cash);

strshare[i].cash+=cash;if((fp=fopen(“stu.txt”,“w”))==NULL)

{

printf(“ERRORn”);exit(0);

}

for(i=0;i

fprintf(fp,“%st%dt%st%.2ft%.2fn”,strshare[i].name,strshare[i].kh,strshare[i].bm,strshare[i].cash,strshare[i].xf);

fclose(fp);

menu();

} } if(i>=nNum){

printf(“你尚未登记!n”);if(!InitVoice())

return;Speak(“你尚未登记”);ReleaseVoice();menu();} menu();} void XF()// 卡消费 { FILE *fp;char bm[33];Stu strshare[MAX];

float xf;int nNum=0,i;system(“cls”);printf(“**************食堂消费**************n”);if(!InitVoice())

return;Speak(“食堂消费”);ReleaseVoice();printf(“请输入你的卡编码:”);if(!InitVoice())

return;Speak(“请输入你的卡编码”);ReleaseVoice();gets(bm);if((fp=fopen(“stu.txt”,“r”))==NULL){

printf(“ERRORn”);

exit(0);} while(!feof(fp)){

fscanf(fp,“%s%*c%d%*c%s%*c%f%*c%f%*c”,strshare[nNum].name,&strshare[nNum].kh,strshare[nNum].bm,&strshare[nNum].cash,&strshare[nNum].xf);

nNum++;} nNum--;fclose(fp);for(i=0;i

if(strcmp(strshare[i].bm,bm)==0)

{

printf(“请输入消费金额:”);if(!InitVoice())return;Speak(“请输入消费金额”);ReleaseVoice();

scanf(“%f”,&xf);

strshare[i].xf+=xf;

strshare[i].cash-=strshare[i].xf;if((fp=fopen(“stu.txt”,“w”))==NULL)

{

printf(“ERRORn”);exit(0);

}

for(i=0;i

fprintf(fp,“%st%dt%st%.2ft%.2fn”,strshare[i].name,strshare[i].kh,strshare[i].bm,strshare[i].cash,strshare[i].xf);

fclose(fp);

menu();

} } if(i>=nNum){

printf(“你尚未登记!n”);if(!InitVoice())return;

Speak(“你尚未登记”);ReleaseVoice();

menu();} menu();} void Award()//有奖消费 { FILE *fp;Stu strshare[MAX],*p[MAX],*temp=NULL;int nNum=0,i,j;system(“cls”);printf(“********有奖消费****************n”);if(!InitVoice())return;Speak(“有奖消费”);ReleaseVoice();if((fp=fopen(“stu.txt”,“r”))==NULL){

printf(“ERROR!n”);

exit(0);} while(!feof(fp)){

fscanf(fp,“%s%*c%d%*c%s%*c%f%*c%f%*c”,strshare[nNum].name,&strshare[nNum].kh,strshare[nNum].bm,&strshare[nNum].cash,&strshare[nNum].xf);

nNum++;} nNum--;fclose(fp);for(i=0;i

p[i]=&strshare[i];for(i=0;i

for(j=0;j

if(p[j]->xf

xf)

{

temp=p[j];

p[j]=p[j+1];

p[j+1]=temp;

} for(i=0;i

p[i]->cash+=(p[i]->xf)/100*5;printf(“今日大胃王:n”);if(!InitVoice())return;Speak(“今日大胃王”);ReleaseVoice();for(i=0;i

printf(“%st%dt%st%.2ft%.2fn”,p[i]->name,p[i]->kh,p[i]->bm,p[i]->cash,p[i]->xf);if((fp=fopen(“stu.txt”,“w”))==NULL){

printf(“ERROR!n”);

exit(0);} for(i=0;i

fprintf(fp,“%st%dt%st%.2ft%.2fn”,strshare[i].name,strshare[i].kh,strshare[i].bm,strshare[i].cash,strshare[i].xf);fclose(fp);menu();} void Tj()//财务统计 { FILE *fp;Stu strshare[MAX];int nNum=0,i;float total=0,ave;system(“cls”);printf(“*******校方统计****************n”);if(!InitVoice())return;Speak(“校方统计”);ReleaseVoice();if((fp=fopen(“stu.txt”,“r”))==NULL){

printf(“ERROR!n”);

exit(0);} while(!feof(fp)){

fscanf(fp,“%s%*c%d%*c%s%*c%f%*c%f%*c”,strshare[nNum].name,&strshare[nNum].kh,strshare[nNum].bm,&strshare[nNum].cash,&strshare[nNum].xf);

nNum++;} nNum--;fclose(fp);for(i=0;i

total+=strshare[i].xf;ave=total/nNum;printf(“今日消费总额:%.2fn学生平均消费水平:%.2fn”,total,ave);}

《c语言课程设计(食堂刷卡).docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
c语言课程设计(食堂刷卡)
点击下载文档
相关专题 c语言完结篇课程设计 食堂 课程设计 语言 c语言完结篇课程设计 食堂 课程设计 语言
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文