C 언어 구현 주소록 관리 시스템
도구:Visual C++6.0
설명:
본 시스템 은 C 언어 를 바탕 으로 학급 통신 록 관리 시스템 을 실현 하고 대학 1 학년 때 C 언어 를 배우 기 위해 입문 한 과정 디자인 입 니 다.기능 은 증가,삭제,조사,수정 등 을 포함 하여 초보 자 들 이 연습 하기에 매우 적합 하 다.주소록 에 포 함 된 개인 정 보 는 이름,학 번,성별,본적,정치 적 면모,휴대 전화 번호,QQ 번호,기숙사 등 이다.주로 포인터,구조 체,링크,파일 읽 기 등 지식 을 사용 했다.
실행 효과:
코드:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<windows.h>
typedef struct student //
{
char name[20]; //
char num[15]; //
char sex[10]; //
char from[20]; //
char political[10]; //
char phone[15]; //
char QQ[15]; //QQ
char dorm[10]; //
struct student *next; //
}stu;
stu *head;
void print() //
{
system("cls");
printf("
");
printf(" ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
");
printf(" ***********************************************************
");
printf(" \t\t\t
");
printf("
");
printf(" \t\t1. ");
printf("\t\t2.
");
printf(" \t\t3. ");
printf("\t\t4.
");
printf(" \t\t5. ");
printf("\t\t6.
");
printf(" \t\t7. ");
printf("\t\t8.
");
printf(" ***********************************************************
");
printf(" ~~~~~ ~~~~~~~~~~ ~~~~~~~~~~ ~~~~~~~~~~ ~~~~~~~~~~9~~~~~
");
printf(" -----------------------------------------------------------
");
}
void input(stu *p1) //
{
printf(" :");
scanf("%s",&p1->name);
printf(" :");
scanf("%s",&p1->num);
printf(" :");
scanf("%s",&p1->sex);
printf(" :");
scanf("%s",&p1->from);
printf(" :");
scanf("%s",&p1->political);
printf(" :");
scanf("%s",&p1->phone);
printf("QQ :");
scanf("%s",&p1->QQ);
printf(" :");
scanf("%s",&p1->dorm);
}
stu * inputdata() //
{
stu *p1,*p2;
int i=1;
p1=(stu *)malloc(sizeof(stu));
if(p1!=NULL)
{
head=p1;
printf("
\t\t\t☆☆☆ ☆☆☆
");
printf("------------------------------------------------------------------
");
printf(" “ok”
");
while(i)
{
printf(" :");
scanf("%s",&p1->name);
if(strcmp(p1->name,"ok")==0)
{
printf("
!
");
printf("========================================================================
");
i=0;
p2->next=NULL;
free(p1);
p1=p2;
}
else
{
printf(" :");
scanf("%s",&p1->num);
printf(" :");
scanf("%s",&p1->sex);
printf(" :");
scanf("%s",&p1->from);
printf(" :");
scanf("%s",&p1->political);
printf(" :");
scanf("%s",&p1->phone);
printf("QQ :");
scanf("%s",&p1->QQ);
printf(" :");
scanf("%s",&p1->dorm);
printf("=====================================
");
p2=p1;
p1=(stu *)malloc(sizeof(stu));
if(p1!=NULL)
{
p2->next=p1;
}
}
}
return(p1->next);
}
}
stu * lookdata(stu *p1) //
{
printf("
\t\t\t☆☆☆ ☆☆☆
");
printf("----------------------------------------------------------------------
");
while(p1!=NULL)
{
printf(" :%s
",p1->name);
printf(" :%s\t",p1->num);
printf(" :%s\t",p1->sex);
printf(" :%s\t",p1->from);
printf(" :%s\t",p1->political);
printf(" :%s\t",p1->phone);
printf("QQ :%s\t",p1->QQ);
printf(" :%s
",p1->dorm);
printf("======================================================================
");
p1=p1->next;
}
return p1;
}
void insert() //
{
int i;
char named[20];
stu *p1,*p2,*p3;
p1=head;
p3=(stu *)malloc(sizeof(stu));
p3->next=NULL;
printf("
\t\t\t☆☆☆ ☆☆☆
");
printf("----------------------------------------------------------------------
");
printf(" :
");
input(p3);
printf("
");
printf("1. \t2. \t3.
");
printf(" :");
scanf("%d",&i);
switch(i)
{
case 1:p3->next=p1;
head=p3;
break;
case 2:while(p1->next!=NULL)
{
p2=p1;
p1=p1->next;
}
p1->next=p3;
break;
case 3:printf(" ( ):");
scanf("%s",named);
while(strcmp(named,p1->name)!=0)
{
p2=p1;
p1=p1->next;
}
p2->next=p3;
p3->next=p1;
break;
}
printf(" !
");
printf("======================================================================
");
return;
}
void deleted() //
{
stu *p1,*p2;
char Name[20]; //
printf("
\t\t\t☆☆☆ ☆☆☆
");
printf("----------------------------------------------------------------------
");
printf(" :");
scanf("%s",Name);
p1=head;
if(head==NULL)
{
printf(" !
");
printf("======================================================================
");
return;
}
if(strcmp(Name,p1->name)==0)
{
head=p1->next;
printf(" !
");
printf("======================================================================
");
return;
}
while(p1!=NULL&&(strcmp(Name,p1->name)!=0))
{
p2=p1;
p1=p1->next;
}
if(p1==NULL)
{
printf(" !
");
printf("======================================================================
");
return;
}
if(p1->next!=NULL)
{
p1=p1->next;
p2->next=p1;
printf(" !
");
printf("======================================================================
");
return;
}
else
{
p2->next=NULL;
printf(" !
");
printf("======================================================================
");
return;
}
}
find(stu *p2) //
{
char name[20];
int b=0;
printf("
\t\t\t☆☆☆ ☆☆☆
");
printf("----------------------------------------------------------------------
");
printf(" :");
scanf("%s",name);
while(p2!=NULL)
{
if(strcmp(name,p2->name)==0)
{
printf("
");
printf(" :%s
",p2->name);
printf(" :%s\t",p2->num);
printf(" :%s\t",p2->sex);
printf(" :%s\t",p2->from);
printf(" :%s\t",p2->political);
printf(" :%s\t",p2->phone);
printf("QQ :%s\t",p2->QQ);
printf(" :%s
",p2->dorm);
printf("======================================================================
");
b=1;
}
p2=p2->next;
}
if(b==0)
{
printf("
!
");
}
}
update(stu *p2) //
{
char name[20];
int b=0,i;
printf("
\t\t\t☆☆☆ ☆☆☆
");
printf("----------------------------------------------------------------------
");
printf(" :");
scanf("%s",name);
while(p2!=NULL)
{
if(strcmp(name,p2->name)==0)
{
printf("
");
printf(" :%s
",p2->name);
printf(" :%s\t",p2->num);
printf(" :%s\t",p2->sex);
printf(" :%s\t",p2->from);
printf(" :%s\t",p2->political);
printf(" :%s\t",p2->phone);
printf("QQ :%s\t",p2->QQ);
printf(" :%s
",p2->dorm);
printf("
");
printf("\t1. \t2. \t3. \t4.
\t5. \t6. \t7.QQ\t8.
");
printf("
(1~8):");
scanf("%d",&i);
printf("
");
switch(i)
{
case 1:printf(" :");
scanf("%s",&p2->name);
break;
case 2:printf(" :");
scanf("%s",&p2->num);
break;
case 3:printf(" :");
scanf("%s",&p2->sex);
break;
case 4:printf(" :");
scanf("%s",&p2->from);
break;
case 5:printf(" :");
scanf("%s",&p2->political);
break;
case 6:printf(" :");
scanf("%s",&p2->phone);
break;
case 7:printf("QQ:");
scanf("%s",&p2->QQ);
break;
case 8:printf(" :");
scanf("%d",&p2->dorm);
break;
}
printf("
!
");
printf("=========================================================================
");
b=1;
}
p2=p2->next;
}
if(b==0)
{
printf(" !
");
}
}
save(stu *p2) //
{
FILE *fp;
char file[15];
printf("
\t\t\t☆☆☆ ☆☆☆
");
printf("----------------------------------------------------------------------
");
printf(" :");
scanf("%s",file);
if((fp=fopen(file,"w"))==NULL)
{
printf("cannot open this file
");
exit(0);
}
fprintf(fp," \t \t \t \t \t \tQQ \t
");
while(p2!=NULL)
{
fprintf(fp,"%s\t",p2->name);
fprintf(fp,"%s\t",p2->num);
fprintf(fp,"%s\t",p2->sex);
fprintf(fp,"%s\t",p2->from);
fprintf(fp,"%s\t",p2->political);
fprintf(fp,"%s\t",p2->phone);
fprintf(fp,"%s\t",p2->QQ);
fprintf(fp,"%s
",p2->dorm);
p2=p2->next;
}
printf("
!
");
printf("======================================================================
");
fclose(fp);
}
void screen()
{
int i;
char s[251]={" ZM ,
\t\t\t ---- ,
\t\tWelcome to use produced by ZM class address book
\t\t management system,sorting,printing"};
printf("
================================================================================
");
printf("
\t\t\t");
for(i=0;s[i]!=NULL;i++)
{
Sleep(30);
printf("%c",s[i]);
}
printf("
\t\t ~ Hi~ o(* ̄ ̄*)ブ~ ~ ~ ~ ~
");
printf("================================================================================
");
}
void main()
{
int i;
system("color 4e");
screen();
Sleep(3000);
print();
while(1)
{
printf(" (1~9):");
loop:scanf("%d",&i);
if(i<1||i>9)
{
printf(" , 1~9 :");
goto loop;
}
switch(i)
{
case 1:
inputdata();
break;
case 2:
lookdata(head);
break;
case 3:
insert();
break;
case 4:
deleted();
break;
case 5:
find(head);
break;
case 6:
update(head);
break;
case 7:
save(head);
break;
case 8:
print();
break;
case 9:
exit(1);
break;
}
}
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 언어 체인 시계는 뱀을 탐식하는 작은 게임을 실현한다본고의 실례는 여러분에게 C 언어 체인표가 뱀 탐식 게임을 실현하는 구체적인 코드를 공유하여 참고하도록 하였으며, 구체적인 내용은 다음과 같다. 프로젝트 이름: 뱀놀이 운영 환경: Linux 프로그래밍 언어: C 언...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.