怎么把这个.cpp的文件改成.c的

#include <stdio.h>

#include <string.h>

#define SIZE 100

int num=0;

struct member_type

{

char name[10];

int id;

int age;

char addr[15];

}mem[SIZE]; //定义结构体和结构体数组

void minput() //自定义函数

{

char ch;

while(1)

{

printf("请输入职员相关信息:\n");

printf("职员ID:");

scanf("%d",&mem[num].id);

printf("\n");

printf("职员姓名:");

scanf("%s",&mem[num].name);

printf("\n");

printf("职员年龄:");

scanf("%d",&mem[num].age);

printf("\n");

printf("职员地址:");

scanf("%s",&mem[num].addr);

printf("\n");

num++;

getchar();

printf("是否继续录入职员信息?(Y/N)\n");

ch = getchar();

if (ch =='n' || ch =='N')

{

break;

}

}

FILE *fp; //指针的定义与引用

int i;

if ((fp=fopen("member.dat","wb"))==NULL)

{

printf("出错了,无法打开文件!\n");

return ;

}

if (fwrite(&num,sizeof(int),1,fp)!=1)

{

printf("出错了,无法写入文件!\n");

}

for (i=0;i<num;i++)

{

if (fwrite(&mem[i],sizeof(struct member_type),1,fp)!=1)

{

printf("出错了,无法写入文件!\n");

}

}

fclose(fp);

}

void moutput()

{

//文件常用操作(打开,读/写数据,关闭等)

FILE *fp;

int i;

if ((fp=fopen("member.dat","rb"))==NULL)

{

printf("出错了,无法打开文件!\n");

return ;

}

if (fread(&num,sizeof(int),1,fp)!=1)

{

num=-1;

}

else

{

for(i=0;i<num;i++)

{

fread(&mem[i],sizeof(struct member_type),1,fp);

printf("%s 的职员ID为 %d 年龄为 %d 地址为 %s\n",mem[i].name,mem[i].id,mem[i].age,mem[i].addr);

}

}

fclose(fp);

}

int main()

{

int xuhao;

void minput();

void moutput();

while(1) //循环结构

{

printf("=========企业职员信息管理程序===========\n");

printf("1,输入职员信息\n");

printf("2,查看已录入职员信息\n");

printf("3,退出本程序\n");

printf("请输入要执行的操作前面的序号:");

scanf("%d",&xuhao);

switch(xuhao) //选择结构

{

case 1:minput();

break;

case 2:moutput();

break;

case 3:return 0;

}

}

return 0;

}

/*改扩展名,还有 minput函数的fp和i 变量申明位置不合适,移到函数开头就行了 */
#include <stdio.h>

#include <string.h>

#define SIZE 100

int num=0;

struct member_type

{

char name[10];

int id;

int age;

char addr[15];

}mem[SIZE];

void minput()

{
FILE *fp; /*早期的C编译器必须在函数开头声明变量,把fp和i移到开头*/

int i;

char ch;

while(1)

{

printf("请输入职员相关信息:\n");

printf("职员ID:");

scanf("%d",&mem[num].id);

printf("\n");

printf("职员姓名:");

scanf("%s",&mem[num].name);

printf("\n");

printf("职员年龄:");

scanf("%d",&mem[num].age);

printf("\n");

printf("职员地址:");

scanf("%s",&mem[num].addr);

printf("\n");

num++;

getchar();

printf("是否继续录入职员信息?(Y/N)\n");

ch = getchar();

if (ch =='n' || ch =='N')

{

break;

}

}

if ((fp=fopen("member.dat","wb"))==NULL)

{

printf("出错了,无法打开文件!\n");

return ;

}

if (fwrite(&num,sizeof(int),1,fp)!=1)

{

printf("出错了,无法写入文件!\n");

}

for (i=0;i<num;i++)

{

if (fwrite(&mem[i],sizeof(struct member_type),1,fp)!=1)

{

printf("出错了,无法写入文件!\n");

}

}

fclose(fp);

}

void moutput()

{

FILE *fp;

int i;

if ((fp=fopen("member.dat","rb"))==NULL)

{

printf("出错了,无法打开文件!\n");

return ;

}

if (fread(&num,sizeof(int),1,fp)!=1)

{

num=-1;

}

else

{

for(i=0;i<num;i++)

{

fread(&mem[i],sizeof(struct member_type),1,fp);

printf("%s 的职员ID为 %d 年龄为 %d 地址为 %s\n",mem[i].name,mem[i].id,mem[i].age,mem[i].addr);

}

}

fclose(fp);

}

int main()

{

int xuhao;

void minput();

void moutput();

while(1)

{

printf("=========企业职员信息管理程序===========\n");

printf("1,输入职员信息\n");

printf("2,查看已录入职员信息\n");

printf("3,退出本程序\n");

printf("请输入要执行的操作前面的序号:");

scanf("%d",&xuhao);

switch(xuhao)

{

case 1:minput();

break;

case 2:moutput();

break;

case 3:return 0;

}

}

return 0;

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-23
这个程序本来就是C的,直接改名吧追问

改了之后有4个错误,你能帮忙修改一下吗。。跪谢

追答

简单改了一下,太长贴不上来,看看这两函数吧

void minput() //自定义函数
{
FILE *fp; //指针的定义与引用
int i;
char ch;

while(1)
{
printf("请输入职员相关信息:\n");
printf("职员ID:");
scanf("%d",&mem[num].id);

printf("\n");
printf("职员姓名:");
scanf("%s",&mem[num].name);

printf("\n");
printf("职员年龄:");
scanf("%d",&mem[num].age);

printf("\n");
printf("职员地址:");
scanf("%s",&mem[num].addr);
printf("\n");

num++;
ch = getchar();

printf("是否继续录入职员信息?(Y/N)\n");
ch = getchar();
if (ch =='n' || ch =='N')
{
break;
}
}
if ((fp=fopen("member.dat","wb"))==NULL)
{
printf("出错了,无法打开文件!\n");
return ;
}
if (fwrite(&num,sizeof(int),1,fp)!=1)
{
printf("出错了,无法写入文件!\n");
}
for (i=0;i<num;i++)
{
if (fwrite(&mem[i],sizeof(struct member_type),1,fp)!=1)
{
printf("出错了,无法写入文件!\n");
}
}
fclose(fp);
}

int main()
{
int xuhao=0;
void minput();
void moutput();

while(xuhao != 3) //循环结构
{
printf("=========企业职员信息管理程序===========\n");
printf("1,输入职员信息\n");
printf("2,查看已录入职员信息\n");
printf("3,退出本程序\n");
printf("请输入要执行的操作前面的序号:");
scanf("%d",&xuhao);
switch(xuhao) //选择结构
{
case 1:minput();
break;
case 2:moutput();
break;
case 3:
break;
}
}
return 0;
}

第2个回答  2012-06-23
C中没有string 这一说法,只能用字符数组!!!
第3个回答  2012-06-23
修改文件后缀名追问

改了后缀但是又4个错误

追答

什么错误

追问

我看不懂啊,你能帮忙给改改吗,,发到下面这个邮箱里[email protected]