那位大神帮我看看啊!!到底哪错了
目前只能选1这个选项,,问题:路径好像传不到 shuruname();这个函数的fopen();里面,文件建不了;但是road+ shuruname就能建文件了,
我现在很纠结啊!!!拿什么拯救我,,大神们
大神们要是能的话帮我把这个程序补全把!!!我会很感谢你们的,,
int road() //写路径函数
{
int i,j;
int n;
char *st01="e:\\欠款人具体信息";
char *st02="e:\\欠款\\";
char st1[60],st2[30];
printf("1--记录人的欠款信息,2--记录人的欠款信息;\n");
printf(" 1--aboutpeople欠款信息 : \n");
printf(" 2--aboutmoney欠款: \n");
scanf("%d",&n);
switch(n)
{
case 1:
strcpy(st1,st01);
break;
case 2:
strcpy(st1,st02);
break;
}
printf("请输入人的姓名:\n");
scanf("%s",st2);
for(j=0;st1[j]!='\0';)
j++;
for(i=0;st2[i]!='\0';i=i+1)
st1[j+i]=st2[i];
st1[j+i]='\0';
printf("\naddress:\n");
printf("%s",st1);
return st;
}
int shuruname() //输入函数 这个函数调用上边的写路径的函数
{
char st1[60];
char thing[200];
int n1;
FILE *fp;
road(); ************************************************这个地方好像有错,是不是st1[]的值没给这个st1
fp=fopen(st1,"wt+");
if(fp==NULL)
{
printf("Open file error,press any key exit!\n");
exit(0);
}
chongxin: //goto 跳转的地方
printf("输入欠款人的信息:\n");
scanf("%s",thing);
fputs(thing,fp);
printf("\n\n你否输入完成补充请按1,bushi按0\n");
scanf("%d",&n1);
switch(n1)
{
case 0:break;
case 1: goto chongxin;break;
}
fclose(fp);
return 0;
}
下面的可以不用看,是让你们了解函数的位置,方便修改
#include "stdio.h"
#include"stdlib.h"
#include "string.h"
int road(); //输入路径的函数
int shuruname(); //输入函数
void chazhao();
void main()
{ int num1;
printf("****************************************************************\n");
printf("****************************************************************\n");
printf(" 欢迎您进入系统 \n");
printf("****************************************************************\n");
printf("****************************************************************\n");
printf("请按要求选择:\n");
printf("1--记录欠款人具体欠款信息\n");
printf("2--记录欠款人所欠货物价格及数量\n");
printf("3--查看某人具体欠款信息\n");
printf("3--计算某人所欠货物总价格\n");
printf("4--退出系统\n");
scanf("%d",&num1);
switch(num1)
{ case 1:
shuruname();
break;
case 2:
break;
case 3:
chazhao();
break;
case 4:
break;
}
}
int road() //写路径函数
{
int i,j;
int n;
char *st01="e:\\欠款人具体信息";
char *st02="e:\\欠款\\";
char st1[60],st2[30];
printf("1--记录人的欠款信息,2--记录人的欠款信息;\n");
printf(" 1--aboutpeople欠款信息 : \n");
printf(" 2--aboutmoney欠款: \n");
scanf("%d",&n);
switch(n)
{
case 1:
strcpy(st1,st01);
break;
case 2:
strcpy(st1,st02);
break;
}
printf("请输入人的姓名:\n");
scanf("%s",st2);
for(j=0;st1[j]!='\0';)
j++;
for(i=0;st2[i]!='\0';i=i+1)
st1[j+i]=st2[i];
st1[j+i]='\0';
printf("\naddress:\n");
printf("%s",st1);
return st;
}
int shuruname() //查看函数
{
char st[60];
char thing[200];
int n1;
FILE *fp;
road(st);
fp=fopen(st,"wt+");
if(fp==NULL)
{
printf("Open file error,press any key exit!\n");
exit(0);
}
chongxin: //goto 跳转的地方
printf("输入欠款人的信息:\n");
scanf("%s",thing);
fputs(thing,fp);
printf("\n\n你否输入完成补充请按1,bushi按0\n");
scanf("%d",&n1);
switch(n1)
{
case 0:break;
case 1: goto chongxin;break;
}
fclose(fp);
return 0;
}
void chazhao() //查看文件里的东西
{
FILE*fp2;
char st1[60];
road();
fp2=fopen(st1,"rt");
if(fp2==NULL)
{
printf("Open file error,press any key exit!\n");
exit(0);
}
while(!feof(fp2))
{
putchar(fgetc(fp2));
}
printf("\n\n显示完毕\n");
fclose(fp2);
}
[ 本帖最后由 luxiaoke654 于 2013-9-4 10:51 编辑 ]