c語言校友管理系統,用c語言寫學生信息管理系統

本文目錄一覽:

同學錄管理系統,急急急!用vc編譯250行代碼!

這是C語言還是C++,需要用到文本的讀寫操作吧。我可以幫你做。

用C語言編寫錄入學生信息(學號、性別、年齡、院系 )

//自己再添上性別 什麼的就行

#include string.h

#include stdio.h

#include stdlib.h

#define _COURSES 3//定義科目數

#define _LEN sizeof(student)//定義結構體大小

//枚舉返回值情況

enum status

{

OVERFLOW = -1, //內存(溢出)問題

DONE = 0, //成功

NOFOUND = 1, //不存在

OPENFAIL = 2, //打開(文件)失敗

BACK = 3 //返回

};

//end

//定義學生信息結構體

typedef struct StudentInfo

{

//數據域

unsigned int num;//學號

char name[11];//姓名

float scores[_COURSES];//各科成績

//指針域

struct StudentInfo *next;//存放下一節點的地址

}student;

//end

student *head=NULL;//聲明鏈表頭結點

student *curr=NULL;//聲明指向當前節點的指針

int total = 0;//聲明當前節點個數

int init();//初始化鏈表

int add_stu();//添加新節點

int show_all();//顯示所有學生信息

int find_stu();//查找指定信息節點

int modify_stu();//修改指定信息節點

int remove_stu();//刪除指定信息節點

int sort_list();//對鏈表排序

int save_to_file();//將所有信息保存至文件

int read_from_file();//從文件中讀取信息

void about();//關於

int quit();//釋放所有節點空間

int entering(student *input);//錄入學生信息

void show_stu(student *show, int serial);//顯示指定學生信息

void start();//程序開始界面

void change(student *former, student *latter, student *temp);//交換兩個節點的數據域

void main()

{

int choice=0;

init();

while(1)

{

system(“cls”);

start();

printf(“請選擇:”);

scanf(“%d”,choice);

fflush(stdin);//清空緩衝區

switch (choice)

{

case 1:

{

add_stu();

break;

}

case 2:

{ show_all();

break;

}

case 3:

{

find_stu();

break;

}

case 4:

{

modify_stu();

break;

}

case 5:

{

remove_stu();

break;

}

case 6:

{

sort_list();

break;

}

case 7:

{

save_to_file();

break;

}

case 8:

{

read_from_file();

break;

}

case 9:

{

about();

break;

}

case 0:

{

quit();

exit(0);

break;

}

default:{break;}

}

system(“pause”);

}

}

/*******************************************************/

/*功能: 初始化帶頭結點的鏈表,頭結點指針域置空 */

/* */

/*返回: */

/*******************************************************/

int init()

{

head = (student *)malloc(_LEN);//為頭結點申請空間

if (!head)

{//如果申請空間失敗,返回

return OVERFLOW;

}

head-next = NULL;//指向下一節點(空)

curr = head-next;//當前節點指針指向第一個結點

total = 0;//當前節點個數初始化為0(頭結點不計算在內)

return DONE;

}

/*******************************************************/

/*功能:頭插法添加新節點,並刷新學生人數 */

/* */

/*返回: */

/*******************************************************/

int add_stu()

{

student *add = (student *)malloc(_LEN);

curr = head-next;//當前節點指針指向第一個節點

printf(“\t====當前已存入 %d 個同學\n”,total);

printf(“請輸入第 %d 個學生的信息\n”,total+1);

if (BACK == entering(add))

{

free(add);

return BACK;

}

head-next = add;//頭結點指針域指向新建的節點

add-next = curr;//新建節點指針域指向第一個節點

curr = add; //當前節點指向新建的節點

total += 1; //更新學生總人數

return DONE;

}

/*******************************************************/

/*功能:顯示所有學生信息 */

/* */

/*返回: */

/*******************************************************/

int show_all()

{

if ( 0 == total )

{

printf(“\t====沒有可供顯示的學生信息!\n”);

return NOFOUND;

}

curr = head-next;//當前節點指針指向第一個節點

printf(“\t%4s%12s%12s”,”序號”,”學號”,”姓名”);

for (int m=0; m_COURSES; m++)

{

printf(“%7s”,”科目”);

}

printf(“\n”);

printf(“\t————————————————————-\n”);

for (int i=1; i=total; i++)

{

show_stu(curr,i);

curr = curr-next;//當前節點指針後移

}

printf(“\t————————————————————-\n”);

return DONE;

}

/*******************************************************/

/*功能:查找指定學生信息 */

/* */

/*返回: */

/*******************************************************/

int find_stu()

{

char stu_name[11];

int flag=1;

printf(“請輸入要查找的學生姓名:”);

scanf(“%s”,stu_name);

curr = head-next;//指向第一個節點

while (curr != NULL)

{

if (strcmp(stu_name,curr-name) == 0)

{

printf(“\t%4s%12s%12s”,”序號”,”學號”,”姓名”);

for (int m=0; m_COURSES; m++)

{

printf(“%7s”,”科目”);

}

printf(“\n”);

printf(“\t————————————————————-\n”);

show_stu(curr,flag);

return DONE;

}

curr = curr-next;

++flag;

}

printf(“\t====沒有找到 %s !請仔細核對姓名再查找\n”,stu_name);

return NOFOUND;

}

/*******************************************************/

/*功能:修改指定學生的所有信息 */

/* */

/*返回: */

/*******************************************************/

int modify_stu()

{

char stu_name[11];

int flag=1;

curr = head-next;//指向第一個節點

printf(“請輸入要修改的學生的姓名:”);

scanf(“%s”,stu_name);

while (curr != NULL)

{

if (strcmp(stu_name,curr-name) == 0)

{

printf(“\t%4s%12s%12s”,”序號”,”學號”,”姓名”);

for (int m=0; m_COURSES; m++)

{

printf(“%7s”,”科目”);

}

printf(“\n”);

printf(“\t————————————————————-\n”);

show_stu(curr,flag);

entering(curr);

printf(“\t====成功修改了 %s 的所有信息!\n”,stu_name);

return DONE;

}

curr = curr-next;

++flag;

}

printf(“\t====沒有找到 %s !請仔細核對姓名\n”,stu_name);

return NOFOUND;

}

/*******************************************************/

/*功能:刪除指定學生 */

/* */

/*返回: */

/*******************************************************/

int remove_stu()

{

student *pre=head;

char stu_name[11];

curr = head-next;//指向第一個節點

printf(“請輸入要刪除的學生的姓名:”);

scanf(“%s”,stu_name);

while (curr != NULL)

{

if (strcmp(stu_name,curr-name) == 0)

{

pre-next = curr-next; //

free(curr); //

–total; //

printf(“\t====已成功刪除\”%s\”\n”,stu_name);

return DONE;

}

pre = pre-next;

curr = curr-next;

}

printf(“\t====沒有找到 %s !請仔細核對姓名\n”,stu_name);

return NOFOUND;

}

/*******************************************************/

/*功能:對所有學生排序 */

/* */

/*返回: */

/*******************************************************/

int sort_list()

{

student *temp = (student *)malloc(_LEN);

student *curr_i = head-next;

student *curr_j = NULL;

char choice=’0′;

printf(“\t \t1—-按學號排序 .\t2—-按姓名排序 . \n”);

printf(“\t \t3—-按科目排序 .\t0—-退 出 排 序. \n”);

printf(“請選擇:”);

scanf(“%c”,choice);

fflush(stdin);

switch (choice)

{

case ‘1’:

{

while(curr_i-next != NULL)

{

curr_j = curr_i-next;

while (curr_j != NULL)

{

if (curr_i-num curr_j-num)

{

change(curr_i,curr_j,temp);

}

curr_j = curr_j-next;

}

curr_i = curr_i-next;

}

printf(“\t====排序成功!\n”);

break;

}

case ‘2’:

{

while(curr_i-next != NULL)

{

curr_j = curr_i-next;

while (curr_j != NULL)

{

if (strcmp(curr_i-name , curr_j-name) 0)

{

change(curr_i,curr_j,temp);

}

curr_j = curr_j-next;

}

curr_i = curr_i-next;

}

printf(“\t====排序成功!\n”);

break;

}

case ‘3’:

{

while(curr_i-next != NULL)

{

curr_j = curr_i-next;

while (curr_j != NULL)

{

if (curr_i-scores[0] curr_j-scores[0])

{

change(curr_i,curr_j,temp);

}

curr_j = curr_j-next;

}

curr_i = curr_i-next;

}

printf(“\t====排序成功!\n”);

break;

}

case ‘0’:

{

free(temp);

return BACK;

}

default:

{printf(“\t====輸入有誤!\n”);break;}

}

free(temp);

return DONE;

}

/*******************************************************/

/*功能:保存數據到文件 */

/* */

/*返回: */

/*******************************************************/

int save_to_file()

{

curr=head-next;

if (total == 0)

{

printf(“\t====目前還沒有任何信息,不用保存!\n”);

return BACK;

}

FILE *fp;

if((fp=fopen(“record.dat”,”wb”))==NULL)

{

printf(“\t====文件打開失敗!\n”);

return OPENFAIL;

}

while (curr != NULL)

{

//將數據成塊寫入文件

fwrite((char *)curr, _LEN, 1, fp);

curr=curr-next;

}

fclose(fp);

printf(“\t====信息已成功保存至文件\”record.dat\”文件中\n”);

return DONE;

}

/*******************************************************/

/*功能:從文件中讀取數據 */

/* */

/*返回: */

/*******************************************************/

int read_from_file()

{

char judge=’y’;

FILE *fp;

if((fp=fopen(“record.dat”,”r”))==NULL)

{

printf(“文件不存在或者打開失敗!\n”);

return OPENFAIL;

}

printf(“\t====讀取文件會覆蓋當前信息!是否確定載入文件?(y/n):”);

scanf(“%c”,judge);

if (judge==’n’ || judge==’N’)

{

return BACK;

}

quit();//釋放以前所有信息的空間

init();//重新初始化鏈表

curr = head;//當前節點指針指向頭結點

student *add=(student *)malloc(_LEN);//申請空間存放讀取的信息

while (fread((char *)add, _LEN, 1, fp))

{//由於存儲的信息是最新的信息在前,所以讀取的時候將其添加在鏈表尾

add-next=curr-next;

curr-next=add;

curr=add;

add=(student *)malloc(_LEN);

++total;

}

fclose(fp);

printf(“\t====文件載入成功!當前已有%d個學生。\n”,total);

return DONE;

}

/*******************************************************/

/*功能: */

/* */

/*返回: */

/*******************************************************/

void about()

{

printf(“\t#############################################################\n”);

printf(“\n\t \t歡迎各位用戶反饋Bug或提出寶貴的意見和建議 \n”);

printf(“\t \t聯繫方式 \n”);

printf(“\t \t手 機:13667102098 \n”);

printf(“\t \tE-mail:Never_S@126.com \n”);

printf(“\n\t \t\tC語言學生成績管理系統1.0版\n\n”);

printf(“\t#############################################################\n”);

}

/*******************************************************/

/*功能:釋放內存 */

/* */

/*返回: */

/*******************************************************/

int quit()

{

curr =head-next;

student *temp=curr;

while(curr != NULL)

{

temp=curr-next;

free(curr);

curr=temp;

}

curr=NULL;

temp=NULL;

free(head);//釋放頭節點

return DONE;

}

//////////////////////////////////////////////////////////////////////////

/*******************************************************/

/*功能:錄入一個學生的全部信息 */

/* */

/*返回: */

/*******************************************************/

int entering(student *input)

{

printf(“\n請輸入學生的學號(輸入0退出添加):”);

scanf(“%d”,input-num);

if (0 == input-num)

{

return BACK;

}

printf(“請輸入學生的姓名(五個漢字以內):”);

scanf(“%s”,input-name);

printf(“請輸入%d門科目的成績(用空格隔開):”, _COURSES);

for (int i=0; i_COURSES; i++)

{

scanf(“%f”,input-scores[i]);

}

return DONE;

}

/*******************************************************/

/*功能:顯示指定學生的所有信息 */

/* */

/*返回: */

/*******************************************************/

void show_stu(student *show, int serial)

{

printf(“\t%4d%12d%12s”,serial,show-num,show-name);

for (int i=0; i_COURSES; i++)

{

printf(“%7.1f”,show-scores[i]);

}

printf(“\n”);

}

/*******************************************************/

/*功能:根據權限進入不同的界面 */

/* */

/*返回: */

/*******************************************************/

void start()

{

printf(“\n”);

printf(“\t\t\t歡迎使用學生成績管理系統\n”);

printf(“\t*************************************************************\n”);

printf(“\t|\t1—-添 加 學 生.\t2—-顯 示 信 息. |\n”);

printf(“\t|\t3—-查 找 學 生.\t4—-修 改 信 息. |\n”);

printf(“\t|\t5—-刪 除 學 生.\t6—-學 生 排 序. |\n”);

printf(“\t|\t7—-信 息 存 檔.\t8—-讀 取 存 檔. |\n”);

printf(“\t|\t9—-關 於.\t0—-退 出. |\n”);

printf(“\t*************************************************************\n”);

}

/*******************************************************/

/*功能: */

/* */

/*返回: */

/*******************************************************/

void change(student *former, student *latter,student *temp)

{

*temp = *former;

strcpy(former-name , latter-name);

strcpy(latter-name , temp-name);

former-num = latter-num;

latter-num = temp-num;

for (int i=0; i_COURSES; i++)

{

former-scores[i] = latter-scores[i];

latter-scores[i] = temp-scores[i];

}

}

學生成績管理系統 C語言 用的是dev c++

#include stdio.h

#include stdlib.h

#define SIZE 10

struct student

{

int num;

char name[10];

int c;

float s[3];

float aver;

}stu[SIZE],temp;

void save()//錄入同學成績們的函數 

{

    int i;

FILE *fp;

if((fp=fopen(“stu.dat”,”wb”))==NULL){

       printf(“cannot open file\n”);

  return;

    }

for(i=0;iSIZE;i++) 

if (fwrite(stu[i],sizeof(struct student),1,fp)!=1)

printf (“file write error\n”);

fclose(fp);}

void write()//錄入成績 

{

    int i;

printf(“Please enter data of students including number,name,class,scores of three subjects:\n”);

for(i=0;iSIZE;i++)

{scanf(“%d%s%d%f%f%f”,stu[i].num,stu[i].name,stu[i].c,stu[i].s[0],stu[i].s[1],stu[i].s[2]);

stu[i].aver=(stu[i].s[1]+stu[i].s[2]+stu[i].s[0])/3.0;}

save();

 }

void read(int i)//瀏覽同學們的成績 i的取值範圍是0-9 ,輸出 

{

    FILE *fp;

if ((fp=fopen(“stu.dat”,”rb”))==NULL){

        printf(“cannot open file\n”);  

   return;

     } 

fread(stu[i],sizeof(struct student),1,fp);

printf(“瀏覽成績:%-10s同學:\n”,stu[i].name) ;

printf(“學號:%4d 班級:%4d 數分:%.1f 幾代:%.1f C語言:%.1f 平均:%.1f\n”,stu[i].num,stu[i].c,stu[i].s[0],stu[i].s[1],stu[i].s[2],stu[i].aver);

fclose (fp);

 } 

void paixu()//按學號排序瀏覽成績 

{   int i,j,k;

 FILE *fp;

if ((fp=fopen(“stu.dat”,”rb”))==NULL)

{printf(“cannot open file\n”);  

return;}

printf(“按學號排序查看全體同學的成績如下:\n”) ;

    for(i=0;iSIZE;i++)

    fread(stu[i],sizeof(struct student),1,fp);

    for(i=0;iSIZE-1;i++){

        k=i;

        for(j=i+1;jSIZE;j++){

            if(stu[j].numstu[k].num)k=j;

            temp=stu[k];

            stu[k]=stu[i];stu[i]=temp;

        }

    } 

    for(i=0;iSIZE;i++){

        printf(“學號:%4d 姓名%-10s班級:%d 數分:%.1f 幾代:%.1f C語言:%.1f 平均:%.1f\n”,stu[i].num,stu[i].name,stu[i].c,stu[i].s[0],stu[i].s[1],stu[i].s[2],stu[i].aver);

    }

fclose (fp);

}

void del()//刪除某個學生的某項資料

{}

void cha()//輸入學號查成績 

{

    int a,i;

    FILE *fp;

    printf(“請輸入你的學號:”);

    scanf(“%d”,a);getchar();

    for(i=0;iSIZE;i++){

        fread(stu[i],sizeof(struct student),1,fp);

        if(a==stu[i].num){

            //輸出輸出該同學相關信息 

        }

        break; 

    }

    fclose (fp);

}

int main()

{

    cha();

return 0;

}

C語言編程:找出數學成績最差的同學! 求大神幫忙期末考試

一個簡單的學生成績管理系統。其中每個學生信息包括學號、姓名、數學成績、英語成績、計算機成績。編寫一個菜單程序分別完成以下功能:

每個學生的信息使用結構體變量存儲。

編寫函數fun1(),檢查錄入時的學號衝突情況,具體功能為:在錄入時如果已有學號相同的學生信息,需提示用戶,並允許用戶重新輸入信息(即用新的數據覆蓋原來數據)或不重新輸入的選擇。

對於需要重新輸入信息的結點,通過函數fun2()實現,其功能為:當出現學號相同的結點時,以新的數據代替原來的數據,實現數據的更新。

4)通過函數fun3()實現輸出平均成績最高的學生數據(包括學號、姓名、3門課程成績、平均分數)。

5)通過函數fun4()實現按某門課程(如計算機)成績排序;

6)通過函數fun5()實現根據學號查詢某學生三門課程的成績。

7)編寫打印輸出函數fun6(),將信息從頭到尾打印出來。

要求:1)使用結構體數組,每個記錄包括num、name、score[3]、average。

2)各功能分別通過函數調用實現。

3)排序採用冒泡法或選擇法。

4)查詢採用順序查找方法。

菜單:

1輸入學生資料2刪除學生資料

3查詢學生資料4修改學生資料

5顯示學生資料6統計學生成績

7排序學生成績8保存學生資料

9獲取幫助信息10退出系統

1. 添加學生信息:學號(整型),姓名(字符數組),高數,英語,數據結構(double) 2. 輸出所有同學信息

#includestdio.h

#includestdlib.h

#define LEN sizeof(struct Student)

struct Student

{

long num;

char name[10];

float Math,English;

struct Student*next;

};

int n;

struct Student*creat(void)

{

struct Student*p1,*p2,*head;

n=0;

p2=p1=(struct Student*)malloc(LEN);

printf(“輸入學生的學號 姓名 高數成績 英語成績(學號以0結束輸入):\n”);

scanf(“%ld%s%f%f”,p1-num,p1-name,p1-Math,p1-English);

head=NULL;

while(p1-num!=0)

{n=n+1;

if(n==1)head=p1;

else

p2-next=p1;

p2=p1;

p1=(struct Student*)malloc(LEN);

scanf(“%ld%s%f%f”,p1-num,p1-name,p1-Math,p1-English);

}

p2-next=NULL;

return head;

}

void print(struct Student*p)

{

int i;

printf(“學號 姓名 高數成績 英語成績:\n”);

for(i=1;i=n;i++)

{

printf(“%ld%s%5.1f%5.1f\n”,p-num,p-name,p-Math,p-English);

p=p-next;

}

}

main()

{

struct Student*p;

p=creat();

print(p);

}

如果要結束輸入就鍵入0 0 0 0

C語言編寫程序:同學通信錄管理系統

望採納

#includestdio.h

#includestdlib.h

#includestring.h

typedef struct

{

char score; /*編號*/

char name[10]; /*姓名*/

char num[15]; /*號碼*/

char email[20]; /*郵箱*/

char age[8]; /*年齡*/

char adds[20]; /*住址*/

}Person;

Person pe[80];

//登陸函數

logon()

{printf(“\n\n\n\t\t\t 通訊錄管理系統\n\n”);

printf(“\t\t\t 版本號:1.0\n\n”);

printf(“\n\n\n\n\n\t\t\t 2011年4月29日\n\n”);

printf(“\t\t\t 程序設計第三組\n”);

system(“pause”);

}

int menu_select()

{ char c;

logon();

do{

system(“cls”);

printf(“\t\t *****通訊錄***** \n”);

printf(“\t\t┌───────┐\n”);

printf(“\t\t│ 1. 添加記錄 │\n”);

printf(“\t\t│ 2. 顯示記錄 │\n”);

printf(“\t\t│ 3. 刪除記錄 │\n”);

printf(“\t\t│ 4. 查詢記錄 │\n”);

printf(“\t\t│ 5. 修改記錄 │\n”);

printf(“\t\t│ 6. 保存記錄 │\n”);

printf(“\t\t│ 0. 退出程序 │\n”);

printf(“\t\t└───────┘\n”);

printf(“\t\t請您選擇(0-6):”);

c=getchar();

}while(c’0’||c’6′);

return(c-‘0’);

}

int Input(Person per[],int n)

{

int i=0;

char sign,x[10];

while(sign!=’n’sign!=’N’)

{

printf(“\t編號:”);

scanf(“\t%d”,per[n+i].score);

printf(“\t姓名:”);

scanf(“\t%s”,per[n+i].name);

printf(“\t年齡:”);

scanf(“\t%s”,per[n+i].age);

printf(“\t電話號碼:”);

scanf(“\t%s”,per[n+i].num);

printf(“\t通訊住址:”);

scanf(“\t%s”,per[n+i].adds);

printf(“\t電子郵箱:”);

scanf(“\t%s”,per[n+i].email);

gets(x);

printf(“\n\t是否繼續添加?(Y/N)”);

scanf(“\t%c”,sign);

i++;

}

return(n+i);

}

void Display(Person per[],int n)

{

int i;

printf(“———————————————————————-\n”); /*格式*/

printf(“編號 姓名 年齡 電話號碼 通訊地址 電子郵箱\n”);

printf(“———————————————————————-\n”);

for(i=1;in+1;i++)

{

printf(“%-5d%-8s%-6s%-13s%-15s%-15s\n”,per[i-1].score,per[i-1].name,per[i-1].age,per[i-1].num,per[i-1].adds,per[i-1].email);

if(i1i%10==0)

{

printf(“\t———————————–\n”);

printf(“\t”);

system(“pause”);

printf(“\t———————————–\n”);

}

}

printf(“———————————————————————-\n”);

system(“pause”);

}

int Delete_a_record(Person per[],int n)

{

char s[20];

int i=0,j;

printf(“\t請輸入想刪除記錄中的名字:”);

scanf(“%s”,s);

while(strcmp(per[i].name,s)!=0in) i++;

if(i==n)

{

printf(“\t通訊錄中沒有此人!\n”);

return(n);

}

for(j=i;jn-1;j++)

{

strcpy(per[j].num,per[j+1].num);

strcpy(per[j].name,per[j+1].name);

strcpy(per[j].age,per[j+1].age);

strcpy(per[j].adds,per[j+1].adds);

strcpy(per[j].email,per[j+1].email);

per[j].score=per[j+1].score;

}

printf(“\t\t\t已經成功刪除!\n”);

return(n-1);

}

void Query_a_record(Person per[],int n)

{

int m;

printf(“\t\n請選擇查詢方式:\n”);

printf(“\t┌──────┐\n”);

printf(“\t│1——姓名 │\n”);

printf(“\t│2——電話 │\n”);

printf(“\t│3——地址 │\n”);

printf(“\t│4——返回 │\n”);

printf(“\t└──────┘\n”);

printf(“請選擇:”);

scanf(“%d”,m);

while(m!=1m!=2m!=3m!=4)

{

printf(“輸入錯誤,請重新選擇:”);

scanf(“%d”,m);

}

if(m==1)

{

char s[20];

int i=0;

printf(“\t請輸入想查詢的姓名:”);

scanf(“\t%s”,s);

while(strcmp(per[i].name,s)!=0in) i++;

if(i==n)

{

printf(“\t通訊錄中沒有此人!\n”);

return;

}

printf(“\t此人編號: %d\n”,per[i].score);

printf(“\t此人年齡: %s\n”,per[i].age);

printf(“\t電話號碼: %s\n”,per[i].num);

printf(“\t通訊地址: %s\n”,per[i].adds);

printf(“\t電子郵箱: %s\n”,per[i].email);

} ;

if(m==2)

{

char s[20];

int i=0;

printf(“\t請輸入想查詢的電話:”);

scanf(“\t%s”,s);

while(strcmp(per[i].num,s)!=0in) i++;

if(i==n)

{

printf(“\t通訊錄中沒有此人!\n”);

return;

}

printf(“\t此人編號: %d\n”,per[i].score);

printf(“\t此人姓名: %s\n”,per[i].name);

printf(“\t此人年齡: %s\n”,per[i].age);

printf(“\t通訊地址: %s\n”,per[i].adds);

printf(“\t電子郵箱: %s\n”,per[i].email);

} ;

if(m==3)

{

char s[20];

int i=0;

printf(“\t請輸入想查詢的地址:”);

scanf(“\t%s”,s);

while(strcmp(per[i].adds,s)!=0in) i++;

if(i==n)

{

printf(“\t通訊錄中沒有此人!\n”);

return;

}

printf(“\t此人編號: %d\n”,per[i].score);

printf(“\t此人姓名: %s\n”,per[i].name);

printf(“\t此人年齡: %s\n”,per[i].age);

printf(“\t電話號碼: %s\n”,per[i].num);

printf(“\t電子郵箱: %s\n”,per[i].email);

} ;

}

void Change(Person per[],int n)

{

char s[20];

int i=0;

printf(“\t請輸入想修改的記錄中的名字:”);

scanf(“%s”,s);

while(strcmp(per[i].name,s)!=0in) i++;

if(i==n)

{

printf(“\t通訊錄中沒有此人!\n”);

return;

}

printf(“\t編號:”);

scanf(“\t%d”,per[i].score);

printf(“\t姓名:”);

scanf(“\t%s”,per[i].name);

printf(“\t年齡:”);

scanf(“\t%s”,per[i].age);

printf(“\t電話號碼:”);

scanf(“\t%s”,per[i].num);

printf(“\t通訊住址:”);

scanf(“\t%s”,per[i].adds);

printf(“\t電子郵箱:”);

scanf(“\t%s”,per[i].email);

printf(“\t修改成功!”);

}

void WritetoText(Person per[],int n)

{

int i=0;

FILE *fp; /*定義文件指針*/

char filename[20]; /*定義文件名*/

printf(“\t保存到文件\n”); /*輸入文件名*/

printf(“\t請輸入所保存的文件名:”);

scanf(“\t%s”,filename);

if((fp=fopen(filename,”w”))==NULL)

{

printf(“\t無法打開文件\n”);

system(“pause”);

return;

}

fprintf(fp,”******************************************通訊錄******************************************\n”);

fprintf(fp,”編號 姓名 年齡 電話號碼 通訊地址 電子郵箱\n”);

fprintf(fp,”——————————————————————————————\n”);

while(in)

{

fprintf(fp,”%-3d\t%-6s\t%-3s\t%-13s\t%-20s\t%-20s\n”,per[i].score,per[i].name,per[i].age,per[i].num,per[i].adds,per[i].email);

i++;

}

fprintf(fp,”——————————————————————————————\n”);

fprintf(fp,”***************************************共有%d條記錄****************************************\n”,n);

fclose(fp); /*關閉文件*/

printf(“保存成功!\n”);

}

void main()

{

int n=0;

for(;;)

{

switch(menu_select())

{

case 1:

printf(“\n\t添加記錄到通訊錄\n”); n=Input(pe,n);

break;

case 2:

printf(“\n\t\t\t 通訊錄記錄表\n”);

Display(pe,n);

break;

case 3:

printf(“\n\t從通訊錄中刪除記錄\n”);

n=Delete_a_record(pe,n);

printf(“\t”);

system(“pause”);

break;

case 4:

printf(“\n\t在通訊錄中查找記錄\n”);

Query_a_record(pe,n);

printf(“\t”);

system(“pause”);

break;

case 5:

printf(“\n\t修改通訊錄中的記錄\n”);

Change(pe,n);

printf(“\t”);

system(“pause”);

break;

case 6:

printf(“\n\t保存功能\n”);

WritetoText(pe,n);

printf(“\t”);

system(“pause”);

break;

case 0:

printf(“\n\t\t謝謝使用,再見!\n”);

printf(“\n\t\t”);

system(“pause”);

exit(0);

}

}

}

原創文章,作者:YHUB,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/135669.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
YHUB的頭像YHUB
上一篇 2024-10-04 00:14
下一篇 2024-10-04 00:14

相關推薦

  • 銀行資金管理系統總結

    銀行資金管理系統是銀行日常業務運營的核心支撐系統,主要負責處理銀行的資金流動、結算、清算等業務。本文將從功能特點、技術架構、安全性以及未來發展趨勢等多個方面對銀行資金管理系統進行詳…

    編程 2025-04-29
  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • 北化教務管理系統介紹及開發代碼示例

    本文將從多個方面對北化教務管理系統進行介紹及開發代碼示例,幫助開發者更好地理解和應用該系統。 一、項目介紹 北化教務管理系統是一款針對高校學生和教職工的綜合信息管理系統。系統實現的…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28

發表回復

登錄後才能評論