C语言课程设计报告 购物卡管理系统(3)
时间:2025-06-06
时间:2025-06-06
(四)详细设计
(1)、开头部分
#include<stdio.h>
#include<stdlib.h>
#include<string.h>//头函数名
void menu();
struct card /*定义购物卡的几要素*/ {
char name[20]; /*顾客姓名(即卡号)*/ long int password; /*购物卡密码*/ char start[4]; /*购物卡是否激活*/ float account; /*余额*/ float score; /*积分*/ } card[100];
int length=0; /*制卡数*/
char yes,no; /*是,否(激活)*/
(2)读卡(从文件中读取数据信息)
read_card() /*以只读方式*/ {
FILE *fp; int i;
if((fp=fopen("card.txt","r"))!=NULL) /*以输出方式打开*/
i=0;
while (!feof(fp)) {
fscanf(fp,"%s%ld%s%f%d\n",card[i].name,&card[i].password,card[i].start,&card[i].account,&card[i].score); i++; }
length=i-1; /*记录制卡数*/ fclose(fp); } }
(3)写卡(将数据信息记录到文件中)
write_card() /*以只写方式*/ {
FILE *fp; int i;
if((fp=fopen("card.txt","w"))==NULL) /*以输出方式打开 */ {
printf("写入文件错误!"); getch(); exit(0); } else
for(i=0;i<length;i++)
fprintf(fp,"%s%ld%s%f%f",card[i].name,card[i].password,card[i].start,card[i].account,card[i].score); fclose(fp); return 1; }
(4)制卡(新建出一张购物卡,并输入了顾客部分信息,如姓名、密码等,但卡没有激活,依然不可使用)
make_card() /*{
int i;
i=length; printf("请输入你的姓名:\n"); scanf("%s",card[i].name); printf("请设置你的密码:\n"); scanf("%ld",&password1);
printf("请再输入你的密码 scanf("%ld",&password2); if(password1==password2) {
strcpy(card[i].start,"no"); card[i].account=0; card[i].score=0; length=length+1;
printf("制卡成功,你的购物卡为:\n");
printf("\t姓名\t是否激活\t余额\t积分\n\n");
下一篇:评职称单位推荐意见