當前位置:首頁 » 編程語言 » c語言家庭收入分類
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言家庭收入分類

發布時間: 2022-05-23 05:45:35

『壹』 求一個C語言的程序--個人收支管理系統

用TC2.0寫的.

/*=======個人收入支出管理系統======*/
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<dos.h>
#include<graphics.h>
struct DATA {
int y,m,d;
char brf[250];
long int money1,money2;
char iao;
struct DATA *next;
}data,*head=&data,*final=&data; /*鏈表節點定義*/
void clear(){
setfillstyle(1,9);
bar(0,0,640,480);
setfillstyle(0,14);
setlinestyle(0,0,2);
rectangle(100,100,540,380);
} /*清屏函數*/
void point(int x,int y){
union REGS in,out;
in.h.ah=2;
in.h.dl=y;
in.h.dh=x;
in.h.bh=0;
int86(0x10,&in,&out); /*游標重定位函數,使用了DOS 0x10號中斷2號功能*/
}
int check(int y,int m,int d)
{
int date[12]={31,28,31,30,31,30,31,31,30,31,30,31};
if(y>0){
if(m>0&&m<13){
if(((y%4==0&&y%100!=0)||(y%400==0))&&d==29) return 1;
if(d>0&&d<date[m-1]) return 1;
}
}
clear();point(10,20);
printf("Error!You input the illegal Date!");
point(11,20);printf("Press any key to continue!");
return 0;
} /*日期檢查函數*/
int check2(int y,int m,int d,int *y1,int *m1,int *d1)

『貳』 大一c語言編程實驗考試求助

應該就和模擬銀行一樣把,有點費勁,不過還是給你一些程序吧,不全:
1、實現用戶的登錄功能,要求用戶輸入賬號和密碼。登錄失敗應給出提示信息。
2、只允許同一個賬號連續密碼輸入錯誤三次,超過三次程序結束。
3、登錄成功後,提供以下功能:1為查詢余額;2為存款功能;3為取款功能;4為修改密碼;5為轉賬功能。(4和5為選做項目)。
部分核心代碼如下:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#define AN 9 //表示賬號8位
#define PN 7 //表示密碼6位
#define ASN 3 //表示系統中共有3個賬戶信息
struct Account
{
char accountnumber[AN]; //表示賬號信息
char password[PN]; //表示賬戶的密碼信息
double balance; //表示賬戶的余額
};
Account ats[ASN]={{"00000001","123456",100},{"00000002","123456",200},{"00000003","123456",300}};
//ats數組用於存儲系統中三個賬戶的信息
int isCorrect(char *an,char *psd)
{
int i;
for(i=0;i<ASN;i++)
if(strcmp( , )==0 && strcmp( , )==0)
return 1;
return 0;
}
double getBalance(char *an)
{
int i;
for(i=0;i<ASN;i++)
if(strcmp(an,ats[i].accountnumber)==0)
return ;
}
void deposit(char *an,int )
{
int i;
for(i=0;i< ;i++)
if(strcmp( , )==0)
ats[i].balance+=amount;
}
int withdraw( , )
{

}

void main()
{
char AccountNumber[AN]={'\0'};
char psd[PN]={'\0'};
int i,errorcount=0;
while(1)
{
printf("\n請輸入8位賬號:");
for(i=0;i<8;i++)
;
printf("\n請輸入6為密碼:");
for(i=0;i<6;i++)
{
;
putchar('*');
}
if(isCorrect( , )==1)
{
int tag,amount;
while(1)
{
printf("\n歡迎登錄銀行賬戶管理系統,請選擇您要的服務:1、查詢余額;2、存款操作;3、取款操作;4、退出系統\n");
;
switch(tag)
{
case 1:
printf("您現在的余額為%f元\n", );
break;
case 2:
printf("請輸入您的存款金額:");
scanf(" ", );
deposit( , );
printf("存款成功!您的當前余額為:%f元\n", );
;
case 3:
printf("請輸入您的取款金額:");
scanf("%d", );
if( )
printf("取款成功!您的當前余額為:%f元\n", );
else
printf("取款失敗!\n");
break;
case 4:
break;
}
if(tag==4)
break;
}

}
else
{
errorcount++;
if( ==3)
{
printf("您已經連續三次輸入錯誤,系統將自動關閉\n");
;
}
}
}
}

『叄』 c語言程序設計家庭財務報表,編寫成員信息錄入,錄入成員名字,序號,收入,支出,日期,用途等

定義一個結構體,你需要的都是成員,然後循環scanf

『肆』 如何用c語言編寫一個人的月收入

親,根據上面你自己說的,我給出我的推測

#include <stdio.h>

void main()

{

float a,b,c;

printf("請輸入你的月收入工資:");

scanf("%f",&a);

printf("請輸入你的總銷售額:");

scanf("%f",&b);

c=a+b*0.085;

printf("你的一個月總收入是:%0.2f ",c);

}

『伍』 C語言程序設計 個人收支管理

看看一樣郁悶的人

『陸』 做一個錄入系統,要學些什麼。 錄入家庭信息(戶主,成員,就業、收入等等)

啥也不用學,做個excel表格,把分類標題寫好後直接往裡填,填完了保存,下次填完再保存,方便又簡潔好用,為啥還要費勁去找個專門的系統啊

『柒』 家庭財務管理系統,無需鏈表的c語言代碼,實現成員的收入和支出的添

不用
鏈表
就用數組做
定義
結構體
,然後做結構體數組
寫添加
查詢
修改
刪除
統計
五個函數
主函數中做一個菜單選擇就好。

『捌』 c語言程序設計試題:要求設計一個家庭賬務管理系統

以前我會用文件保存,現在一般用資料庫了,寫了你也看不懂

『玖』 C語言編寫家庭收支管理程序

給你寫了個,不過沒寫好,你自己給改改吧!將就著,還能用,統計信息和退出時保存有點問題,自己給改改吧!英語不好本人,用拼音寫的!

#include"stdio.h"
#include"string.h"
#include"stdlib.h"
#include"math.h"

#define TIAOSHU 100
#define CHENGGONG 1
#define SHIBAI 0
#define SHOURU 1
#define ZHICHU 2
#define ZENGJIA 1
#define SHANCHU 2
#define XIUGAI 3
#define CHAXUN 4
#define TONGJI 5
#define TUICHU 6

/*以下定義全局變數*/
struct shouxinxi
{
char xingming[20];
char laiyuan[40];
char riqi[20];
char shumu[10]; /*用double貌似讀不出來*/
}jilu[TIAOSHU];
/*定義收支情況結構體,TIAOSHU表示最大的容量,可自行更改*/
char xuanze;
/*該數據用於接收選擇信息*/
int tishi;
/*用於接收各函數返回的提示信息*/
int dijitiao=0;
/*用於表示當前是第幾條信息*/
int i;
/*用於存放臨時的條數,相當於零食的dijitiao*/
char linshi[40];
double linshi2;
/*用於存放一些臨時信息*/

/*代碼*/

/*用於保存信息*/
void baocun()
{
FILE *fp;
fp=fopen("shouguanli.txt","w+");
for(i=0;i<dijitiao;i++)
{
fprintf(fp,"%s ",*jilu[i].xingming);
fprintf(fp,"%s ",*jilu[i].laiyuan);
fprintf(fp,"%s ",*jilu[i].riqi);
fprintf(fp,"%s ",*jilu[i].shumu);
}
fclose(fp);
}

/*用於輸出查詢到的信息*/
int shuchu(int i)
{
printf("\n\n \37~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\37\n");
printf(" \23 \3.收 支 人 員 姓 名:%-20s\23\n",jilu[i].xingming);
printf(" \23 \3.收 支 來 源 或 去 向:%-17s\23\n",jilu[i].laiyuan);
printf(" \23 \3.收 支 日 期:%-26s\23\n",jilu[i].riqi);
printf(" \23 \3.收 支 數 目:%-26s\23\n",jilu[i].shumu);
printf(" \36~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\36\n");
return CHENGGONG;
}

/*用於新建*/
void xinzeng(int dijitiao)
{
while(1)
{
printf("\n請輸入收入或支出人員的姓名:");
scanf("%s",jilu[dijitiao].xingming);
printf("\n請輸入收入來源或支出去向:");
scanf("%s",jilu[dijitiao].laiyuan);
printf("\n請輸入收入或支出的日期:");
scanf("%s",jilu[dijitiao].riqi);
printf("\n請輸入收入或支出的數目:");
scanf("%s",jilu[dijitiao].shumu);
printf("是否保存這條信息? <Y/N>\n");
xuanze=getch();
if(xuanze=='Y' || xuanze=='y')
{
dijitiao++;
printf("保存成功\n");
}
printf("是否繼續添加新記錄? <Y/N>\n");
xuanze=getch();
printf("\n");
if(xuanze=='N' || xuanze=='n')
break;
}
}

/*用於刪除*/
void shanchu()
{
int xuhao=0,biaoshi[20]={-1};
while(1)
{
printf("\n請選擇查詢要刪除的記錄的方式: 1.姓名 2.來源或去向 3.日期 4.數目\n");
xuanze=getch();
xuanze=xuanze-48;
switch(xuanze)
{
case 1:
printf("請輸入要查詢的姓名:");
scanf("%s",linshi);
for(i=0;i<dijitiao;i++)
if(strcmp(jilu[i].xingming,linshi)==0) /*查詢*/
{
xuhao++;
biaoshi[xuhao]=i;
printf("\n\n%10d.->",xuhao);
tishi=shuchu(i);
}
if(tishi!=CHENGGONG)
printf("未找到相關記錄\n");
break;
case 2:
printf("請輸入要查詢的來源或去向:");
scanf("%s",linshi);
for(i=0;i<dijitiao;i++)
if(strcmp(jilu[i].laiyuan,linshi)==0) /*查詢*/
{
xuhao++;
biaoshi[xuhao]=i;
printf("\n\n%10d.->",xuhao);
tishi=shuchu(i);
}
if(tishi!=CHENGGONG)
printf("未找到相關記錄\n");
break;
case 3:
printf("請輸入要查詢的日期:");
scanf("%s",linshi);
for(i=0;i<dijitiao;i++)
if(strcmp(jilu[i].riqi,linshi)==0) /*查詢*/
{
xuhao++;
biaoshi[xuhao]=i;
printf("\n\n%10d.->",xuhao);
tishi=shuchu(i);
}
if(tishi!=CHENGGONG)
printf("未找到相關記錄\n");
break;
case 4:
printf("請輸入要查詢的數目:");
scanf("%s",linshi);
for(i=0;i<dijitiao;i++)
if(strcmp(jilu[i].shumu,linshi)==0)
{
xuhao++;
biaoshi[xuhao]=i;
printf("\n\n%10d.->",xuhao);
tishi=shuchu(i);
}
if(tishi!=CHENGGONG)
printf("未找到相關記錄\n");
break;
default:printf("輸入錯誤\n");
}
printf("請輸入記錄左上角對應的序號:");
xuanze=getch();
printf("\n");
xuanze=xuanze-48;
if(biaoshi[xuanze]!=-1 && xuanze<=xuhao && xuanze>0)
{
biaoshi[0]=biaoshi[xuanze];
printf("確認刪除? <Y/N> \n");
xuanze=getch();
if(xuanze=='Y' || xuanze=='y')
{
strcpy(jilu[biaoshi[0]].xingming,"\0");
strcpy(jilu[biaoshi[0]].laiyuan,"\0");
strcpy(jilu[biaoshi[0]].riqi,"\0");
strcpy(jilu[biaoshi[0]].shumu,"\0");
printf("刪除成功\n");
}
}
else printf("輸入錯誤.\n");
printf("是否繼續刪除? <Y/N> \n");
xuanze=getch();
printf("\n");
if(xuanze=='N' || xuanze=='n')
break;
}
}

/*用於修改*/
void xiugai()
{
struct shouxinxi linshijilu;
int xuhao=0,biaoshi[20]={-1};
while(1)
{
printf("\n請選擇查詢要修改的記錄的方式: 1.姓名 2.來源或去向 3.日期 4.數目\n");
xuanze=getch();
xuanze=xuanze-48;
switch(xuanze)
{
case 1:
printf("請輸入要查詢的姓名:");
scanf("%s",linshi);
for(i=0;i<dijitiao;i++)
if(strcmp(jilu[i].xingming,linshi)==0) /*查詢*/
{
xuhao++;
biaoshi[xuhao]=i;
printf("\n\n%10d.->",xuhao);
tishi=shuchu(i);
}
if(tishi!=CHENGGONG)
printf("未找到相關記錄\n");
break;
case 2:
printf("請輸入要查詢的來源或去向:");
scanf("%s",linshi);
for(i=0;i<dijitiao;i++)
if(strcmp(jilu[i].laiyuan,linshi)==0) /*查詢*/
{
xuhao++;
biaoshi[xuhao]=i;
printf("\n\n%10d.->",xuhao);
tishi=shuchu(i);
}
if(tishi!=CHENGGONG)
printf("未找到相關記錄\n");
break;
case 3:
printf("請輸入要查詢的日期:");
scanf("%s",linshi);
for(i=0;i<dijitiao;i++)
if(strcmp(jilu[i].riqi,linshi)==0) /*查詢*/
{
xuhao++;
biaoshi[xuhao]=i;
printf("\n\n%10d.->",xuhao);
tishi=shuchu(i);
}
if(tishi!=CHENGGONG)
printf("未找到相關記錄\n");
break;
case 4:
printf("請輸入要查詢的數目:");
scanf("%s",linshi);
for(i=0;i<dijitiao;i++)
if(strcmp(jilu[i].shumu,linshi)==0)
{
xuhao++;
biaoshi[xuhao]=i;
printf("\n\n%10d.->",xuhao);
tishi=shuchu(i);
}
if(tishi!=CHENGGONG)
printf("未找到相關記錄\n");
break;
default:printf("輸入錯誤\n");
}
printf("請輸入記錄左上角對應的序號:");
xuanze=getch();
xuanze=xuanze-48;
if(biaoshi[xuanze]!=-1 && xuanze<=xuhao && xuanze>0)
{
biaoshi[0]=biaoshi[xuanze];
printf("\n請輸入新姓名:");
scanf("%s",linshijilu.xingming);
printf("\n請輸入新收入來源或支出去向:");
scanf("%s",linshijilu.laiyuan);
printf("\n請輸入新收入或支出的日期:");
scanf("%s",linshijilu.riqi);
printf("\n請輸入新收入或支出的數目:");
scanf("%s",linshijilu.shumu);
printf("確認修改? <Y/N> \n");
xuanze=getch();
if(xuanze=='Y' || xuanze=='y')
{
strcpy(jilu[biaoshi[0]].xingming,linshijilu.xingming);
strcpy(jilu[biaoshi[0]].laiyuan,linshijilu.laiyuan);
strcpy(jilu[biaoshi[0]].riqi,linshijilu.riqi);
strcpy(jilu[biaoshi[0]].shumu,linshijilu.shumu);
printf("修改成功\n");
}
}
else printf("輸入錯誤.\n");
printf("是否繼續修改? <Y/N> \n");
xuanze=getch();
printf("\n");
if(xuanze=='N' || xuanze=='n')
break;
}
}

/*用於查詢*/
void chaxun(void)
{
while(1)
{
printf("\n請選擇查詢方式: 1.姓名 2.來源或去向 3.日期 4.數目\n");
xuanze=getch();
xuanze=xuanze-48;
switch(xuanze)
{
case 1:
printf("請輸入要查詢的姓名:");
scanf("%s",linshi);
for(i=0;i<dijitiao;i++)
if(strcmp(jilu[i].xingming,linshi)==0) /*查詢*/
tishi=shuchu(i);
if(tishi!=CHENGGONG)
printf("未找到相關記錄\n");
break;
case 2:
printf("請輸入要查詢的來源或去向:");
scanf("%s",linshi);
for(i=0;i<dijitiao;i++)
if(strcmp(jilu[i].laiyuan,linshi)==0) /*查詢*/
tishi=shuchu(i);
if(tishi!=CHENGGONG)
printf("未找到相關記錄\n");
break;
case 3:
printf("請輸入要查詢的日期:");
scanf("%s",linshi);
for(i=0;i<dijitiao;i++)
if(strcmp(jilu[i].riqi,linshi)==0) /*查詢*/
tishi=shuchu(i);
if(tishi!=CHENGGONG)
printf("未找到相關記錄\n");
break;
case 4:
printf("請輸入要查詢的數目:");
scanf("%s",linshi);
for(i=0;i<dijitiao;i++)
if(strcmp(jilu[i].shumu,linshi)==0)
tishi=shuchu(i);
if(tishi!=CHENGGONG)
printf("未找到相關記錄\n");
break;
default:printf("輸入錯誤\n");
}
printf("是否繼續查詢? <Y/N>");
xuanze=getch();
if(xuanze=='N' || xuanze=='n')
break;
}
}

/*將字元串轉換為浮點數*/
double zhuanhuan(char *str)
{
int zhengshu=0,xiaoshu=0,neixing=1,shu,zhengfu=1;
double jieguo=0;
zhengshu=strlen(str);
switch(str[0])
{
case '-':
str[0]='0';
zhengfu=-1;
break;
case '+':
str[0]='0';
zhengfu=1;
break;
}
for(i=0;str[i]!='\0';i++)
if(str[i]='.')
{
zhengshu=i;
break;
}
for(i=0;str[i]!='\0';i++)
{
if(str[i]!='.' && neixing==1)
{
shu=zhengshu-i-1;
jieguo=jieguo+(str[i]-48)*pow(10,shu);
}
else
{
if(str[i]=='.')
neixing=0;
else
{
shu=i-zhengshu-1;
jieguo=jieguo+(str[i]-48)*pow(10,shu);
}
}
}
if(zhengfu==-1)
return -jieguo;
return jieguo;
}

/*用於統計*/
void tongji(void)
{
double shumu=0,shumu2;
char riqi1[10],riqi2[10];
while(1)
{
printf("\n請輸入起始日期(含該日,年四位,月日兩位):");
scanf("%s",riqi1);
printf("\n請輸入截止日期(含該日,年四位,月日兩位):");
scanf("%s",riqi2);
if(strcmp(riqi1,riqi2)<0)
for(i=0;i<dijitiao;i++)
if(strcmp(riqi1,jilu[i].riqi)<=0 && strcmp(riqi2,jilu[i].riqi)>=0)
{
shumu2=zhuanhuan(jilu[i].shumu);
shumu=shumu+shumu2;
}
else printf("輸入有誤.\n");
printf("\n該時間段內總收支情況為:%.2f\n",shumu);
printf("\n是否繼續統計? <Y/N> ");
xuanze=getch();
printf("\n");
if(xuanze=='N' || xuanze=='n')
break;
}
}

/*導入文件上的信息,相當於初始化*/
int ruxinxi()
{
FILE *fp;
if((fp=fopen("shouguanli.txt","r+"))==NULL)
{
printf("當前收支情況文件不存在.\n");
if((fp=fopen("shouguanli.txt","w+"))==NULL)
{
printf("未知錯誤導致未能建立新文件,按任意鍵結束程序.\n");
getch();
exit(0);
}
else
{
fclose(fp);
printf("建立新文件成功,是否開始新建記錄. <Y\\N>\n");
xuanze=getch();
if(xuanze=='Y' || xuanze=='y')
xinzeng(dijitiao);
}
}
else
{
for(dijitiao=0;(dijitiao<TIAOSHU && !feof(fp));dijitiao++)
{
fscanf(fp,"%s ",jilu[dijitiao].xingming);
fscanf(fp,"%s ",jilu[dijitiao].laiyuan);
fscanf(fp,"%s ",jilu[dijitiao].riqi);
fscanf(fp,"%s ",jilu[dijitiao].shumu);
}
fclose(fp);
return CHENGGONG;
}
return SHIBAI;
}

/*主函數*/
void main()
{
if(ruxinxi()==CHENGGONG) /*若導入成則開始主菜單*/
{
int xunhuan=1; /*用於控制循環*/
while(xunhuan)
{
printf("\n\n\n \37~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\37\n"); /*以下輸出提示信息*/
printf(" \23 導 入 收 支 情 況 成 功. \23\n");
printf(" \23~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\23\n");
printf(" \23 \1 1. 增 加 新 記 錄 \23\n");
printf(" \23 \1 2. 刪 除 已 有 記 錄 \23\n");
printf(" \23 \1 3. 修 改 已 有 記 錄 \23\n");
printf(" \23 \1 4. 查 詢 已 有 記 錄 \23\n");
printf(" \23 \1 5. 統 計 一 段 時 間 內 的 數 據 \23\n");
printf(" \23 \1 6. 退 出 該 系 統 \23\n");
printf(" \36~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\36\n\n");
printf("請選擇要執行的操作:");
xuanze=getch(); /*選擇操作*/
xuanze=xuanze-48; /*前面接收的是1的ASC碼實際上是49而不是1,轉換一下*/
switch(xuanze)
{
case ZENGJIA:xinzeng(dijitiao);break;
case SHANCHU:shanchu();break;
case XIUGAI:xiugai();break;
case CHAXUN:chaxun();break;
case TONGJI:tongji();break;
case TUICHU:xunhuan=0;break;
default:printf("輸入錯誤.\n");
}
}
}
baocun(); /*保存更改*/
}

『拾』 要做一個家庭賬目管理系統的C語言作業,哪位大神會,做了發給我啊,郵箱[email protected]

一般這個要收費的
我可以免費提供
但我有JAVA的 C語言的 沒有