printf(\请输入你的卡号,而且卡号不得超过15位数\\n\

scanf(\

}

while(num<0)

{

printf(\输入的饭卡号不能为负数!\\n\

printf(\请输入你的卡号,而且卡号不得超过15位数\\n\

scanf(\

}

for(k=0;k

printf(\此号已经被注册了!请重新输入:\\n\ break;

} else

a=0;

if(count==5) {

printf(\你输入的无效卡号已经达到5次,系统将自动返回主菜单!\\n\ return;

}

}while(a==1); student[i].num=num; printf(\请输入你的姓名\\n\scanf(\

strcpy(student[i].name,name); printf(\请输入你的饭卡钱\\n\scanf(\

while(money<0) { printf(\输入的金额必须为正数!\\n\

printf(\请输入你的饭卡钱\\n\

scanf(\

16

}

student[i].money=money;

printf(\请输入你的挂失信息(0表示没有挂失,1表示已经挂失):\\n\scanf(\student[i].info=info; for(k=0;k

fprintf(fp,\

k].info);

i++;

void add()此函数为“添加新饭卡”,此函数是对已有的文件中,继续添加新的饭卡

信息。函数一开始要求判断数据库是否已满或者所添加的卡号是否已存在,当数据库未满,卡号成功注册时,程序将对新数据继续读入文件中;否则,系统将退出。

void mov()的主要代码如下:

if(i==0) {

printf(\请先建立饭卡文件!\\n\ return; } do {

printf(\请输入你的卡号,而且卡号不得超过15位数\\n\ scanf(\ while(num>pow(10,15)) { }

while(num3<0) {

printf(\输入的饭卡号不能为负数!\\n\

printf(\请输入你的卡号,而且卡号不得超过15位数\\n\ scanf(\ }

for(j=0;j

17

printf(\你输入的卡号超过15位数!\\n\

printf(\请输入你的卡号,而且卡号不得超过15位数\\n\

scanf(\

{

if(student[j].num==num3) }

if(flag==-1) //查明是否有该卡 { }

if(count==5) { }

}while(flag==-1); for(k=flag;k

fprintf(fp,\tudent[k].money,student[k].info);

void mov()此函数为“注销旧饭卡”,此函数的功能是对饭卡的某一用户的数据进

{ i--; flag=j; break; }

count++;

printf(\此卡不存在!请重新输入:\\n\

printf(\你输入的卡号已经输入超过5次,系统将自动返回主菜return;

单!\\n\

行删除。函数一开始判断卡号是否存在,若饭卡存在,程序将对要删除的数据进行操作,并讲新数据重新写入文件中;否则,系统将退出。

void set()的主要代码如下:

if(i==0)

{ } do

18

printf(\请先建立饭卡文件!\\n\return;

{

printf(\请输入你的饭卡号,而且卡号不得超过15位数:\\n\ scanf(\

while(num4>pow(10,15))

{ printf(\你输入的卡号超过15位数!\\n\

printf(\请输入你的饭卡号,而且卡号不得超过15位数:\\n\

scanf(\

}

while(num4<0) {

printf(\输入的饭卡号不能为负数!\\n\

printf(\请输入你的饭卡号,而且卡号不得超过15位数:\\n\

scanf(\

}

for(m=0;m

if(student[m].num==num4) { flag=m;

break;

}

if(flag==-1) //查明是否有该卡 {

count++;

printf(\找不到该卡!请重新输入:\\n\

}

if(count==5) { printf(\你输入的卡号已经输入超过5次,系统将自动返回主菜单!\\n\ return;

}

}while(flag==-1);

printf(\请输入你要修改的挂失信息(info=0表示没有挂失,info=1表示已经挂失):\\n\scanf(\

student[flag].info=info1; for(k=0;k

19

fprintf(fp,\

k].info);

void set()此函数为“设置与解除挂失”,此函数主要是将所要挂失的用户,把其数

据中“info”挂失信息的值“0”(未挂失)改为“1”(已挂失)。函数首先判断是否存在该卡号,若存在,将对数据进行操作;否则,程序将推出系统。

void bianli()的主要代码如下: if(i==0)

{ }

for(l=0;l

fscanf(fp,\

].info);

if(student[l].num==0)

continue;

printf(\请先建立饭卡文件!\\n\return;

fprintf(\

fo);

}

void bianli()此函数为“遍历”,主要是将文本的数据输出,再显示在屏幕上。

完整程序请参见附录A

5. 测试与调试

表1 测试用例

测试数据类型 测试数据 预期结果 实测结果 输入各项信息,读入首先输入1,然后输 在屏幕上显示饭卡 文件,然后在屏幕显 入7 信息 示饭卡信息 合法数据 在没有建立饭卡文件时,输入7 会在屏幕显示上次所记录的饭卡信息 屏幕上无显示 20

c语言饭卡管理系统_C语言饭卡管理系统(附代码) -相关推荐

  1. c语言饭卡管理系统_C语言饭卡管理系统(附代码).doc

    C语言饭卡管理系统(附代码) C语言饭卡管理系统,代码超简单,纯c语言基础知识,本人大一时期自己打的代码与实验报告(作图是直接word,可直接修改,不需安装visio),上传只为赚取百度财富值,支持原 ...

  2. c语言学生综合测评系统_c语言图书管理系统_c语言学生综合测评系统_c语言个人账本管理系统...

    c语言销售管理系统设计 c语言设计管理系统,c图书管理系统设计,学生管理系统c语言,职工管理系统c语言,c语言图书管理系统,c语言成绩管理系统,c语言管理系统,c语言银行管理系统,c语言工资管理系统, ...

  3. 凸轮结构c语言编程,凸轮设计_c语言编程

    凸轮设计_c语言编程 (4页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 一.编程:(注:程序中各个符号的含义)PI:常数 s0:理论廓 ...

  4. 打开c语言运行不了_C语言——菜鸟和大神的分水岭:内存、线程、进程

    作为一门古老的编程语言,C语言已经坚挺了好几十年了,初学者从C语言入门,大学将C语言视为基础课程.不管别人如何抨击,如何唱衰,C语言就是屹立不倒:Java.C#.Python.PHP.Perl 等都有 ...

  5. 无效的变量名c语言,变量方法用法 _C语言-w3school教程

    C语言 的 变量 变量是内存位置的名称.它用于存储数据.其值可以更改,可以重复使用多次. 它是通过符号表示内存位置的方法,以便可以容易识别. 我们来看一下声明一个变量的语法: type variabl ...

  6. python实现c语言编译器安卓版_c语言编译器ide下载app-c语言编译器ide软件下载v1.5.1 安卓版-2265安卓网...

    c语言编译器ide软件是一款非常实用的练习代码的服务软件,操作简单,好上手,宛如和电脑操作般,各种你需要的功能在这里都能找到的,如果最新刚好在备考的 小伙伴们,不如现在现在下载体验体验吧! c语言编译 ...

  7. c语言教程+school,C语言教程方法用法 _C语言-w3school教程

    C语言 的 C语言教程 此C语言教程与编程方法面向C语言初学者和专业人士,帮助他们轻松了解和学习C语言编程.我们的C语言教程中使用程序解释每个主题. C语言被开发用于创建系统应用程序,直接与硬件设备( ...

  8. c加加计算机游戏,用C语言实现五子棋游戏_C语言_软件编程

    C语言写五子棋,使用多文件形式,使用代码看起来更好看:在这里我实现的功能是双人博弈,如果要实现人机对战,那么代码就会很复杂: 一.main.c 在主调函数中首先要提供一个给用户选择的界面,在这里我们假 ...

  9. c语言课程设计 职工工资处理系统,院职工工资管理系统_C语言课程设计-2017年10月.doc...

    信息科学与技术学院 课程设计报告 2012-2013学年第一学期 课程名称:C语言课程设计上机 设计题目:院职工工资管理系统 学 号:__________________ 姓 名:__________ ...

  10. 学籍管理系统文件版c语言代码,学籍管理系统_c语言代码

    通过结构体.动态存储函数建立单向链表,结合文件操作函数和指针实现对大量有序同类型数据(学生信息)的处理. #include #include #include #include #define NAM ...

最新文章

  1. leetcode10 为什么p[j-1] == '*'的时候,不能用递推公式dp[i][j] = dp[i][j-1] || dp[i][j-2] || dp[i-1][j]
  2. vm显示打不开 /dev/vmmon:Broken pipe
  3. Vim+ctags+cscope+Nerdtree+Taglist入门
  4. 自动化测试遇到的难点_浅谈软件测试质量目标以及如何去发现自动化测试的方向...
  5. 《Android Property
  6. 【python】多进程小结
  7. visio使用手册---网络拓扑图的利器
  8. Anki 学习指南(优质资源 教程总结)
  9. 在rhel7.3中编译和使用log4cxx
  10. PostgreSQL 收缩膨胀表或索引 - pg_squeeze or pg_repack
  11. 一篇文章读懂支付宝9.0改版背后的产品逻辑和战略布局
  12. 基于神经网络的图像分割
  13. c语言写学程序,入门:我的第一个程序|学编程写游戏(C语言)
  14. EL表达式与JSTL
  15. 54.查表法按日期生成流水号的案例
  16. POI操作word文档-添加上标下标
  17. 推荐3dMax三维设计十大插件
  18. 【附源码】计算机毕业设计SSM校园考研互助网站
  19. Comicgen漫画图、手残党也能画漫画
  20. 站长在线Python教程精讲:在Python函数中的关键字参数详解

热门文章

  1. 学会这几个简单的bat代码,轻松在朋友面前装一波13
  2. ENVI4.8下载与安装
  3. JSON 数据类型转换工具
  4. vue启动项目报错 `webpack-dev-server --inline --progress --config build/webpack.dev.conf
  5. matlab视频分辨率更改
  6. JS base64 加密和 后台 base64解密(防止中文乱码)
  7. 番茄助手 VS2015
  8. kb931125—rootsupd_下载_KB931125-rootsupd补丁 官方版_6z6z下载站
  9. 黑苹果系统发热与续航
  10. wordpress七步曲