C语言课程设计报告__个人消费管理系统(5)

2019-04-15 22:32

C语言课程设计

{

fread(&records->record[++rs.total_count],sizeof(Rec),1,fp); //record[0]

中并不存放记录数据,以后作为查找到前哨站

while(1) } fclose(fp); #ifdef DEBUG

printf(\

ShowRec();

#endif

//用一个死循环实现循环操作,只有选择退出的时候才退出

{

system(\

printf(\消费记录系统-------\\n\

printf(\打开\\n\ printf(\保存\\n\ printf(\更新\\n\ printf(\查找\\n\ printf(\排序\\n\ printf(\统计\\n\ printf(\退出\\n\ printf(\请输入操作序号:\ scanf(\

system(\ if(chioce>6||chioce<1)

break; else

calledit(chioce); //调用中间过程函数

} return 0;

}

void calledit(int chioce)

{

void UpdateRec(); void FindRec(); void SortRec(); switch(chioce)

{ case 1: ShowRec(); break; case 2: SaveRec(); break; case 3:

- 19 -

C语言课程设计

UpdateRec(); break; case 4: FindRec(); break; case 5: SortRec(); break; case 6: ShowTotal(); break; default: break;

} return ;

}

void UpdateRec()

{ int mc; while(1) {

printf(\插入\\n\ printf(\删除\\n\ printf(\修改\\n\ printf(\离开\\n\ printf(\请选择:\ scanf(\

if(mc==1) Insert(); else if(mc==2) DeleteByNum(); else if(mc==3) Modify(); else if(mc==0) break; else {

printf(\输入有误,请重试!\\n\

continue;

}

scanf(\

} }

- 20 -

C语言课程设计

void FindRec()

{ int mc; int i; while(1) {

printf(\按时间查找\\n\ printf(\按类型查找\\n\ printf(\按名称查找\\n\

printf(\离开\\n\ printf(\请选择:\ scanf(\

if(mc==1)

{

printf(\请输入时间(format:2011-12-31):\

scanf(\

if(strlen(found.times)!=10||found.times[4]!='-'||found.times[7]!='-') //简单的判

断一下日期是否符合格式要求

{

printf(\时间格式错误,请重试!\\n\

continue;

}

i=FindByTime(found.times);

if(i) { ShowI(i);

} } else if(mc==2)

{

printf(\请输入类型:\ scanf(\ i=FindByType(found.types);

if(i) { ShowI(i);

} } else if(mc==3)

{

printf(\请输入名称:\ scanf(\

- 21 -

C语言课程设计

i=FindByName(found.name); if(i) { ShowI(i);

} } else if(mc==0) break; else {

printf(\输入有误,请重试!\\n\

continue;

}

scanf(\ system(\

} }

void SortRec()

{ int mc; while(1) {

printf(\按时间排序\\n\ printf(\按类型排序\\n\ printf(\按金额排序\\n\

printf(\离开\\n\ printf(\请选择:\ scanf(\

if(mc==1) SortByTime(); else if(mc==2) SortByType(); else if(mc==3) SortBySum(); else if(mc==0) break; else {

printf(\输入有误,请重试!\\n\

continue;

}

scanf(\ system(\

}

- 22 -

C语言课程设计

Define.h文件代码:

#define MAX 100 //人为定义的一个上限 //#define DEBUG //控制调试信息的输出 typedef struct {

int num; //编号 char times[11]; //时间 char types[20]; //类别 char name[20]; //品名 double price; //单价 int quantity; //数量 double sum; //金额 }Rec;

typedef struct {

Rec record[MAX+1]; //可操作的记录总数 int total_count; //记录总数 }Rec_Con,*PRec_Con; union {

char times[11]; char types[20]; char name[20]; }found;

//下面三个变量都是全局变量 FILE *fp; //定义文件指针 Rec_Con rs;

PRec_Con records=&rs; //定义指针变量 int type_count=0; //记录里相关的类型数目 int year_count=0; //记录里相关的年数目 char *ptype[MAX+1]; //记录里相关的类型 char pyear[MAX+1][5]; //记录里相关的年 char tmp[5]; //取年份所用

char c; //使用频率很高的一个变量,后来好像又没声明用了,先放着吧

arc.h文件代码:

#include

void OpenFile(char * mode) //打开文件函数,以二进制append形式操作 {

if((fp=fopen(\

- 23 -


C语言课程设计报告__个人消费管理系统(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:漫议历史音韵研究中的一些方法问题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: