国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C語言課程設計_通訊錄管理系統(tǒng)

這篇具有很好參考價值的文章主要介紹了C語言課程設計_通訊錄管理系統(tǒng)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

任務

以本班同學的具體數(shù)據(jù)為背景,設計一個本班同學通訊錄。

實現(xiàn)功能

1)? 通訊錄編輯(添加、刪除)。

2)? 按不同的項進行查找。

3)? 對已存在的通訊錄按不同的項排序。

4)? 將通訊錄寫入文件

5)從文件讀入通訊錄

備注:通訊錄至少應該有以下數(shù)據(jù)項:

姓名,地址,電話,郵編,E-mail。

概要設計

(1)人數(shù)不定,每輸入一個人編號。

(2)記錄每位同學的姓名、電話號碼、地址、郵編和E-mail。?

(3)可對記錄中的姓名和電話號碼等進行修改。

(4)可增加或刪除記錄

(5)加入查詢功能,通過姓名或電話號碼查詢到同學的條目。

(6)在開始畫面加入簡單的菜單便于選擇功能。

(7)將信息保存在文件。

詳細設計?

?1.數(shù)據(jù)結(jié)構(gòu)和系統(tǒng)框架

?1.主要流程:

C語言課程設計_通訊錄管理系統(tǒng)

2. 主要功能

?C語言課程設計_通訊錄管理系統(tǒng)

系統(tǒng)功能需求:

<1>記錄功能:記錄每位同學的姓名、電話號碼、地址、郵編和E-mail

<2>查找功能:按不同方式查找信息

<3>添加功能:添加信息

<4>排序功能:將信息按照姓名排序

<5>刪除功能:刪除指定的信息

<6>保存在文件:將做完的信息保存在文件

<7>結(jié)束:結(jié)束程序

3.函數(shù)說明

選擇功能函數(shù)

void next()
{
	void show();
	void seek();
	void add();
	void sort();
	void out();
	void keep();
	int end();
	int b;
	printf("\t***********************NEXT**************************\n");
	printf("\t請選擇接下來的操作:");
	scanf("%d",&b);
	printf("\t*****************************************************\n");
	switch(b)
	{
		case 1 :show();break;
		case 2 :seek();break;
		case 3 :add();break;
		case 4 :sort();break;
		case 5 :out();break;
		case 6 :keep();break;
		case 7 :end();break;
	}
}

?輸入函數(shù)

void write()
{
	void next();
	void write1();
	printf("\t請輸入信息(每次輸入1時繼續(xù)輸入,輸入2時停止輸入)\n");
	printf("\t姓名\t家庭電話\t地址\t郵編\tE-mail\n");
	write1();
}
void write1()
{
	void next();
	void write2();
	int a;
	printf("是否輸入:");
	scanf("%d",&a);
	printf("\n");
	switch(a)
	{
	    case 1 :write2();break;
		    case 2 :next();break;
	}
}
void write2()
{
	void write1();
	j=i+1;
	printf("%d\t",j);
	scanf("%s%d%s%d%s",stu[i].name,&stu[i].phone,stu[i].adress,&stu[i].postcode,stu[i].e_mail);
	i=i+1;
	write1();
}

輸出函數(shù)

void show()
{
	void next();
	int s=0;
	printf("\t下面將會顯示輸入的數(shù)據(jù):\n");
	printf("\t姓名\t家庭電話\t地址\t郵編\tE-mail\n");
	for(i=0;i<j;i++)
	{
		s=s+1;
		printf("%d\t%s\t%d\t%s\t%d\t%s\n",s,stu[i].name,stu[i].phone,stu[i].adress,stu[i].postcode,stu[i].e_mail);
	}
	printf("\t顯示結(jié)束\n");
	next();
}

查找函數(shù)

void seek()
{
	int q;
	void numberseek();
	void nameseek();
	printf("\t請選擇搜索方式:1~按名字查找\n\t                2~按家庭電話號碼查找\n");
	printf("\t請選擇查找方式:");
	scanf("%d",&q);
	switch(q)
	{
	    case 1 :nameseek();break;
		case 2 :numberseek();break;
	}

}
void nameseek()
{
	void next();
	char d[5];
	printf("\t請輸入要查找學生的名字:");
	scanf("%s",d);
	for(i=0;i<j;i++)
	{
		if(strcmp(d,stu[i].name)==0)
		{
			printf("\t你要查找的學生信息為:\n");
			printf("\t姓名\t家庭電話\t地址\t郵編\tE-mail\n");
			printf("\t%s\t%d\t%s\t%d\t%s\n",stu[i].name,stu[i].phone,stu[i].adress,stu[i].postcode,stu[i].e_mail);
			break;
		}
		else
			continue;
	}
	next();
}
void numberseek()
{
	void next();
	int e;
	printf("\t請輸入要查找的電話號碼:");
	scanf("%d",&e);
	for(i=0;i<j;i++)
	{
 		if(e==stu[i].phone)
		{
			printf("\t你要查找的學生信息為:\n");
			printf("\t姓名\t家庭電話\t地址\t郵編\tE-mail\n");
			printf("\t%s\t%d\t%s\t%d\t%s\n",stu[i].name,stu[i].phone,stu[i].adress,stu[i].postcode,stu[i].e_mail);
			break;
		}
		else
			continue;
	}
	next();
}

添加函數(shù)

void add()
{
	void next();
	void write1();
	i=j;
	printf("\t請輸入信息(每次輸入1時繼續(xù)輸入,輸入2時停止輸入)\n");
	printf("\t姓名\t家庭電話\t地址\t郵編\tE-mail\n");
	write1();
}

?課程設計成果

?程序源代碼

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct Student
{
	char name[20];
    int long phone;
	char adress[40];
	int postcode;
	char e_mail[30];
}stu[100];
int j=0,i=0;
void next()
{
	void show();
	void seek();
	void add();
	void sort();
	void out();
	void keep();
	int end();
	int b;
	printf("\t***********************NEXT**************************\n");
	printf("\t請選擇接下來的操作:");
	scanf("%d",&b);
	printf("\t*****************************************************\n");
	switch(b)
	{
		case 1 :show();break;
		case 2 :seek();break;
		case 3 :add();break;
		case 4 :sort();break;
		case 5 :out();break;
		case 6 :keep();break;
		case 7 :end();break;
	}
}
void write()
{
	void next();
	void write1();
	printf("\t請輸入信息(每次輸入1時繼續(xù)輸入,輸入2時停止輸入)\n");
	printf("\t姓名\t家庭電話\t地址\t郵編\tE-mail\n");
	write1();
}
void write1()
{
	void next();
	void write2();
	int a;
	printf("是否輸入:");
	scanf("%d",&a);
	printf("\n");
	switch(a)
	{
	    case 1 :write2();break;
		case 2 :next();break;
	}
}
void write2()
{
	void write1();
	j=i+1;
	printf("%d\t",j);
	scanf("%s%d%s%d%s",stu[i].name,&stu[i].phone,stu[i].adress,&stu[i].postcode,stu[i].e_mail);
	i=i+1;
	write1();
}
void show()
{
	void next();
	int s=0;
	printf("\t下面將會顯示輸入的數(shù)據(jù):\n");
	printf("\t姓名\t家庭電話\t地址\t郵編\tE-mail\n");
	for(i=0;i<j;i++)
	{
		s=s+1;
		printf("%d\t%s\t%d\t%s\t%d\t%s\n",s,stu[i].name,stu[i].phone,stu[i].adress,stu[i].postcode,stu[i].e_mail);
	}
	printf("\t顯示結(jié)束\n");
	next();
}
void seek()
{
	int q;
	void numberseek();
	void nameseek();
	printf("\t請選擇搜索方式:1~按名字查找\n\t                2~按家庭電話號碼查找\n");
	printf("\t請選擇查找方式:");
	scanf("%d",&q);
	switch(q)
	{
	    case 1 :nameseek();break;
		case 2 :numberseek();break;
	}

}
void nameseek()
{
	void next();
	char d[5];
	printf("\t請輸入要查找學生的名字:");
	scanf("%s",d);
	for(i=0;i<j;i++)
	{
		if(strcmp(d,stu[i].name)==0)
		{
			printf("\t你要查找的學生信息為:\n");
			printf("\t姓名\t家庭電話\t地址\t郵編\tE-mail\n");
			printf("\t%s\t%d\t%s\t%d\t%s\n",stu[i].name,stu[i].phone,stu[i].adress,stu[i].postcode,stu[i].e_mail);
			break;
		}
		else
			continue;
	}
	next();
}
void numberseek()
{
	void next();
	int e;
	printf("\t請輸入要查找的電話號碼:");
	scanf("%d",&e);
	for(i=0;i<j;i++)
	{
 		if(e==stu[i].phone)
		{
			printf("\t你要查找的學生信息為:\n");
			printf("\t姓名\t家庭電話\t地址\t郵編\tE-mail\n");
			printf("\t%s\t%d\t%s\t%d\t%s\n",stu[i].name,stu[i].phone,stu[i].adress,stu[i].postcode,stu[i].e_mail);
			break;
		}
		else
			continue;
	}
	next();
}
void add()
{
	void next();
	void write1();
	i=j;
	printf("\t請輸入信息(每次輸入1時繼續(xù)輸入,輸入2時停止輸入)\n");
	printf("\t姓名\t家庭電話\t地址\t郵編\tE-mail\n");
	write1();
}
void sort()
{
	void next();
	void show();
	int h,g,x;
	char temp;
	for(i=0;i<(j-1);i++)
	{
		h=i;
		for(g=i+1;g<j;g++)
		{
			if(strcmp(stu[h].name,stu[g].name)==0)
				h=g;
			if(h!=i)
			{
				strcpy(temp,stu[i].name);strcpy(stu[i].name,stu[h].name);strcpy(stu[h].name,temp);
		        x=stu[i].phone;stu[i].phone=stu[h].phone;stu[h].phone=temp;
	            strcpy(temp,stu[i].adress);strcpy(stu[i].adress,stu[h].adress);strcpy(stu[h].adress,temp);
		        x=stu[i].postcode;stu[i].postcode=stu[h].postcode;stu[h].postcode=temp;
				strcpy(temp,stu[i].e_mail);strcpy(stu[i].e_mail,stu[h].e_mail);strcpy(stu[h].e_mail,temp);
			}
		}
	}
	printf("排序成功\n");
	show();
}
void out()
{
	void next();
	int t,h,v;
	printf("\t請輸入要刪除的學生編號:");
	scanf("%d",&t);
	h=i;
	for(v=t-1;v<h;v++)
	{
		strcpy(stu[v].name,stu[v+1].name);
		stu[v].phone=stu[v+1].phone;
		strcpy(stu[v].adress,stu[v+1].adress);
		stu[v].postcode=stu[v+1].postcode;
		strcpy(stu[v].e_mail,stu[v+1].e_mail);
	}
	j=j-1;
	printf("\t刪除完畢\n");
	next();
}
void keep()
{
	void next();
	FILE *fp;
	int v=0;
	char filename[10];
	printf("請輸入要保存的文件名:");
	scanf("%s",filename);
	if((fp=fopen(filename,"w"))==NULL)
	{
		printf("文件無法打開\n");
		exit(0);
	}
	fprintf(fp,"\t姓名\t電話號\t地址\t郵編\tE-mail\n");
	for(i=0;i<j;i++)
	{
		v=v+1;
		fprintf(fp,"%d\t%s\t%d\t%s\t%d\t%s\n",v,stu[i].name,stu[i].phone,stu[i].adress,stu[i].postcode,stu[i].e_mail);
	}
	fclose(fp);
	printf("已經(jīng)保存在文件%s中\(zhòng)n",filename);
	next();
}
int end()
{
	void next();
	int g;
	printf("\t是否關(guān)閉程序:\n1:是\t2:否\n");
	printf("\t請輸入你的選擇:");
	scanf("%d",&g);
	switch(g)
	{
	    case 1 :return 0;
		case 2 :next();
	}
return 0;
}
int main()
{
	int ch;
	printf("\t********************開始*********************\n\n");
    printf("\t    1. 顯示通訊錄\n");
    printf("\t    2. 查找\n");
    printf("\t    3. 添加通訊錄\n");
    printf("\t    4. 按姓名排序\n");
    printf("\t    5. 刪除通訊錄\n");
    printf("\t    6. 將記錄保存在文件\n");
    printf("\t    7. 結(jié)束\n");
    printf("\t***********************************************\n");
	printf("\t請先輸入信息\n");
	write();
	return 0;
}

課程設計心得?

通過為期一周的課程設計,我對《C語言》這門課程有了更深一步的了解。它是計算機程序設計的重要理論技術(shù)基礎,在我們信息與計算科學專業(yè)的學習中占據(jù)著十分重要的地位。同時也使我知道,要學好這門課程,僅學習書本上的知識是不夠的,還要有較強的實踐能力。因為我學習知識就是為了實踐。而只有多實踐,多編寫程序,才能更好的理解與掌握書本上的東西。

附件:源碼下載

C語言課程設計-通訊錄管理系統(tǒng)_c語言課程設計之通訊錄管理系統(tǒng)資源-CSDN文庫https://download.csdn.net/download/NBITer/87369754文章來源地址http://www.zghlxwxcb.cn/news/detail-457349.html

到了這里,關(guān)于C語言課程設計_通訊錄管理系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關(guān)文章

  • 【C語言】實現(xiàn)通訊錄管理系統(tǒng)

    【C語言】實現(xiàn)通訊錄管理系統(tǒng)

    大家好,我是蘇貝,本篇博客帶大家實現(xiàn)通訊錄,如果你覺得我寫的還不錯的話,可以給我一個贊??嗎,感謝?? 本文將使用C語言來實現(xiàn)通訊錄管理系統(tǒng),該通訊錄包括若干聯(lián)系人,和每個聯(lián)系人的姓名、年齡、性別、電話、地址。此通訊錄的功能包括:增加聯(lián)系人信息,

    2024年02月08日
    瀏覽(95)
  • 【C語言】優(yōu)化通訊錄管理系統(tǒng)

    【C語言】優(yōu)化通訊錄管理系統(tǒng)

    大家好,我是蘇貝,本篇博客帶大家優(yōu)化上一篇的通訊錄,如果你覺得我寫的還不錯的話,可以給我一個贊??嗎,感謝?? 在上一篇博文 實現(xiàn)通訊錄管理系統(tǒng) 的最后,我們了解了那段代碼的問題:通訊錄的大小是固定的100個元素,如果想要存放1000個人的信息,那么空間就

    2024年02月06日
    瀏覽(97)
  • c語言:通訊錄管理系統(tǒng)(文件版本)

    c語言:通訊錄管理系統(tǒng)(文件版本)

    前言: 本通訊錄管理系統(tǒng)一共三個版本,除此文章以外還有如下倆個版本,大家可以根據(jù)需求自?。?基礎增刪查改功能版本 :c語言:通訊錄管理系統(tǒng)(增刪查改)-CSDN博客 動態(tài)分配內(nèi)存版本 :c語言:通訊錄管理系統(tǒng)(動態(tài)分配內(nèi)存版)-CSDN博客 ? ? ? ? 本文是在基礎的通

    2024年02月07日
    瀏覽(90)
  • 【C語言】優(yōu)化通訊錄管理系統(tǒng)2

    【C語言】優(yōu)化通訊錄管理系統(tǒng)2

    本篇博客是基于上一篇博客寫出來的,了解上一篇博客 大家好,我是蘇貝,本篇博客帶大家再次優(yōu)化上一篇的通訊錄,實現(xiàn)將錄入的數(shù)據(jù)在程序退出后存儲到文件中,在下一次程序開始時打開文件獲取數(shù)據(jù),如果你覺得我寫的還不錯的話,可以給我一個贊??嗎,感謝?? 既

    2024年02月04日
    瀏覽(89)
  • 【C語言】通訊錄管理系統(tǒng)(附圖解、源碼)

    【C語言】通訊錄管理系統(tǒng)(附圖解、源碼)

    目錄 一.前言 二.準備工作 三.ContactTest.c測試區(qū) 1.菜單 2.選擇功能 四.Contact.h頭文件引用區(qū) 1.通訊錄成員結(jié)構(gòu)體函數(shù)的創(chuàng)建 2.實現(xiàn)功能函數(shù)的創(chuàng)建 五.ContactRealize.c功能實現(xiàn)區(qū) 1.初始化成員信息 2.查找目標成員位置 3.增加聯(lián)系人 4.刪除指定聯(lián)系人 5.查找指定聯(lián)系人 6.修改指定聯(lián)系

    2024年02月03日
    瀏覽(97)
  • c語言:通訊錄管理系統(tǒng)(增刪查改)

    c語言:通訊錄管理系統(tǒng)(增刪查改)

    ? 前言: 本通訊錄管理系統(tǒng)一共三個版本,除此文章以外還有如下倆個版本,大家可以根據(jù)需求自取: 動態(tài)分配內(nèi)測版 :c語言:通訊錄管理系統(tǒng)(動態(tài)分配內(nèi)存版)-CSDN博客 文件版本 :c語言:通訊錄管理系統(tǒng)(文件版本)-CSDN博客 目錄 一.大體的框架 主函數(shù)初步設計 聯(lián)系

    2024年02月08日
    瀏覽(100)
  • 學生通訊錄管理系統(tǒng)的設計與實現(xiàn)

    學生通訊錄管理系統(tǒng)的設計與實現(xiàn)

    1.1 問題的描述 學生通訊錄管理系統(tǒng)是為了幫助老師、同學,或者其他一些需要使用通訊錄的人員進行管理和分析的一種應用程序。 1.2 問題分析和任務定義 (1)輸入數(shù)據(jù)建立通訊錄; (2)查詢通訊錄中滿足要求的信息; (3)插入新的通訊錄信息; (4)刪除不需要的通訊

    2024年02月10日
    瀏覽(95)
  • c語言:通訊錄管理系統(tǒng)(動態(tài)分配內(nèi)存版)

    c語言:通訊錄管理系統(tǒng)(動態(tài)分配內(nèi)存版)

    前言: 本通訊錄管理系統(tǒng)一共三個版本,除此文章以外還有如下倆個版本,大家可以根據(jù)需求自?。?基礎增刪查改功能版本 :c語言:通訊錄管理系統(tǒng)(增刪查改)_luming.02的博客-CSDN博客 文件保存版本 :c語言:通訊錄管理系統(tǒng)(文件版本)-CSDN博客 ????????本文是在基

    2024年02月08日
    瀏覽(104)
  • C語言用鏈表實現(xiàn)通訊錄管理系統(tǒng)

    C語言用鏈表實現(xiàn)通訊錄管理系統(tǒng)

    目錄 總體思路 具體代碼 編譯通過 總體代碼 一、創(chuàng)建一個結(jié)構(gòu)體保存通訊錄信息。 二、構(gòu)建鏈表,并存于文件中。 三、實現(xiàn)鏈表結(jié)點的增加、刪除、查詢、輸出。 一、創(chuàng)建一個結(jié)構(gòu)體,保存信息。 二、用尾插法創(chuàng)建一個鏈表,并讓用戶選擇是否輸入數(shù)據(jù)。 三、將鏈表數(shù)據(jù)

    2024年02月02日
    瀏覽(97)
  • 【C語言】通訊錄管理系統(tǒng)(保姆級教程+內(nèi)含源碼)

    目錄 C系列文章目錄 前言 一,模塊化編程 二,系統(tǒng)框架構(gòu)建 1.成員信息的創(chuàng)建 2.菜單實現(xiàn) 3.系統(tǒng)功能聲明 三、系統(tǒng)功能實現(xiàn) 1.初始化通訊錄 2.增加聯(lián)系人 3.顯示所有聯(lián)系人 4.根據(jù)姓名查找位置 5.刪除指定聯(lián)系人 6.查找指定聯(lián)系人 7.修改指定聯(lián)系人 8.清空所有聯(lián)系人 9.按照名

    2024年02月08日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包