linux c 写的一个电子账簿

本文详细介绍了用户管理系统和账簿功能的实现过程,包括用户登录、注册、信息打印、记账和查账等操作。同时涉及了文件操作、结构体使用、makefile文件编写及关键代码段解析。

两个阶段

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同样可以
下面应该解决的
实现每天账目的总计
实现删除用户和修改账目的功能。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值