区号查询系统
#include<stdio.h>
#include<malloc.h>
#include<string.h>
typedef struct{
char chengS[10];//城市
char quH[10];//区号
}stu;
stu s;
int caiD()//菜单主界面
{
int i;
printf("**************欢迎使用区号查询系统**************\n\n");
printf("\n");
printf(" 1.创建区号系统。(更改数据存储的文件)\n");
printf(" 2.插入信息。\n");
printf(" 3.查询记录\n");
printf(" 4.修改记录\n");
printf(" 5.删除记录!\n");
printf(" 6.显示所有记录\n");
printf(" 0.退出区号查询\n");
printf(" 请输入0~6 \n");
scanf("%d",&i);
return i;
}
void chuangJ(char a[],FILE * fp)//创建一个新文件 (更改数据存储的文件)
{
printf("输入路径与文件名,如c:\\ccc\\ece.txt");
scanf("%s",a);
fopen(a,"w+");
fclose(fp);
fp=fopen(a,"a+");
}
void shuR(stu *ssss)//输入一个城市的区号
{
printf("输入城市");
scanf("%s",ssss->chengS);
printf("输入区号");
scanf("%s",ssss->quH);
}
void chaR(FILE *fp)//插入一个数据
{
stu *ssss;
ssss=(stu *)malloc(sizeof(stu));
shuR(ssss);
fseek(fp,0,2);
fwrite(ssss,sizeof(stu),1,fp);
free(ssss);
}
void chaX(FILE *fp)//查询
{
int i=0;
char a[10];
printf("输入城市名");
scanf("%s",a);
rewind(fp);
while(!feof(fp))
{
fseek(fp,i*sizeof(stu),0);
fread(&s,sizeof(stu),1,fp);
if(!strcmp(s.chengS,a))
{
printf("城市名:%s\n区号:%s\n",s.chengS,s.quH);
return ;
}
else
i++;
}
if(feof(fp))
printf("没有");
}
void shaC(FILE *fp)//删除
{
int i=0;
char a[10];
printf("输入城市名");
scanf("%s",a);
rewind(fp);
while(!feof(fp))
{
fseek(fp,i*sizeof(stu),0);
fread(&s,sizeof(stu),1,fp);
if(!strcmp(s.chengS,a))
{
printf("城市名:%s\n区号:%s\n",s.chengS,s.quH);
fseek(fp,-sizeof(stu),1); /*位置指针移动到该数据块首位*/
fwrite("sss",sizeof(stu),1,fp);
//fwrite("111",sizeof(s.chengS),1,fp);
return ;
}
else
i++;
}
if(feof(fp))
printf("没有");
}
void xianS(FILE *fp)
{
fseek(fp,0*sizeof(stu),0);
fread(&s,sizeof(stu),1,fp);
printf("城市名:%s\n区号:%s\n",s.chengS,s.quH);
}
int main()
{
int i=1;
FILE * fp;
char a[30];
fp=fopen("E:\\qqq.dat","rb+");
while(i)
{
switch(caiD()){
case 1:fclose(fp);chuangJ(a,fp);break;
case 2:chaR(fp);break;
case 3:chaX(fp);break;
case 0:i--;break;
case 5:shaC(fp);break;
case 6:xianS(fp);break;
}
}
fclose(fp);
}
本文来自博客园,作者:JackieDYH,转载请注明原文链接:https://www.cnblogs.com/JackieDYH/p/17635011.html