好友
阅读权限10
听众
最后登录1970-1-1
|
北斗i
发表于 2021-5-17 21:48
请问一下 这段代码在dv上能运行 为什么在vc上运行不了啊?
纯新手一枚 各位大佬勿喷
#include<stdio.h>
#include<string.h>
struct Man
{
char Name[8];
char Depart[20];
char Tel[12];
char Email[30];
};
void getch()
{
char stop;
printf("\n 确认?(按任意键和回车返回!)\n");
getchar();
scanf("%c",&stop);
return;
}
int Scan(Man*pMan)
{
printf("\t\t******正在读取信息,请稍后!*****\n");
int i;
FILE*fp=fopen("sjtxl.txt","r");
if(fp==NULL)
{
printf("\t\t*****文件sjtxl.txt打开失败!*****\n");
return 0;
}
for(i=0;feof(fp);i++,pMan++)
fscanf(fp,"%s%s%s%s",pMan->Name,pMan->Depart,pMan->Tel,pMan->Email);
fclose(fp);
printf("\t\t*****文件读取成功!*****\n");
return(i-1);
}
int Save(Man*pMan,int Size)
{
int i;
FILE*out;
out=fopen("sjtxl.txt","w");
if(out==NULL)
{
printf("\t\t*****文件sjtxl.txt打开失败!*****\n");
printf("\t\t********************************\n");
return 0;
}
for(i=0;i<Size;i++,pMan++)
{
fprintf(out,"%s\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->Tel,pMan->Email);
}
fclose(out);
return 1;
}
int Insert(Man*pMan,int Size)
{
int i,n;
printf("\t\t******请输入要插入数据个数!******\n");
printf("\t\t*********************************\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("将要录入第%d条记录(共有%d条)\n",i+1,n);
printf("请输入姓名:\n");
scanf("%s",&pMan[Size=i].Name);
printf("请输入就读学校:\n");
scanf("%s",&pMan[Size=i].Depart);
printf("请输入电话:\n");
scanf("%s",&pMan[Size=i].Tel);
printf("请输入Email地址:\n");
scanf("%s",&pMan[Size=i].Email);
}
if(Save(pMan,Size+n))
{
printf("\t\t******数据录入成功!*****\n");
}
else
{
printf("\t\t******数据插入失败!******\n");
}
return Size+n;
}
void Modify(Man*pMan,int Size)
{
void Display();
int i=0;
char name[8];
char depart[20];
char tel[12];
char email[30];
printf("\t\t*****请输入要修改的姓名:*****\n");
printf("\t\t*****************************\n");
scanf("%s",name);
while(i<Size&&strcmp(pMan->Name,name))
{
pMan++;
i++;
}
if(!strcmp(pMan->Name,name))
{
printf("请输入修改后的姓名:\n");
scanf("%s",name);
strcpy(pMan->Name,name);
printf("请输入修改后的就读学校:\n");
scanf("%s",depart);
strcpy(pMan->Depart,depart);
printf("请输入修改后的电话:\n");
scanf("%s",tel);
strcpy(pMan->Tel,tel);
printf("请输入修改后的Email:\n");
scanf("%s",email);
strcpy(pMan->Email,email);
if(Save(pMan,Size))
{
printf("\t\t*****信息修改成功!*****\n");
printf("\t\t***********************\n");
}
else
{
printf("\t\t*****信息修改失败!*****\n");
printf("\t\t***********************\n");
}
}
else
{
printf("\t\t*****没有找到相关信息!*****\n");
printf("\t\t***************************\n");
}
}
void Delete(Man*pMan,int Size)
{
char name[8],control;
int i=0;
printf("\t\t*****请输入要删除信息姓名!*****\n");
printf("\t\t*******************************\n");
scanf("%s",name);
while(i<Size&&strcmp(pMan->Name,name))
{
pMan++;
i++;
}
if(!strcmp(pMan->Name,name))
{
printf("你要删除的信息为:\n");
printf("%s\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->Tel,pMan->Email);
printf("是否确认删除?(Y\N)\n");
scanf("%s",&control);
switch(control)
{
case 'Y':
pMan->Name[0]='\0';
pMan->Depart[0]='\0';
pMan->Tel[0]='\0';
pMan->Email[0]='\0';
if(Save(pMan,Size))
{
printf("\t\t*****信息删除成功!*****\n");
printf("\t\t***********************\n");break;
}
else
{
printf("\t\t*****信息删除失败!*****\n");
printf("\t\t***********************\n");break;
}
case 'N':printf("信息未删除!\n");break;
default:printf("输入错误!\n");break;
}
}
else
{
printf("\t\t******没有找到相关信息!*****\n");
printf("\t\t****************************\n");
}
}
void Display(Man*pMan,int Size)
{
int i;
printf("\t姓名\t 就读学校\t 电话号码\t Email地址\n");
printf("\t\t*************************************************\n");
for(i=0;i<=Size;i++,pMan++)
{
printf("\t%s\t\t%S\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->Tel,pMan->Email);
printf("\t--------------------------------------------------------------\n");
}
}
void S_asname(Man*pMan,int Size)
{
int i=0;
char name[8];
printf("\t\t*****请输入要查询信息的姓名:*****\n");
printf("\t\t*********************************\n");
scanf("%s",name);
while(i<Size&&strcmp(pMan->Name,name))
{
pMan++;
i++;
}
if(!strcmp(pMan->Name,name))
{
printf("\t\t*****查到的信息为:*****\n");
printf("\t*************************\n");
printf("\t 姓名 \t 就读学校 \t 电话号码 \t Email\n");
printf("\t**************************************\n");
("\t%s\t\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->Tel,pMan->Email);
printf("\t********************************************************\n");
}
else
{
printf("\t\t*****没有找到相关数据*****\n");
printf("\t\t**************************\n");
}
}
void S_astel(Man*pMan,int Size)
{
int i=0;
char tel[12];
printf("\t\t***** 请输入要查询信息的电话:*****\n");
printf("\t\t**********************************\n");
scanf("%s",tel);
while(i<Size&&strcmp(pMan->Tel,tel))
{
pMan++;
i++;
}
if(!strcmp(pMan->Tel,tel))
{
printf("\t\t*****查到的信息为:*****\n");
printf("\t*************************\n");
printf("\t 姓名 \t 就读学校 \t 电话号码 \t Email\n");
printf("\t**************************************\n");
printf("\t%s\t\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->Tel,pMan->Email);
printf("\t**************************************************************\n");
}
else
{
printf("\t\t*****没有找到相关数据*****\n");
printf("\t\t**************************\n");
}
}
int main()
{
Man man[500],*pMan=man;
char control;
int size;
printf("\t\t**********************************************\n");
printf("\t\t********** 欢迎使用通讯录管理系统 ! ***********\n");
printf("\t\t*--------------------------------------------*\n");
printf("\t\t* 请按回车键继续 ! *\n");
printf("\t\t**********************************************\n");
scanf("%c",&control);
if(control)
{
size=Scan(pMan);
printf("\t\t\t 请输入相应操作数操作 \n");
for(;;)
{
printf("\t\t**********************************************\n");
printf("\t\t* 1-- 插入信息 *\n");
printf("\t\t* 2--按姓名查找 *\n");
printf("\t\t* 3-- 按电话查找 *\n");
printf("\t\t* 4-- 删除信息 *\n");
printf("\t\t* 5-- 显示信息 *\n");
printf("\t\t* 6-- 修改信息 *\n");
printf("\t\t* 0-- 退出系统 *\n");
printf("\t\t**********************************************\n");
scanf("%s",&control);
switch(control)
{
case '1': size=Insert(pMan,size);break;
case '2': S_asname(pMan,size);break;
case '3': S_astel(pMan,size);break;
case '4': Delete(pMan,size);break;
case '5': Display(pMan,size);break;
case '6': Modify(pMan,size);break;
case '0': printf("************** 谢谢使用 !再见 !**************\n");
return 0;
default: printf("********** 输 入 数 字 有 误 , 请 重 新 输 入**********\n");break;
}
}
}
return 0;
} |
|