-
大小: 2KB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-06-11
- 語言: C/C++
- 標(biāo)簽:
資源簡介
班級通訊錄管理系統(tǒng)
C語言課程設(shè)計
主要管理班級同學(xué)之間的通訊錄

代碼片段和文件信息
#?include?
#?include?
#?include?
typedef?struct?student?//定義學(xué)生結(jié)點
{
????char?name[20];?//姓名
int?age;?//年齡
char?addr[20];?//地址
char?phone[20];?//電話
char?post[20];?//郵編
char?mail[20];?//E-mail
struct?student?*next;
}stud;
void?Menu()?//菜單
{
printf(“\n\n\n“);
printf(“**************************************班級通訊錄管理系統(tǒng)***************************************\n\n“);
printf(“??????????1.輸入??????????????????????????????????????2.編輯\n\n“);
printf(“??????????3.查詢(按姓名)????????????????????????????4.顯示\n\n“);
printf(“??????????5.排序后顯示并保存到文本中(按年齡)??????????6.從文本中讀取數(shù)據(jù)并顯示\n\n“);
printf(“??????????0.退出系統(tǒng)\n\n“);
printf(“************************************************************************************************\n“);
}
void?Init(stud?*H)?//初始化
{
H->next=NULL;
}
void?Input(stud?*H)?//輸入
{
int?n;
stud?*p?*q;
p=H;
while(p->next)
{
p=p->next;?//p指向鏈表的最后一個結(jié)點
}
while(true)
{
q=(stud?*)malloc(sizeof(stud));?//申請空間
q->next?=?NULL;
printf(“請輸入學(xué)生信息:\n“);
printf(“姓名:“);?scanf(“%s“?&q->name);?printf(“\n“);
printf(“年齡:“);?scanf(“%d“?&q->age);?printf(“\n“);
printf(“地址:“);?scanf(“%s“?&q->addr);?printf(“\n“);
printf(“電話:“);?scanf(“%s“?&q->phone);?printf(“\n“);
printf(“郵編:“);?scanf(“%s“?&q->post);?printf(“\n“);
printf(“E-mail:“);?scanf(“%s“?&q->mail);?printf(“\n“);
p->next=q;
p=q;
system(“cls“);?//清屏
????printf(“是否接著輸入:1(繼續(xù))/0(結(jié)束)\n“);
scanf(“%d“?&n);
if(n==0)?break;
}
}
void?Output(stud?*H)?//顯示輸出
{
system(“cls“);
stud?*p;
p?=?H->next;
if(!p)?
{
printf(“\n沒有學(xué)生記錄!\n“);
return?;
}
printf(“姓名?????年齡????地址?????電話????郵編????E-mail?\n“);
while(p)?//輸出學(xué)生記錄
{
printf(“%s?????%d????%s?????%s?????%s?????%s\n“?p->name?p->age?p->addr?p->phone?p->mail?p->mail);
p=p->next;
}
}
void?Find(stud?*H)?//查詢
{
system(“cls“);
char?str[20];
bool?f=false;
stud?*p;
p=H->next;
printf(“請輸入姓名:\n“);
scanf(“%s“?str);
if(!p)
{
printf(“沒有符合條件的學(xué)生記錄!\n“);
return?;
}
printf(“姓名?????年齡????地址?????電話????郵編????E-mail?\n“);
while(p)
{
if(strcmp(str?p->name)==0)?//找到了一條符合條件的記錄
{
f=true;
printf(“%s?????%d????%s?????%s?????%s?????%s\n“?
????p->name?p->age?p->addr?p->phone?p->mail?p->mail);
}
p=p->next;
}
if(!f)
{
????????printf(“沒有符合條件的學(xué)生記錄!\n“);
}
}
void?Sort(stud?*H)?//按年齡排序后顯示,并保存到文本中
{
system(“cls“);
stud?a[1000];
stud?*p?*q;
p=H->next;
if(!p)
{
printf(“沒有學(xué)生記錄,不能排序!\n“);
return?;
}
int?num=0?i?j;
while(p)
{
a[num++]?=?*p;
p=p->next;
}
for(i=0;i {
int?k=i;
for(j=i+1;?j {
if(a[j].age {
k=j;
}
}
if(k!=i)
{
stud?temp=a[k];
a[k]=a[i];
a[i]=temp;
}
}
????H->next=NULL;
p=H;
for(i=0;i {
q=(stud?*)malloc(sizeof(stud));
*q?=?a[i];
p->next=q;
q->next=NULL;
p=q;
}
printf(“按年齡排序后:\n“);
Output(H);
FILE?*fp;?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????7310??2010-06-08?20:54??班級通訊錄管理系統(tǒng)+C語言課程設(shè)計.cpp
-----------?---------??----------?-----??----
?????????????????7310????????????????????1
評論
共有 條評論