C语言程序中怎样保存输入的数据,以便下一次接下去输入?
这是一个月生活费支出统计小程序代码:#include<stdio.h>intmain(){inti,j,n,r,a[32],M;floatf[32],sum1=0,sum...
这是一个月生活费支出统计小程序代码:
#include<stdio.h>
int main()
{
int i,j,n,r,a[32],M;
float f[32],sum1=0,sum=0;
do{
printf("请输入月份:");
scanf("%d",&M);
if(M>12||M<1)
{
printf("输入有误,请重新输入!\n");
}
}while(M>12||M<1);
for(i=1;i<=31;i++)
{
a[i]=i;
}
for(i=1;i<=31;i++)
{
printf("请输入%d月%d日所支出生活费:",M,a[i]);
scanf("%f",&f[i]);
printf("\n");
if((r=i%7)==0)
{
n=i/7;
printf("第%d周的生活费总支出:",n);
for(j=i-6;j<=i;j++)
{
sum1=sum1+f[j];
}
printf("%g",sum1); //%g是在%f中较短的形式输出,并且会省略多余的0
printf("\n");
}
}
printf("M中生活费总支出:");
for(i=1;i<=31;i++)
{
sum=sum+f[i];
}
printf("%g",sum);
printf("\n");
return 0;
}
比如说我11月1日。消费是15元。输入15之后,保存这个数据。以便下一天(11月2日)继续输入当天数据。这功能怎样实现。 展开
#include<stdio.h>
int main()
{
int i,j,n,r,a[32],M;
float f[32],sum1=0,sum=0;
do{
printf("请输入月份:");
scanf("%d",&M);
if(M>12||M<1)
{
printf("输入有误,请重新输入!\n");
}
}while(M>12||M<1);
for(i=1;i<=31;i++)
{
a[i]=i;
}
for(i=1;i<=31;i++)
{
printf("请输入%d月%d日所支出生活费:",M,a[i]);
scanf("%f",&f[i]);
printf("\n");
if((r=i%7)==0)
{
n=i/7;
printf("第%d周的生活费总支出:",n);
for(j=i-6;j<=i;j++)
{
sum1=sum1+f[j];
}
printf("%g",sum1); //%g是在%f中较短的形式输出,并且会省略多余的0
printf("\n");
}
}
printf("M中生活费总支出:");
for(i=1;i<=31;i++)
{
sum=sum+f[i];
}
printf("%g",sum);
printf("\n");
return 0;
}
比如说我11月1日。消费是15元。输入15之后,保存这个数据。以便下一天(11月2日)继续输入当天数据。这功能怎样实现。 展开
5个回答
展开全部
好像只有文件流可以解决你这个问题了,要是你不是关闭整个程序,重新开始的话,你可以用do……while()来实现,要是关闭的话,现在学到的好像只有文件流可以帮你实现了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一般都是读写文件 存人 读出都从文件来
既方便 又简单
当然还有些人存数据库
那就复杂了
既方便 又简单
当然还有些人存数据库
那就复杂了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
指定目录文件保存
更多追问追答
追问
我只学到函数调用,结构体,指针还没学。没学这个两个能实现这功能吗
追答
不能,不保存为文件的信息都是储存于内存中,程序退出之后就会被擦除,学完函数接下来就该学文件操作,不急,慢慢来,以后你技术好了还可以保存在网络。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
生成记事本的话
main函数开头
freopen(“XXX.txt”,“w”,stdout);//XXX写记事本文件名就可以了,保存在C程序目录下。
最后程序文件目录下的XXX.txt就是你当前程序运行过后输出的数据
不知道你想要存什么当天数据= =
要记录输入的话用数组就好了 输入为&a
那么定义 int str[10000],tt=1;
每进行一次输入,{str[tt]=a,t++;}
main函数开头
freopen(“XXX.txt”,“w”,stdout);//XXX写记事本文件名就可以了,保存在C程序目录下。
最后程序文件目录下的XXX.txt就是你当前程序运行过后输出的数据
不知道你想要存什么当天数据= =
要记录输入的话用数组就好了 输入为&a
那么定义 int str[10000],tt=1;
每进行一次输入,{str[tt]=a,t++;}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询