区号查询系统
#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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现