① 急求c語言編程 - 通訊錄管理系統
#include"stdio.h"
#define SIZE 5
struct stu
{
char name[10];
int no;
int age;
char add[10];
}stu[SIZE];
void readdat();
void writedat();
void change();
main()
{
char k;
printf(" 歡迎進入學生信息管理系統\n");
printf("\n\n 1.學生信息輸入系統 ");
printf(" 2.學生信息查詢系統\n");
printf(" 3.學生信息修改系統\n\n\n");
began:
printf("\n\n請輸入選項:");
scanf("%d",&k);
switch(k)
{
case 1: writedat(); break;
case 2: readdat(); break;
case 3: change(); break;
default: goto began;
}
goto began;
while(1);
}
void writedat()
{
FILE *fp;
char i;
printf("\n\n請輸入學生的姓名、學號、年齡和地址:\n");
for(i=0;i<SIZE;i++)
{
printf("輸入%d號學生信息:",i+1);
scanf("%s %d %d %s",stu[i].name,&stu[i].no,&stu[i].age,stu[i].add);
}
if((fp=fopen("E:\\a.dat","wb"))==NULL)
{
printf("Open Error\n");
return;
}
for(i=0;i<SIZE;i++)
{
if(fwrite(&stu[i],sizeof(struct stu),1,fp)!=1)
printf("write error\n");
}
fclose(fp);
}
void readdat()
{
FILE *fp;
int i,k,kk;
jixu:
printf("查詢全部請輸入0,查詢單個請輸入1:");
scanf("%d",&k);
if((fp=fopen("E:\\a.dat","rb"))==NULL)
{
printf("Read Error\n");
return;
}
if(k==0)
{
printf("編號 姓名 學號 年齡 地址\n");
for(i=0;i<SIZE;i++)
{
if(fread(&stu[i],sizeof(struct stu),1,fp)!=1)
{
if(!feof(fp))
printf("write error\n");
return;
}
printf("%-5d%-8s%-8d%-5d%s\n",i+1,stu[i].name,stu[i].no,stu[i].age,stu[i].add);
}
}
else if(k==1)
{
printf("請輸入學生的編號:");
scanf("%d",&kk);
printf("編號 姓名 學號 年齡 地址\n");
if(fread(&stu[kk-1],sizeof(struct stu),1,fp)!=1)
{
if(!feof(fp))
printf("write error\n");
return;
}
printf("%-5d%-8s%-8d%-5d%s\n",kk,stu[kk-1].name,stu[kk-1].no,stu[kk-1].age,stu[kk-1].add);
}
else
{
printf("輸入錯誤!");
goto jixu;
}
fclose(fp);
}
void change()
{
FILE *fp;
char i,kk;
while(1)
{
printf("請輸入修改信息學生的編號(0退出):");
scanf("%d",&kk);
if(kk==0)
return;
printf("編號 姓名 學號 年齡 地址\n");
if((fp=fopen("E:\\a.dat","rb"))==NULL)
{
printf("Read Error\n");
return;
}
for(i=0;i<SIZE;i++)
if(fread(&stu[i],sizeof(struct stu),1,fp)!=1)
{
if(!feof(fp))
printf("write error\n");
return;
}
printf("%-5d%-8s%-8d%-5d%s\n",kk,stu[kk-1].name,stu[kk-1].no,stu[kk-1].age,stu[kk-1].add);
printf("請輸入學生的姓名、學號、年齡和地址:\n");
scanf("%s %d %d %s",stu[kk-1].name,&stu[kk-1].no,&stu[kk-1].age,stu[kk-1].add);
if((fp=fopen("E:\\a.dat","wb"))==NULL)
{
printf("Open Error\n");
return;
}
for(i=0;i<SIZE;i++)
{
if(fwrite(&stu[i],sizeof(struct stu),1,fp)!=1)
printf("write error\n");
}
fclose(fp);
}
}
② c語言程序設計 通訊錄管理系統
你好!
有一個程序可以滿足你的要求,你看看吧,可以按照你的要求修改
③ 求一個c語言設計程序:通訊錄管理系統
#include<cstdio>
#include<cstdlib>
#include<cstring>
/**通訊錄*/
#definename256///名字
#definetele32///手機號
#definebirt32///生日
#definestID32///學號
typedefstructdirectory
{
charName[name];
charTele[tele];
charBirt[birt];
charStID[stID];
structdirectory*next,*prior;
}CONTACTS;
boolJ_T(charp[])///電話號碼
{
intlen=strlen(p);
if(len!=11||p[0]!='1')return0;
for(inti=1;i<len;i++)
{
if(!(p[i]>='0'&&p[i]<='9'))
return0;
}
return1;
}
boolJ_L(intyear)///平/潤年
{
return(year%4==0&&year%100!=0||year%400==0);
}
boolJ_B(charp[])///生日
{
intlen=strlen(p);
if(!(len>=8&&len<=10))return0;/**1949/1/1(8)1949/12/31(10)**/
intsum=0,Bith[3],k=0;
for(inti=0;i<len;i++)
{
if(!(p[i]>='0'&&p[i]<='9'||p[i]=='/'))///輸入合法
return0;
}
p[len]='/';
p[len+1]='