C语言个人收支系统

  • 格式:pdf
  • 大小:75.85 KB
  • 文档页数:8

printf(" 10.退出\n"); //退出 printf(" *********************************\n"); do {printf("\n 输入选项(1-10):"); scanf("%d",&choice); //以整型数的形式保存选择号 }while(choice<1 || choice>10); //选择项不在 1~10 之间,重新选择 return choice; //返回选择项,主程序根据该返回值调用相应的函数 }
int enter(struct stu s[]) { int i=0,n=0,j; //char user[][10]={"liwenjian", wuchao"},cipher[][6]={"123","456" ,"789"}; do { printf("请输入用户名及密码:\n"); scanf("%s%s",s[index].user,s[index].cipher); for(j=0;j<3;j++) if(strcmp(s[index].user,user[j])==0 strcmp(s[index].cipher,cipher[j])==0) break; if(j==3) { printf("用户名及密码错误!\n"); n++; } }while(n<3); if(n==3) return 0; //input other term printf("收入信息"); printf("工资"); scanf("%f",struct Income I[i].gongzi); printf("奖金"); scanf("%f",struct Income I[i].jiangjin); printf("津贴"); scanf("%f",struct Income I[i].jintie); printf("中奖");
//显示信息
void print(struct stu s[],int a,struct Income I[],int b,struct Expense E[], int c); { int i; printf(" 用户信息"); printf("\n ******************************************************************************\n "); printf(" | 用户 |工资|奖金|津贴|中奖|收入总和|水电|通讯|伙食|交际|旅游|房租|支 出总和|\n"); printf(" |-------|----|----|----|----|--------|----|----|----|----|----|----|--------|\n") ; printf(" |%-8s|%-8f|%-8f|%-4f|%-4f|%-8f|%-8f|%-8f|%-4f|%-4f|%-8f|%-4f|%-8f|",s[i].user,I[ i].jiangjin,I[i].jintie,I[i].zhongjiang,I[i].total1 I[i].jiangjin,I[i].jintie,I[i].zhongjiang,I[i].total1 E[i].shuidian,E[i].tongxun,E[i].huoshi, E[i].jiaoji,E[i].lvyou,E[i].fangzu,E[i].total2 printf(" ******************************************************************************\n "); getchar(); }
"wangsiyao","
c); c); c); c); c); c); c); c);来自int menu();
int main() { struct stu person[M]; int length; for(;;) switch(menu()) //调用主菜单函数,返回值为整数,作开关语句的条件 {case 1: length=enter(person);break; //输入记录 case 2: print(person,length); break; //显示全部记录 case 3: search(person,length); break; //查找记录 case 4: length=insert(person,length); break; //插入记录 case 5: length=del(person,length); break; //删除记录 case 6: save(person,length); break; //保存文件 case 7: length=load(person); break; //读文件 case 8: sort(person,length); break; //排序 case 9: modify(person,length); break; //修改记录信息 case 10: return 0; //如果菜单返回值为 10,则程序结束 } }
C 语言个人收支系统.txt15 成熟的麦子低垂着头,那是在教我们谦逊;一群蚂蚁能抬走大骨 头,那是在教我们团结;温柔的水滴穿岩石,那是在教我们坚韧;蜜蜂在花丛中忙碌,那是 在教我们勤劳。#include"stdio.h" #include "string.h" #define M 100 struct stu {char user[10]; //用户名 char cipher[10]; //密码 struct Income; struct Expense; }; struct Income { float gongzi; float jiangjin; float jintie; float zhongjiang; float total1; }; struct Expense { float shuidian; float tongxun; float huoshi; float jiaoji; float lvyou; float fangzu; float total2; }; char user[][10]={"liwenjian", wuchao"},cipher[][6]={"123","456" ,"789"}; int index=0; int enter(struct stu s[],struct Income I[],struct Expense E[]); void print(struct stu s[],int a,struct Income I[],int b,struct Expense E[], int void search(struct stu s[],int a,struct Income I[],int b,struct Expense E[], int int insert(struct stu s[],int a,struct Income I[],int b,struct Expense E[], int int del(struct stu s[],int a,struct Income I[],int b,struct Expense E[], int void save(struct stu s[],int a,struct Income I[],int b,struct Expense E[], int int load(struct stu s[],int a,struct Income I[],int b,struct Expense E[], int void modify(struct stu s[],int a,struct Income I[],int b,struct Expense E[], int void sort(struct stu s[],int a,struct Income I[],int b,struct Expense E[], int
int menu() {int choice; printf(" MENU\n"); printf(" *********************************\n"); printf(" 1. 输入有户名及密码\n"); //输入记录 printf(" 2. 显示所有记录\n" ); // 显示所有记录 printf(" 3. 按用户名查找记录\n"); //按用户名查找记录 printf(" 4. 插入记录\n"); //插入记录到数组中 printf(" 5. 删除记录"); printf(" 6. 保存文件\n"); //将数组中的记录保存到文件中 printf(" 7. 从文件中读文件\n"); //从文件中读入记录 printf(" 8. 排序\n"); //排序 printf(" 9. 修改记录信息\n"); //修改记录信息
/*按用户查找记录信息*/ void search(struct stu s[],int a,struct Income I[],int b,struct Expense E[], int c); { char user[]; //存放姓名的字符数组 int i; printf("请输入用户名:"); scanf("%s",urer); //输入待查找的姓名 for(i=0;i<n;i++) //查找从第一条记录开始,直到最后一条记录为止 if(strcmp(user,s[i].user)==0) //待查找的姓名与数组中的记录姓名比较,相等则 显示找到的记录信息 {printf( "\n 找到的记录信息"); printf( "\n ******************************************************************************\n "); printf(" | 用户 |工资|奖金|津贴|中奖|收入总和|水电|通讯|伙食|交际|旅游|房 租|支出总和|\n"); printf("