c程序设计实习报告(编辑修改稿)内容摘要:
和 剩余数 if(gfp==NULL) { gfp=fopen(,w+)。 N=0。 sy=0。 } fscanf(gfp,%lu%lu,amp。 N,amp。 sy)。 do { 12 开始 从文件录入原有购物卡总数和剩余数 输入需要制作的购物卡数码 数目合法。 否 是 写入新购物卡数目,写入初始信息,生成购物卡对应文件 保存信息 ,关闭文件 结束 图 48 购物卡制作流程 printf(\t 请输入您要制作的购物卡数目 (0 返回 ):\n)。 scanf(%ld,amp。 n)。 if(n0) printf(\n对不起,您只能输入正整数\n)。 if(n==0) { fclose(gfp)。 return。 } }while(n0)。 fseek(gfp,0,0)。 fprintf(gfp,%lu\t%lu,N+n,sy+n)。 fclose(gfp)。 gfp=fopen(,a)。 if(gfp==NULL) gfp=fopen(,w+)。 fseek(gfp,0,2)。 for(i=0。 in。 i++) { fprintf(gfp,%ld name ID %ld 0 0 0 0 c\n,N+i+1,N+i+1)。 //存储卡初始信息 sprintf(cdname,%,N+i+1)。 cfp=fopen(cdname,w+)。 //建立卡文件,没张卡对应一个文件,用于存储消费记录 fclose(cfp)。 } fclose(gfp)。 printf(\n 成功制作新卡 %ld 张,新卡卡号从 %ld到 %ld!\n,n,N+1,N+i)。 now(xz)。 gfp=fopen(,a)。 fprintf(gfp,\n%s 制卡 %ld到 %ld\n,xz,N+1,N+i)。 fclose(gfp)。 return。 } 购物卡签发 //****************购物卡签发 ***************** void cardlive() { ul n。 ul i。 ul sy。 char cdname[20]。 gfp=fopen(,r+)。 13 if(gfp==NULL) { printf(\t 请先制作卡 !\n)。 return。 } fscanf(gfp,%ld%ld,amp。 n,amp。 sy)。 if(sy==0) { printf(\t 对不起,没有新卡 \n)。 fclose(gfp)。 return。 } fseek(gfp,0,0)。 fprintf(gfp,%lu\t%lu\t,n,sy1)。 fclose(gfp)。 gfp=fopen(,r+)。 if(!ka) { printf(\t 打开文件失败 \n)。 fclose(gfp)。 getch()。 exit(0)。 } for(i=0。 in。 i++) fscanf(gfp,%u %s %s %u %s %lu %u %d %c,amp。 ka[i].cardid,amp。 ka[i].name,amp。 ka[i].idd,amp。 ka[i].account,amp。 ka[i].pswd,amp。 ka[i].money,amp。 ka[i].jifen,amp。 ka[i].zhuangtai,amp。 ka[i].cc)。 i=nsy。 ka[i].account=ka[i].cardid。 printf(\t 请输入您的用户名 \n)。 scanf(%s,amp。 ka[i].name)。 ka_pass(i)。 do { printf(\t 请输入您的身份证号码 \n)。 scanf(%s,amp。 ka[i].idd)。 if(strlen(ka[i].idd)!=18) printf(\t 对不起,身份证号是 18 位 \n)。 }while(strlen(ka[i].idd)!=18)。 ka[i].money=5000。 //初始金额为 50 ka[i].jifen=0。 ka[i].zhuangtai=1。 sprintf(cdname,%,i+1)。 开始 从文件录入购物卡剩余数 查找未注册最新卡号 作为签发的卡号和帐号 购物卡剩余数 0? 否 显示剩卡不知,返回 是 输入用户名,身份证号等信息 调用密码设置 保存信息,关闭文件 结束 图 49 购物卡签发流程 14 开始 密码正确 ? 核对密码(调用帐号密码核对函数) 输入要注销卡号 i 否 是 卡内余额 =0? 是 设置卡 i的状态为注销 提示不允许注销 否 图 410 购物卡注销流程 返回 cfp=fopen(cdname,a)。 if(cfp==NULL) cfp=fopen(cdname, w+)。 now(xz)。 fseek(cfp,0,2)。 fprintf(cfp,1\n%s 开户 %lu 0 %lu 0 0 0 管 理 中 心 c\n,xz,ka[i].money,ka[i].money)。 printf(\t 购 物卡注册成功 !\n)。 printf(\t 您的用户名为: %s\n\t 帐号为: %u\n\t 卡内余额为: 50 元\n,ka[i].name,ka[i].account)。 fseek(gfp,0,0)。 for(i=0。 in。 i++) fprintf(gfp,%u %s %s %u %s %ld %u %d c\n,ka[i].cardid,ka[i].name,ka[i].idd,ka[i].account,ka[i].pswd,ka[i].money,ka[i].jifen,ka[i].zhuangtai)。 fclose(cfp)。 fclose(gfp)。 return。 } 购物卡注销 //*****************卡注销 ******************** void zhuxiao(ul N) { ul m。 int x。 ul i。 float qian。 printf(\t 请输入您要注销的卡号 \n)。 scanf(%u,amp。 m)。 if(m1||mN) { printf(\t 对不起, 没此卡号 \n)。 return。 } qian=(float)ka[m1].money/100。 x=card_sec(m1)。 if(x==1) { if(qian!=0) { printf(\t卡内还剩 % 元钱,请到消费界面进行退款操作后再注销 \n,qian)。 return。 } 15 printf(%,qian)。 printf(\t 您是否真的要注销此帐号 ?(若不是请按 0 返回 )\n)。 scanf(%d,amp。 x)。 if(x!=0) { fseek(gfp,0,0)。 ka[m1].zhuangtai=3。 for(i=0。 iN。 i++) fprintf(gfp,%u %s %s %u %s %ld %u %d %c\n,ka[i].cardid,ka[i].name,ka[i].idd,ka[i].account,ka[i].pswd,ka[i].money,ka[i].jifen,ka[i].zhuangtai,ka[i].cc)。 return。 } else return。 } else return。 } 购物卡信息查看 //***************卡信息查看 ***************** void chakan(ul N) { ul i。 float ye。 char zt[20]。 printf( 卡号 持卡人姓名 关联帐号 余额 积分 状态 \n)。 for(i=0。 iN。 i++) { switch(ka[i].zhuangtai) { case 0 : strcpy(zt,未注册 )。 break。 case 1 : strcpy(zt,正常 )。 break。 case 2 : strcpy(zt,挂失 )。 break。 case 3 : strcpy(zt,已注销 )。 break。 } ye=(float)ka[i].money/100。 printf(%10u %14s %10u % %10u %10s\n,ka[i].cardid,ka[i].name,ka[i].account,ye,ka[i].jifen,amp。 zt)。 } printf(\t*************************************************\n)。 } 16 购物卡 查看与注销 其实此函数主要用于选择购物卡查看和注销功能,其实此函数完全没有必要,查看和注销、存放在二级菜单更合理一些。 这是设计时没有安排好,由于经验不足,时间仓储,来不及调整了。 //****************购物卡 查看和注销 ***************** void cardgl() { ul N。 ul sy。 int m=1。 ul i。 int x。 gfp=fopen(,r+)。 if(gfp==NULL) { printf(\t 打开文件错误 \n)。 exit(0)。 } fscanf(gfp,%lu%lu,amp。 N,amp。 sy)。 fclose(gfp)。 gfp=fopen(,r+)。 fseek(gfp,0,0)。 for(i=0。 iN。 i++) fscanf(gfp,%u %s %s %u %s %ld %u %d %c,amp。 ka[i].cardid,amp。 ka[i].name,amp。 ka[i].idd,amp。 ka[i].account,amp。 ka[i].pswd,amp。 ka[i].money,amp。 ka[i].jifen,amp。 ka[i].zhuangtai,amp。 ka[i].cc)。 while(m) { printf(\t 请您选择您需要的操作\n)。 printf(\t\t\t1 卡注销 \n)。 printf(\t\t\t2 卡信息查看 \n)。 printf(\t。c程序设计实习报告(编辑修改稿)
相关推荐
成了累乘。 : main() { float n,s=0,t=1。 for(n=1。 n=20。 n++) { ______。 ______。 } printf(1+2!+3!...+20!=%e\n,s)。 } ============================================================== 【 程序 26】 题目:利用递归方法求 5!。 :递归公式
计算出每位学生的平均分并输出,程序如下: main() {int n,k。 float score,sum,ave。 sum=。 for(n=1。 n=10。 n++) {for(k=1。 k=4。 k++) {scanf(%f,amp。 score)。 sum+=score。 } ave=sum/。 printf(NO%d:%f ,n,ave)。 } } 上述程序运行后结果不正确
80、以下程序段输出结果是 ( ) A、 15 B、 14 C、不确定 D、 0 main() { int i, sum。 for(i=1。 i6。 i++) sum+=sum。 printf(“ %d\n” ,sum)。 } 8以下程序的输出结果是 ( ) A、 741 B、 852 C、 963 D、 875421 main() { int y=10。 for(。 y0。 y)
托架与夹具之间的尺寸、工件本身以及加工部位的尺寸和精度。 ( 4) 标注切削用量 各主轴的切削用量应标注在相应主轴后端。 其内容包括主轴转速。 切削速度。 每转进给量。 每分钟进给量 . 同一多轴箱上个主轴的每分钟进给量是相等的,等于动力滑台的工进速度。 ( 5)动力部件工作循环及行程的确定 动力部件的工作循环是指加工时,动力部件从原始位置开始运动到加工终了位置,又返回到原位的动作过程。
的主要工作就是软件的设计, 在了解电路设计原理后,根据原理和目的画出 程序 流程图, 用汇编语言进行编程,如 A/D转换程序,报警程 序,显示程序及所用到的进制转换程序,即十六进制转换成十进制。 系统工作时,首先进行初始化等准备工作。 然后进行数据采集,经过硬件的放大滤波处理后,送至单片机进行数据的处理。 单片机根据输入的信号进行浓度计算,最后得到浓度值。 系统软件采取模块化结构
论上那么高,且 异步电机结构简单,制造方便,运行性能好,并可节省各种材料,价格便宜。 传动 方式的选择 齿轮传动是利用两齿轮的轮齿相互啮合传递动力和运动的机械传动。 如图。 上海工程技术大学毕业设计 (论文) SUES CL71 离合器试验台传动系统 设 计 19 图 齿轮传动示意图 按齿轮轴线的相对位置分平行轴圆柱齿轮传动、相交轴圆锥齿轮传动和交错轴螺旋齿轮传动。 具有结构紧凑、效率高