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

2025年02月28日 14:03
有4个网友回答
网友(1):

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

#include

#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
{

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
{

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;

}

网友(2):

这个程序本来就是C的,直接改名吧

网友(3):

C中没有string 这一说法,只能用字符数组!!!

网友(4):

修改文件后缀名