| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1216 人关注过本帖
标题:想用C语言编写一个程序,能够向txt文档写入一段内容,并且这个内容中有2个变 ...
只看楼主 加入收藏
kterl
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-3-7
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
想用C语言编写一个程序,能够向txt文档写入一段内容,并且这个内容中有2个变量。但现在有一执行就会卡住
想用C语言编写一个程序,能够向txt文档写入一段内容,并且这个内容中有2个变量。但现在有一执行就会卡住,不知道为何??

#include<stdio.h>
#include<stdlib.h>

void writetxt(double d, double e);

int main(void)
{
 double d = 2.06;
 double e = 4.0;
 int ee;
 int dd;

 for(d;d <= 2.26; d += 0.02)
 {
 for(e;e <= 14.0;d++)
 {
     ee = (int)e;
     dd = (int)d;
     writetxt(d,e,dd,ee);
 }
 }

return 0;
}

void writetxt(double d, double e,int dd,int ee)
{
            FILE *fp=fopen("d:\\lq.txt","w");  
            fprintf(fp,"#medium: %.1f 0.0 0.0 0.005 1.0 0.0 concrete\n",e);
            fprintf(fp,"---------------------------------------------------------------------\n");
            fprintf(fp,"#domain: 4.0 4.0\n");
            fprintf(fp,"#dx_dy: 0.01 0.01\n");
            fprintf(fp,"#time_window: 30e-9\n");
            fprintf(fp,"---------------------------------------------------------------------\n");
            fprintf(fp,"#box: 1.0 2.0 3.0 %.2f concrete\n",d);
            fprintf(fp,"---------------------------------------------------------------------\n");
            fprintf(fp,"#line_source: 1.0 400e6 gaussian MyLineSource\n");
            fprintf(fp,"---------------------------------------------------------------------\n");
            fprintf(fp,"#analysis: 1 e%d_%dcm.out b\n",ee,dd);
            fprintf(fp,"#tx: 2 1.0 MyLineSource 0.0 30e-9\n");
            fprintf(fp,"#rx: 2 1.0\n");
            fprintf(fp,"#rx_steps: 0.1 0.0\n");
            fprintf(fp,"#tx_steps: 0.1 0.0\n");
            fprintf(fp,"#end_analysis:\n");
            fprintf(fp,"---------------------------------------------------------------------\n");
            fprintf(fp,"#geometry_file:  e%d_%dcm.geo\n",ee,dd);
            fprintf(fp,"#messages: y\n");
            fclose(fp);


}
2016-04-12 09:42
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:5 
void writetxt(double d, double e);  // 你声明的时候明明只有两个参数,实际上却有四个参数。

   唯实惟新 至诚致志
2016-04-12 09:46
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
收藏
得分:15 
for(e;e <= 14.0;d++)
你修改的是 d的值
e的值不变 死循环

另外
 for(d;d <= 2.26; d += 0.02)

 {

 for(e;e <= 14.0;d++)
这里的 for 最前面 的 d 是多余的
e 写错了
e 应该重新设置初值
因为第一次循环 如果成功结束
e的值是就是 14.0
进入第二次循环的时候 你不修改 e 的值
e的值会保持 14.0
直接退出内层循环

再另外 文件打开 文件关闭的操作 可以下在循环外面
这样
程序代码:
fopen
for()
for()
fclose
不用每次执行循环都去打开文件
太没效率了

最后 写代码 注意对齐缩进
这远比你想象的重要得多
不要想着写成蚯蚓无所谓能编译就行

https://zh.
2016-04-12 09:47
kterl
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-3-7
收藏
得分:0 
回复 3楼 lin5161678
谢谢指教
2016-04-12 09:51
快速回复:想用C语言编写一个程序,能够向txt文档写入一段内容,并且这个内容中有 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014415 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved