区号查询系统

#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);
 } 

 

posted @ 2019-09-27 09:12  JackieDYH  阅读(12)  评论(0编辑  收藏  举报  来源