zoukankan      html  css  js  c++  java
  • 纯c小项目,小码资金管理工具moneykeeper

     流浪舟

    公众号:小码之光


    你小码哥回来啦!最近闷得慌,又在学java(自学,想走这条路,哎,一个人找到所爱的真的很难,说不定哪天真的挂了,就来不及了),慢慢地觉得特别吃力了,主要是学习环境不好,住在一个‘破房子’里,人口又多,真的是烦,而且还不是自个家(没家)。有意识地数了数钱口袋,发现是真的穷死光,哎!!!郁闷啊啊啊!感觉连自个亲人都被抛弃地感觉!(**除了自己,谁都别信!**因为别指望他们能帮你买房买车,理解你的世界!) 总想做点什么,于是敲了敲几行代码,做了个小钱钱管理工具,以后方便看看钱兜(哎!),自己觉得挺简单实用地就分享给大家了,源码也给哈!
    下载地址 【https://github.com/coderxm/moneykeeper】: 小码理财moneykeeper 


    项目代码
    #include<stdio.h>
    #include<string.h>
    #include<windows.h>
    #include<conio.h>
    
    
    // 户名结构体 
    typedef struct{
    	char hum[100];
    //	char money[10];
    }hums;
    
    // 构造函数
    void outdata(void); 
    void empty(char *sf);
    void putdata(hums *hm);
    void qorw(hums *hm);
    int strint(char *s);
    
    int main(void){
    		
    	hums zhanghu[11];	//定义户名结构体数组 
    	char get[4]; 
    	char command[4];
    	
    	FILE *fpr;
    	fpr = fopen("E:\wokfilc\moneykeeper\data.txt","r");
    	fgets(get,5,fpr);
    	fclose(fpr);
    	
    	if(get==''||get==" "){
    		printf("无账户信息!");
    		qorw(zhanghu);
    	}else{
    		outdata();
    		printf("请继续写入wd或退出quit:
    ");
    		scanf("%s",command);
    		if(strcmp(command,"quit")==0){
    			exit(0);
    		}else if(strcmp(command,"wd")==0){
    			putdata(zhanghu);
    			outdata();
    			qorw(zhanghu);
    		}else{
    			printf("输入错误,请重新输入:
    ");
    			qorw(zhanghu);
    		}
    	}
    	
    	return 0;
    } 
    
    //输出信息 
    void outdata(){
    	FILE *fpr;
    	fpr = fopen("E:\wokfilc\moneykeeper\data.txt","r");
    	
    	int sum=0;
    	char DataStr[100];
    	printf("*****$$*****
    正在输出账户信息:
    ");
    	while(feof(fpr)==0){
    		fseek(fpr,0L,SEEK_CUR);				//?
    		fgets(DataStr,100,fpr);
    		if(DataStr!=''&&DataStr!=" "){
    			printf("%s 
    ",DataStr);
    		}		
    		sum = sum+strint(DataStr);
    		empty(DataStr);
    	} 
    	fclose(fpr);
    	printf("您的总资金合计为:%d元
    ",sum);
    }
    
    //empty初始化清空数组 
    void empty(char *sf){
    	int sfsize = 0;
    	sfsize = sizeof(sf); 
    	for(int n=0;n<sfsize;n++){
    		sf[n] = ''; 
    	}
    } 
    
    //写入数据 
    void putdata(hums *hm){
    	FILE *fpw;
    	fpw = fopen("E:\wokfilc\moneykeeper\data.txt","w+");
    	
    	int i = 0;
    	char input[100];
    	printf("(回车)请写入账户数据:
    ");
    	
    	do{
    		int len = 0;
    		empty(input); 
    		printf("请写入第%d个账户数据:
    ",i+1);
    		scanf("%s",input);	
    		len = strlen(input);
    		strcpy(hm[i].hum,input); 
    		strcat(hm[i].hum,"
    ");
    		fputs(hm[i].hum,fpw);
    		i = i+1;
    	}while( (strcmp(input,"end"))!=0&&(i<11) );
    	
    	fclose(fpw);	//写入完毕后关闭文件 
    }
    
    //字符串中提取数字 
    int strint(char *s){
    	int slen=0;
    	int Money=0;
    	int ml = 0;
    	char money[10];
    	slen = strlen(s);
    	for(int n=0;n<slen;n++){
    		if(s[n]>=48&&s[n]<=57){
    			money[ml]=s[n];
    			ml++;
    		}
    	}
    	Money = atoi(money);
    	return Money;
    }
    
    //选择(退出或重新写入)函数
    void qorw(hums *hm){
        char getput[10];
    	printf("请选择(重新)输入wrdo或退出quit:
    ");
    	scanf("%s",getput);
    	while(strcmp(getput,"quit")!=0){
    		if(strcmp(getput,"quit")==0){
    			return;
    		}else if(strcmp(getput,"wrdo")==0){
    			putdata(hm);
    			qorw(hm);
    			return;
    		}else{
    			printf("重新输入,");
    			qorw(hm);
    			return;
    		}
    	}
    } 
    
    
    
    

    源码讲解就不用了吧!相信坚定走这路的人学过c,能看懂吧!主要是也让大家有个真实的现实观,好好管管小钱钱,别胡乱挥霍,以后说不定有大用处!至少能给你一个真正的家(一个固定的住处)!好啦!拜拜,学习去喽!


    最后:
    个人站点:小破站 https://www.maliaoblog.cn
    公众号:小码之光

  • 相关阅读:
    『Nltk』常用方法
    『Kaggle』分类任务_决策树&集成模型&DataFrame向量化操作
    『Pandas』数据读取&DataFrame切片
    『TensotFlow』RNN中文文本_下_暨研究生开学感想
    『Scrapy』爬取斗鱼主播头像
    『Scrapy』爬取腾讯招聘网站
    『TensorFlow』梯度优化相关
    『Scrapy』终端调用&选择器方法
    『Scrapy』全流程爬虫demo
    使用VS2013、TFS2013和Git进行分布式团队协作
  • 原文地址:https://www.cnblogs.com/coderma/p/12886177.html
Copyright © 2011-2022 走看看