linux c 写的一个电子账簿

两个阶段

1.用户管理系统,其中包括:用户登录,用户注册,用户信息打印三个功能

2.添加账簿功能,其中包括:记账,查账

其中用到了结构体,文件的打开/读写/关闭的操作,写makefile文件

主菜单


注册界面


注册失败界面


登陆界面


登陆失败界面


打印信息界面


记账界面

0

查账界面


先就只贴图吧

有些困难的方面:

文件的操作

int fd=open("filename",flags,...)

filename : 文件名(包含路径)
flags :     O_RDONLY          只读方式打开
               O_WRONLY         只写方式打开
               O_RDWR              读写方式打开
一下三个必选一个
               O_CREAT              文件存在就打开,不存在则创建
               O_TRUNC             打开文件自动清空文件
                O_EXCL                 文件不存在就创建,若存在,返回-1代表出错
               O_APPEND           采用追加方式打开文件,一般用于写
... :          第三个参数,只用于新建文件时,传入文件在硬盘上的权限(rwx)
               r----4(100)
               w---2(010)
                x---1(001)
返回值 :  打开(创建)文件成功则返回正整数,否则返回-1.错误信息在errno里

ssize_t write ( int  fd , const  void  *buf , size_t  count )
fd :文件描述符
文件描述符:本质上就是一个数字(编号),当进程启动时 系统自动为进程    
                    打开3 个文件:
                      标准输入(键盘),标准输出(显示器),标准出错(显示器)
C :          stdin                      stdout                      stderr
UC :           STDIN_FILENO       STDOUT_FILENO      STDERR_FILENO
对应的数字: 0                           1                                2
所以这时再打开一个文件, fd就是3 ,再打开一个,就是 4 一个进程可以打开文件的个数是有限的
ulimit  -n
文件权限掩码: umask(可以通过命令或编程的方式修改)
buf :     源数据的缓冲区
count : 期望写入的字节数
返回值: 成功时返回所写入的字节数; 返回0 ,说明没有写入 失败时返回 -1 , 错误原因在errno

read与write类似

makefile文件
1. main:main.o login.o register.o tallt.o audit.o
2. cc  main.c login.c register.c tallt.c audit.c
3. main.o:main.c HeadFile.h
4. cc -c main.c
5. login.o:login.c HeadFile.h
6. cc -c login.c
7. register.o:register.c HeadFile.h
8. cc -c register.c
9. tallt.o:tallt.c HeadFile.h
10. cc -c tallt.c
11. audit.o:audit.c HeadFile.h
12. cc -c audit.c

1.将main.o login.o register.o tallt.o audit.o链接到main
2.编译  main.c login.c register.c tallt.c audit.c
3.将main.c HeadFile.h链接到main.o
4.编译生成main.c的.o文件
后面 类推

疑问
为什么makefile文件中第二行本来应该写.o的但是我写的.c同样可以
下面应该解决的
实现每天账目的总计
实现删除用户和修改账目的功能。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值