第三题。你不知道的事吉他谱错哪里了。 求助。谢谢。c语言

C语言的了一道题,求助各位谢谢。第一小题_百度知道
C语言的了一道题,求助各位谢谢。第一小题
//h.hiphotos.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="http&nbsp.hiphotos://h.com/zhidao/pic//zhidao/wh%3D600%2C800/sign=9aa81f653e01213fcfae9/4e4a20aea86ae750e0cf3d6cad680.jpg" esrc="http.baidu.hiphotos://h;<a href="/zhidao/wh%3D450%2C600/sign=6c544a6b31d12f2ece50a/4e4a20aea86ae750e0cf3d6cad680.baidu
提问者采纳
{&&&nbsp#includ&a;&&&c&&&&&&}if(b&c)&&nbsp,&&&&&max=a;&min=c&&{&&&else&mid=a;&&&&&b)&&Please&}a=&&&&&mid=b:&&%d%d%d&&&{&&scanf(&&&&&&&mid=c;&input&&&&nbsp,b;max=c;&mid=b;&&a;&;a&&&&&&nbsp,a;&&nbsp,b;&&&}if(c&&c)&&b=%d;&&&&&&&&&&&&&&&&&&&&&&&{&c);&&&&&&&&&&&&&&nbsp,c;&c)&&&&&&&&&&c)&&{&&&&&&&&&&&&&&&&if(a&&&&&&&&&&&&amp,b;&}&&printf(&quot,a&&&\na=%d;&&&{&&&&&&nbsp,c;&nbsp,&&&&nbsp,&&}&min=b;b)&&&&&&&&&&&b&&&&}&&&&&min=b&&&a;&else&&getch();&&&&&&&&&&&&&&{&&&main(){int&);b;{&c=&&&c=%d&&if(a&&}&&&&&&&&&&&a&&nbsp,&if(b&&nbsp,c);&&&&&min=a;&}&nbsp,&&b&b=&&&&&min=c;&&else&;&&&&&&max=b.h&&&&}&mid=c;min=b;&if(a&mid=a;&printf(&&{&&nbsp
提问者评价
太给力了,你的回答完美地解决了我的问题,非常感谢!
其他类似问题
为您推荐:
c语言的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁C语言3道选择题。每道题要说明理由。我做错的,但不知道原因。谢谢_百度知道
C语言3道选择题。每道题要说明理由。我做错的,但不知道原因。谢谢
若有以下定义;
(B)char t[]=”English”,不正确的操作是__________、对int a[3][3]1,t),*p=&a[0][0];(C)char *p;gets(p);则不能代表字符m的表达式是__________;
(D)char *p、以下语句或语句组中;scanf(“%s”,*ps3;p=”English”;2: chars[10]=”Computer”,*ps=s。(A)ps+2
(D)ps+=2。(A)char t[50]
答案是D、A、C
提问者采纳
a[2][1]就是第7个(注意从0开始数)元素;不正确。第二题,前者是初始化:规则规定不能给char *型指针赋值一个字符串常量第一题,后者是赋值,错了,+4后刚好指向这个数。即char *p=&English&quot,本来(a+2)就是最后一行的指针,而char *p;看一下*(a+2)[1]。所以;正确;*(a[1]+4)是把a[1]当指针,所以C正确;p=&English&quot,可是(a+2)前多了个*,但*的优先级比[]低;:一共9个元素。第三题:ps+2是指针。最后答案是2个能取到这个元素,不是取值,用*取出来没有错,所以*(a+2)[1]是把a[2][1]这个元素值当指针取它指向的值了;若是*(ps+2)就取到m了,顺序从0排到8,后面加上[1]就取到这个数了,p[7]显然是对的,char *型指针只可以用一个字符串“初始化”
提问者评价
其他类似问题
为您推荐:
其他3条回答
空间分配连续;English”是字符串常量所以不能这么表达 2&数组分配的内存空间是在栈中的1& ps+2表示m字符的地址不是值 *(ps+2)就对了 3&gt。a[3][3] = (a[0][0]~a[2][2])一共九个值
a[2][1]在第八个; p中存的是地址 *p表示地址对应的值 &quot
我认为C选项才是“不正确的操作”。因为它只声明了一个指针变量,首先,它没有赋初值,所以这个指针变量指向哪里是不确定的。即使赋了初值也不行,因为gets函数会读入一个字符串,而p指向的只有一个内存单元,根本放不下一个字符串数组。正确做法是像选项A那样,把p声明为一个char数组。
ps+2得到的只是一个地址值,对这个地址取值(*(ps+2))才会得到字符m。
p[7]可以取到a[2][1]。因为p是int*类型的,而二维数组的元素是在内存中是连续而且是线性排列的,所以从p所指向的a[0][0](数组第一个元素)向后移7个位置恰好就是a[2][1](数组第八个元素)。
*(a[1]+4)可以取到。因为a[1]就是第二行第一个元素的指针(也即是第四个元素),把它加4之后就是指向数组的第八个元素...
第一题的D选项在gcc编译器下顺利通过,其他也都没问题呀
c语言的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁刚开始学C语言,请学长学姐看下我这个C程序哪里错了,谢谢!_中南大学吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:308,424贴子:
刚开始学C语言,请学长学姐看下我这个C程序哪里错了,谢谢!收藏
#include &stdio.h&;#include &math.h&;int main (void){double a,b,c,x1,x2,p,q,m;printf(&Please put into the numbers of a b c:\n&);scanf(&%1f%1f%1f&,&a,&b,&c);p=b*b-4*a*c;if (p&0) {printf(&The numbers are wroung\n&);return 0;}else {m=sqrt(p)/(2.0*a);q=-b/(2*a);x1=q+m;x2=q-m;printf(&x1=%1f\nx2=%1f&,x1,x2);return 0;}}这是求一个一元二次方程组的解的一个C程序,且a不等于0.
TOEFL 考试,90% 的考生均进入了第一或第二志愿的大学。
编译的时候说没有错误,但运行的时候就出错了。
看不出错误
单词写错了
看不出错误,但是这程序的健壮性真够差的
用VC++运行,没有错误。
你那个是%lf还是%1f,应该是%lf
把前面对参数定义的时候直接赋值为0
1. #include &stdio.h&; 不需要分号,这是预处理命令,5. %1f应该是%lf
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或求教一道C语言题目,不知道错在哪里,谢谢大家啦_百度知道
求教一道C语言题目,不知道错在哪里,谢谢大家啦
fatal error C1004;p=fun(&a,b;: error C2146:a=%d;Program Files (x86)&#92;printf(&quot,b;Cpp1.cpp(3) .exe 时出错,*p=%d&#92.;&#39;n&,&b): unexpected end of file found执行 cl, 0 warning(s)这是怎么回事呢,*p);int *fun(int *x,不懂;main&#39,int *y){if(*x&Cpp1,&b);}--------------------Configuration#include &Microsoft Visual Studio&#92;bug&#92.cpp(3) ,b=%d,a..h&bug&#92;scanf(&quot:&#92;}int *fun(int *x.Cpp1.Cpp1;*y) return x: Cpp1 - Win32 Debug--------------------Compiling,int *y)main(){%d%d&quot.cppC;C,*p:&#92: missing &#39。;,&a.exe - 1 error(s);Microsoft Visual Studio&#92; before identifier &#39;Program Files (x86)&#92
什么时候要分号呀?书上好多都没分号,这个该怎么分辨呢?
提问者采纳
b);*y){if(*x&printf(&quot,b=%d;}int&}&return&nbsp,&*x;stdio,*p=%d\n&a=%d,*p);x,int&nbsp,&%d%d&quot,&y;int&*y)&scanf(&quot,*p,&amp,一般一个语句结束时要分号;int&nbsp.h&gt,&amp。当然你先写fun函数再写main函数就可以不要声明也不要分号了;scanf(&return&b),比如修改成下面那样#include&a;;*fun(int&nbsp,*p);p=fun(&amp.h&gt,*p=%d\n&*x;*y);b);&lt,*p!C++中的分号是表示一个语句的结束;int&nbsp,a,b;&y,b;return&nbsp,b=%d;,&amp,b;*fun(int&b),int&}main(){&nbsp,a;a;a;a,这就要根据具体情况讨论;*y)&关于什么时候要分号;*fun(int&int&nbsp。函数声明要分号;;*x;%d%d&a=%d;*y){if(*x&a;//函数声明要加分号main(){&p=fun(&printf(&return&nbsp,b,int&a;x;#include&nbsp
提问者评价
其他类似问题
为您推荐:
c语言的相关知识
其他1条回答
人家说了,在函数定义的时候缺少分号。main前面
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁救命啊!!好急啊!!帮忙看下面的C语言程序哪里出错啊!!谢谢了
救命啊!!好急啊!!帮忙看下面的C语言程序哪里出错啊!!谢谢了
这是输入的
输出却成这样了
再换一个数输入
#include&stdio.h&#include&string.h&#include&stdlib.h&#include&malloc.h&#define LEN sizeof(struct family_financial)struct family_financial{&int&&&&&&&&&&&&&&&& //表示年份&int&&&&&&&&&&&&&&& //表示月份 &char& name[12];&&&&&&&&&& //家庭成员名单 &float&&&&&&&&&&&&& //表示本次金额&int&&& fee_&&&&&&&&& //表示本次费用类别 1:收入;0:支出&char& detail[20];&&&&&&&& //描述该费用的用途;&struct family_financial*//定义一个链表};//创建结构体指针struct family_financial*fam_p; void add_income();&&& //添加收入struct family_financial*search_income();& //查询收入void delete_income();& //删除收入void update_income();& //修改收入void add_payout();&&&& //添加支出struct family_financial*& search_payout();&& //查询支出void delete_payout();& //删除支出void pdate_payout();&& //修改支出void count_total();&&& //统计总收入和总支出void quit();&&&&&&&&&& //退出系统
//以下是main函数main(){& //以下为家庭财务管理系统菜单功能 &while(1)&{&&&& & system("cls");& printf("\n");& printf("\n");& printf("&&&&&&& **********家庭财务管理系统**********\n ");& printf("\n");& printf("&&&&&&& ************************************\n "); & printf("&&&&&&&&&&&&&&&&&& 收入管理&&&&&&&&&&&&&&&&& \n");& printf("&&&&&&&&&&&&&&&&&&&& 1.添加收入&&&&&&&&&&&&& \n"); & printf("&&&&&&&&&&&&&&&&&&&& 2.查询收入明细&&&&&&&&& \n");& printf("&&&&&&&&&&&&&&&&&&&& 3.删除收入&&&&&&&&&&&&& \n");& printf("&&&&&&&&&&&&&&&&&&&& 4.修改收入&&&&&&&&&&&&& \n");& printf("&&&&&&& *************************************\n");& printf("&&&&&&&&&&&&&&&&&& 支出管理&&&&&&&&&&&&&&&&& \n");& printf("&&&&&&&&&&&&&&&&&&&& 5.添加支出&&&&&&&&&&&&& \n"); & printf("&&&&&&&&&&&&&&&&&&&& 6.查询支出明细&&&&&&&&& \n");& printf("&&&&&&&&&&&&&&&&&&&& 7.删除支出&&&&&&&&&&&&& \n");& printf("&&&&&&&&&&&&&&&&&&&& 8.修改支出&&&&&&&&&&&&& \n");& printf("&&&&&&& *************************************\n"); & printf("&&&&&&&&&&&&&&&&&& 统计&&&&&&&&&&&&&&&&&&&&& \n");& printf("&&&&&&&&&&&&&&&&&&&& 9.统计总收入和总支出&&& \n");& printf("&&&&&&& *************************************\n"); & printf("&&&&&&&&&&&&&&&&&&&& 0.退出系统&&&&&&&&&&&&& \n");& printf("&&&&&&& &请选择要进行的操作&&&&&&&&&&&&&&&&& \n");& scanf("%d",&choice);& switch(choice)& {& case 1: add_income();&&& //添加收入& case 2: search_income();& //查询收入& case 3: delete_income();& //删除收入& case 4: update_income();& //修改收入& case 5: add_payout();&&& //添加支出& case 6: search_payout(); //查询支出& case 7: delete_payout();& //删除支出& case 8: pdate_payout();& //修改支出& case 9: count_total();&& //统计总收入和总支出& case 0: quit();&&&&&&&&& //退出系统& default:&&&&&&&&&&&&&&&&&&&&&&& //输入错误&& {&&& printf("\n");&&& printf("\n");&&&&&&&&&&&&&&&&&&&&&&& &&& system("cls");&&& printf("&&&&&& 您的输入有误,请从新输入&&&&&& \n");&&& system("PAUSE"); && }& }&}}void add_income() {&&&&&&&&&& &FILE * //定义文件指针&fam_p=(struct family_financial*) malloc(LEN); &system("cls");&printf("\t请输入年份:");&scanf("%d",&fam_p-&year);&printf("\t请输入月份:");&scanf("%d",&fam_p-&month);&printf("\t请输入家庭成员名单:");&scanf("%s",&fam_p-&name);&printf("\t本次金额:");&scanf("%f",&fam_p-&money);&printf("\t请输入本次费用类别1:收入;0:支出;:");&scanf("%f",&fam_p-&fee_type);&printf("\t该费用用途:");&scanf("%s",&fam_p-&detail);&fp=fopen("txl","a");/*/打开文件&//将指针结构体中的数据写入文件& */&if (fwrite(fam_p,sizeof(struct family_financial),1,fp)==0)& printf("error\n");&fclose(fp);&free(fam_p);&&&&& &system("PAUSE");} struct family_financial* search_income() {& & struct family_financial*& struct family_financial*p1,*p2;& FILE *& int n=0;& int a,b;& fp=fopen("txl","r");& if (fp == NULL)& {& printf("打开文件失败!\n");& exit(2);& }& system("cls");& p1=p2=(struct family_financial*)malloc(LEN);& fread(p1,LEN,1,fp);& head=NULL;& do&& {n=n+1;&& if(n==1)head=p1;&& else && p2-&next=p1;&& p2=p1;&& p1=(struct family_financial*)malloc(LEN);&& fread(p1,LEN,1,fp);&& printf("请输入要查找的年份:");&& scanf("%d",&a);&& printf("请输入要查找的月份:");&& scanf("%d",&b);&& if((p1-&year==a)&&(p1-&month==b))&& && printf("%d-%d %s %f %d %s", p1-&year, p1-&month, p1-&name, p1-&money, p1-&fee_type, p1-&detail);&& else&& printf("您的输入有错误"); && p2-&next=NULL;&&&&& && }while(p1-&next!=NULL);&& fclose(fp);&& free(p1); && system("PAUSE");&& return(head);} void delete_income(){&system("cls");&printf("&&&&&&&& 模块正在建设中.......\n");&system("PAUSE");} void update_income(){&system("cls");&printf("&&&&&&&& 模块正在建设中.......\n");&system("PAUSE");} void add_payout(){FILE * //定义文件指针&fam_p=(struct family_financial*) malloc(LEN); &system("cls");&printf("\t请输入年份:");&scanf("%d",&fam_p-&year);&printf("\t请输入月份:");&scanf("%d",&fam_p-&month);&printf("\t请输入家庭成员名单:");&scanf("%s",&fam_p-&name);&printf("\t本次金额:");&scanf("%f",&fam_p-&money);&printf("\t请输入本次费用类别1:收入;0:支出;:");&scanf("%f",&fam_p-&fee_type);&printf("\t该费用用途:");&scanf("%s",&fam_p-&detail);&fp=fopen("txl","a");//打开文件&//将指针结构体中的数据写入文件&if (fwrite(fam_p,sizeof(struct family_financial),1,fp)==0)& printf("error\n");&fclose(fp);&free(fam_p);&&&&& &system("PAUSE");} struct family_financial* search_payout(){& & struct family_financial*& struct family_financial*p1,*p2;& FILE *& int n=0;& int i,j;& fp=fopen("txl","r");& if (fp == NULL)& {& printf("打开文件失败!\n");& exit(6);& }& system("cls");& p1=p2=(struct family_financial*)malloc(LEN);& fread(p1,LEN,1,fp);& head=NULL;& do&& {n=n+1;&& if(n==1)head=p1;&& else && p2-&next=p1;&& p2=p1;&& p1=(struct family_financial*)malloc(LEN);&& fread(p1,LEN,1,fp);&& printf("请输入您要查找的年份:");&& scanf("%d",&i);&& printf("请输入您要查找的月份:");&& scanf("%d",&j);&& if((p1-&year==i)&&(p1-&month==j))&& printf("%d-%d %s %f %d %s", p1-&year, p1-&month, p1-&name, p1-&money, p1-&fee_type, p1-&detail);&& p2-&next=NULL;&&&&& && }while(p1-&next!=NULL);&& fclose(fp);&& free(p1); && system("PAUSE");&& return(head);} void& delete_payout(){&system("cls");&printf("&&&&&&&& 模块正在建设中.......\n");&system("PAUSE");}void pdate_payout(){&system("cls");&printf("&&&&&&&& 模块正在建设中.......\n");&system("PAUSE");}& void count_total(){&system("cls");&printf("&&&&&&&&& 模块正在建设中.......\n");&system("PAUSE");} void quit(){&system("cls");&printf("&&&&&&&&&&& 再见谢谢使用&&&&&& \n");&exit(0);}
小弟拜谢了!!!
struct family_financial* search_payout(){
&struct family_financial*&struct family_financial*p1,*p2;&FILE *&int n=0;&&&fp=fopen("txl","r");
&if (fp == NULL)&{&&printf("打开文件失败!\n");&&exit(6);&}&system("cls");
&int a,b;&printf("输入年份:");&scanf("%d",&a);&printf("\n输入月份:");&scanf("%d",&b);
&head=(struct family_financial*) malloc(sizeof(LEN));&p1=
&int rest = 0;
&do&{&&p2=p1;&&p1=(struct family_financial*) malloc(LEN);&&rest = fread(p1,LEN,1,fp);&&p1-&next=NULL;&&p2-&next=p1;
&&if(p1-&year==a && p1-&month==b &&p1-&fee_type==0)&&{&&&printf("%d-%d %.2f %s %s\n",p1-&year,p1-&month,p1-&money,p1-&name,p1-&detail);&&}&}while(rest!=0);&system("pause");&fclose(fp);&free(p1);&
struct family_financial* search_income() {&struct family_financial*&struct family_financial* p1,*p2;&FILE *&int n=0;&int a,b;&fp=fopen("txl","r");&if (fp == NULL)&{&&printf("打开文件失败!\n");&&exit(2);&}&system("cls");&&head=(struct family_financial*) malloc(LEN);&p1=&int rest = 0;&printf("输入年份:");&scanf("%d",&a);&printf("\n输入月份:");&scanf("%d",&b);&do&{&&p2=p1;&&p1=(struct family_financial*) malloc(LEN);&&rest = fread(p1,LEN,1,fp);&&p1-&next=NULL;&&p2-&next=p1;
&&if(p1-&year==a && p1-&month==b &&p1-&fee_type==1)&&{&&&printf("%d-%d %.2f %s %s\n",p1-&year,p1-&month,p1-&money,p1-&name,p1-&detail);&&}&}while(rest!=0);
&system("pause");&free(p1);&return(head);}
相关知识略懂社热议
其他回答 (2)
scanf(&%s&,&fam_p-&name);这里不需要&吧?数组名不就是地址么?
我测试了下没发现你说的错误,我只是改了你的main函数,加了一个return,我的测试代码如下:/* &* File:&& main.c&* Author: Administrator&*&* Created on 日, 上午12:48&*/#include &stdio.h&#include &stdlib.h&#include&string.h&#include&malloc.h&#define LEN sizeof(struct family_financial)struct family_financial {&&& //表示年份&&& //表示月份&&& char name[12]; //家庭成员名单&&& //表示本次金额&&& int fee_ //表示本次费用类别 1:收入;0:支出&&& char detail[20]; //描述该费用的用途;&&& struct family_financial* //定义一个链表};//创建结构体指针struct family_financial*fam_p;void add_income(); //添加收入struct family_financial*search_income(); //查询收入void delete_income(); //删除收入void update_income(); //修改收入void add_payout(); //添加支出struct family_financial* search_payout(); //查询支出void delete_payout(); //删除支出void pdate_payout(); //修改支出void count_total(); //统计总收入和总支出void quit(); //退出系统//以下是main函数int main(int argc, char** argv) {&&& //以下为家庭财务管理系统菜单功能&&& while (1) {&&&&&&& printf("\n");&&&&&&& printf("\n");&&&&&&& printf("&&&&&&& **********家庭财务管理系统**********\n ");&&&&&&& printf("\n");&&&&&&& printf("&&&&&&& ************************************\n ");&&&&&&& printf("&&&&&&&&&&&&&&&&&& 收入管理&&&&&&&&&&&&&&&&& \n");&&&&&&& printf("&&&&&&&&&&&&&&&&&&&& 1.添加收入&&&&&&&&&&&&& \n");&&&&&&& printf("&&&&&&&&&&&&&&&&&&&& 2.查询收入明细&&&&&&&&& \n");&&&&&&& printf("&&&&&&&&&&&&&&&&&&&& 3.删除收入&&&&&&&&&&&&& \n");&&&&&&& printf("&&&&&&&&&&&&&&&&&&&& 4.修改收入&&&&&&&&&&&&& \n");&&&&&&& printf("&&&&&&& *************************************\n");&&&&&&& printf("&&&&&&&&&&&&&&&&&& 支出管理&&&&&&&&&&&&&&&&& \n");&&&&&&& printf("&&&&&&&&&&&&&&&&&&&& 5.添加支出&&&&&&&&&&&&& \n");&&&&&&& printf("&&&&&&&&&&&&&&&&&&&& 6.查询支出明细&&&&&&&&& \n");&&&&&&& printf("&&&&&&&&&&&&&&&&&&&& 7.删除支出&&&&&&&&&&&&& \n");&&&&&&& printf("&&&&&&&&&&&&&&&&&&&& 8.修改支出&&&&&&&&&&&&& \n");&&&&&&& printf("&&&&&&& *************************************\n");&&&&&&& printf("&&&&&&&&&&&&&&&&&& 统计&&&&&&&&&&&&&&&&&&&&& \n");&&&&&&& printf("&&&&&&&&&&&&&&&&&&&& 9.统计总收入和总支出&&& \n");&&&&&&& printf("&&&&&&& *************************************\n");&&&&&&& printf("&&&&&&&&&&&&&&&&&&&& 0.退出系统&&&&&&&&&&&&& \n");&&&&&&& printf("&&&&&&& &请选择要进行的操作&&&&&&&&&&&&&&&&& \n");&&&&&&& scanf("%d", &choice);&&&&&&& switch (choice) {&&&&&&&&&&& case 1: add_income();&&&&&&&&&&&&&&& //添加收入&&&&&&&&&&& case 2: search_income();&&&&&&&&&&&&&&& //查询收入&&&&&&&&&&& case 3: delete_income();&&&&&&&&&&&&&&& //删除收入&&&&&&&&&&& case 4: update_income();&&&&&&&&&&&&&&& //修改收入&&&&&&&&&&& case 5: add_payout();&&&&&&&&&&&&&&& //添加支出&&&&&&&&&&& case 6: search_payout();&&&&&&&&&&&&&&& //查询支出&&&&&&&&&&& case 7: delete_payout();&&&&&&&&&&&&&&& //删除支出&&&&&&&&&&& case 8: pdate_payout();&&&&&&&&&&&&&&& //修改支出&&&&&&&&&&& case 9: count_total();&&&&&&&&&&&&&&& //统计总收入和总支出&&&&&&&&&&& case 0: quit();&&&&&&&&&&&&&&& //退出系统&&&&&&&&&&& default: //输入错误&&&&&&&&&&& {&&&&&&&&&&&&&&& printf("\n");&&&&&&&&&&&&&&& printf("\n");&&&&&&&&&&&&&&& system("cls");&&&&&&&&&&&&&&& printf("&&&&&& 您的输入有误,请从新输入&&&&&& \n");&&&&&&&&&&&&&&& system("PAUSE");&&&&&&&&&&& }&&&&&&& }&&& }&&& return (EXIT_SUCCESS);}void add_income() {&&& FILE * //定义文件指针&&& fam_p = (struct family_financial*) malloc(LEN);&&& system("cls");&&& printf("\t 请输入年份:");&&& scanf("%d", &fam_p-&year);&&& printf("\t请输入月份:");&&& scanf("%d", &fam_p-&month);&&& printf("\t 请输入家庭成员名单:");&&& scanf("%s", &fam_p-&name);&&& printf("\t本次金额:");&&& scanf("%f", &fam_p-&money);&&& printf("\t请输入本次费用类别1:收入;0:支出;:");&&& scanf("%f", &fam_p-&fee_type);&&& printf("\t该费用用途:");&&& scanf("%s", &fam_p-&detail);&&& fp = fopen("txl", "a"); /* /打开文件&//将指针结构体中的数据写入文件& */&&& if (fwrite(fam_p, sizeof (struct family_financial), 1, fp) == 0)&&&&&&& printf("error\n");&&& fclose(fp);&&& free(fam_p);&&& system("PAUSE");}struct family_financial* search_income() {&&& struct family_financial*&&& struct family_financial*p1, *p2;&&& FILE *&&& int n = 0;&&& int a,&&& fp = fopen("txl", "r");&&& if (fp == NULL) {&&&&&&& printf("打开文件失败!\n");&&&&&&& exit(2);&&& }&&& system("cls");&&& p1 = p2 = (struct family_financial*) malloc(LEN);&&& fread(p1, LEN, 1, fp);&&& head = NULL;&&& do {&&&&&&& n = n + 1;&&&&&&& if (n == 1)head = p1;&&&&&&& else&&&&&&&&&&& p2-&next = p1;&&&&&&& p2 = p1;&&&&&&& p1 = (struct family_financial*) malloc(LEN);&&&&&&& fread(p1, LEN, 1, fp);&&&&&&& printf("请输入要查找的年份:");&&&&&&& scanf("%d", &a);&&&&&&& printf("请输入要查找的月份:");&&&&&&& scanf("%d", &b);&&&&&&& if ((p1-&year == a) && (p1-&month == b))&&&&&&&&&&& printf("%d-%d %s %f %d %s", p1-&year, p1-&month, p1-&name, p1-&money, p1-&fee_type, p1-&detail);&&&&&&& else&&&&&&&&&&& printf("您的输入有错误");&&&&&&& p2-&next = NULL;&&& } while (p1-&next != NULL);&&& fclose(fp);&&& free(p1);&&& system("PAUSE");&&& return (head);}void delete_income() {&&& system("cls");&&& printf("&&&&&&&& 模块正在建设中.......\n");&&& system("PAUSE");}void update_income() {&&& system("cls");&&& printf("&&&&&&&& 模块正在建设中.......\n");&&& system("PAUSE");}void add_payout() {&&& FILE * //定义文件指针&&& fam_p = (struct family_financial*) malloc(LEN);&&& system("cls");&&& printf("\t 请输入年份:");&&& scanf("%d", &fam_p-&year);&&& printf("\t请输入月份:");&&& scanf("%d", &fam_p-&month);&&& printf("\t 请输入家庭成员名单:");&&& scanf("%s", &fam_p-&name);&&& printf("\t本次金额:");&&& scanf("%f", &fam_p-&money);&&& printf("\t请输入本次费用类别1:收入;0:支出;:");&&& scanf("%f", &fam_p-&fee_type);&&& printf("\t该费用用途:");&&& scanf("%s", &fam_p-&detail);&&& fp = fopen("txl", "a"); //打开文件&&& //将指针结构体中的数据写入文件&&& if (fwrite(fam_p, sizeof (struct family_financial), 1, fp) == 0)&&&&&&& printf("error\n");&&& fclose(fp);&&& free(fam_p);&&& system("PAUSE");}struct family_financial* search_payout() {&&& struct family_financial*&&& struct family_financial*p1, *p2;&&& FILE *&&& int n = 0;&&& int i,&&& fp = fopen("txl", "r");&&& if (fp == NULL) {&&&&&&& printf("打开文件失败!\n");&&&&&&& exit(6);&&& }&&& system("cls");&&& p1 = p2 = (struct family_financial*) malloc(LEN);&&& fread(p1, LEN, 1, fp);&&& head = NULL;&&& do {&&&&&&& n = n + 1;&&&&&&& if (n == 1)head = p1;&&&&&&& else&&&&&&&&&&& p2-&next = p1;&&&&&&& p2 = p1;&&&&&&& p1 = (struct family_financial*) malloc(LEN);&&&&&&& fread(p1, LEN, 1, fp);&&&&&&& printf("请输入您要查找的年份:");&&&&&&& scanf("%d", &i);&&&&&&& printf("请输入您要查找的月份:");&&&&&&& scanf("%d", &j);&&&&&&& if ((p1-&year == i) && (p1-&month == j))&&&&&&&&&&& printf("%d-%d %s %f %d %s", p1-&year, p1-&month, p1-&name, p1-&money, p1-&fee_type, p1-&detail);&&&&&&& p2-&next = NULL;&&& } while (p1-&next != NULL);&&& fclose(fp);&&& free(p1);&&& system("PAUSE");&&& return (head);}void delete_payout() {&&& system("cls");&&& printf("&&&&&&&& 模块正在建设中.......\n");&&& system("PAUSE");}void pdate_payout() {&&& system("cls");&&& printf("&&&&&&&& 模块正在建设中.......\n");&&& system("PAUSE");}void count_total() {&&& system("cls");&&& printf("&&&&&&&&& 模块正在建设中.......\n");&&& system("PAUSE");}void quit() {&&& system("cls");&&& printf("&&&&&&&&&&& 再见谢谢使用&&&&&& \n");&&& exit(0);}
相关知识略懂社热议等待您来回答
编程领域专家
& &SOGOU - 京ICP证050897号}

我要回帖

更多关于 我不知道英文 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信