C程序设计通讯录管理系统

合集下载

c语言学生通讯录管理系统设计

c语言学生通讯录管理系统设计

C语言学生通讯录管理系统设计1. 系统概述本文档描述了一个基于C语言的学生通讯录管理系统的设计。

该系统旨在提供一个简单而有效的方式来管理学校中学生的联系信息。

2. 功能需求学生通讯录管理系统需要满足以下功能需求:•添加学生信息:包括学生姓名、学号、年级、班级、电话号码等。

•删除学生信息:根据学号或姓名删除指定学生的信息。

•修改学生信息:根据学号或姓名修改指定学生的信息。

•查询学生信息:根据学号或姓名查询指定学生的信息。

•显示所有学生信息:展示学生通讯录中所有学生的信息。

3. 系统设计3.1 数据结构系统使用以下数据结构来表示学生通讯录:struct Student {char name[50];int studentID;int grade;int class;char phoneNumber[20];};struct StudentDirectory {struct Student students[100];int count;};学生通讯录使用一个结构体数组来存储学生信息,每个学生信息包含姓名、学号、年级、班级和电话号码。

StudentDirectory结构体用于存储整个学生通讯录,count表示当前学生通讯录中的学生数量。

3.2 模块设计系统的实现可以分为以下几个模块:•输入输出模块:负责从用户获取输入以及将结果输出给用户。

•添加学生信息模块:负责向学生通讯录中添加新的学生信息。

•删除学生信息模块:负责从学生通讯录中删除指定学生的信息。

•修改学生信息模块:负责修改学生通讯录中指定学生的信息。

•查询学生信息模块:负责查询学生通讯录中指定学生的信息。

•显示学生信息模块:负责展示学生通讯录中所有学生的信息。

3.3 系统流程下图展示了学生通讯录管理系统的基本流程:flowchart LRA[开始]B[用户输入选项]C{选项是添加学生信息?}D[执行添加学生信息模块]E{选项是删除学生信息?}F[执行删除学生信息模块]G{选项是修改学生信息?}H[执行修改学生信息模块]I{选项是查询学生信息?}J[执行查询学生信息模块]K{选项是显示所有学生信息?}L[执行显示学生信息模块]M[结束]A --> BB -- Yes --> CB -- No --> EC -- Yes --> DC -- No --> ED --> ME -- Yes --> FE -- No --> GF --> MG -- Yes --> HG -- No --> IH --> MI -- Yes --> JI -- No --> KJ --> MK -- Yes --> LK -- No --> ML --> M4. 系统实现系统的具体实现可以参考下面的示例代码:```c #include <stdio.h>struct Student { char name[50]; int studentID; int grade; int class; char phoneNumber[20]; };struct StudentDirectory { struct Student students[100]; int count; };void addStudent(struct StudentDirectory* directory) { // 从用户获取学生信息并添加到学生通讯录中 }void deleteStudent(struct StudentDirectory* directory) { // 从用户获取学生信息并从学生通讯录中删除 }void modifyStudent(struct StudentDirectory* directory) { // 从用户获取学生信息并修改学生通讯录中指定学生的信息 }void queryStudent(struct StudentDirectory* directory) { // 从用户获取学生信息并查询学生通讯录中指定学生的信息 }void showAllStudents(struct StudentDirectory* directory) { // 显示学生通讯录中所有学生的信息 }int main() { struct StudentDirectory directory; directory.count = 0;int option;while (1) {printf(\。

C语言程序设计课程设计---通讯录管理系统

C语言程序设计课程设计---通讯录管理系统

C语言程序设计实习报告题目:通讯录管理系统院系名称电子与信息工程院专业名称电子信息工程班级电子0902班内序号学生姓名指导教师时间2010年6月21日至2010年 7月2日一、课程设计目的.(1)加深对《C语言程序设计》课程所学知识的理解,进一步巩固C语言语法规则。

从实际问题出发,学会自己动手设计,编制结构清晰、风格良好、数据结构适当的C语言程序,从而提高自己根据实际问题设计编写程序的能级,进而能具备解决综合性实际问题的能力。

(2)通过课程设计了解并掌握C语言程序设计的方法,熟悉C程序设计的开发环境及C程序的调试过程。

二、课程设计内容用所学过的C语言知识(文件,结构体,函数,指针)编程一个通讯录管理系统的程序。

三、需求分析对所设计的通讯录管理系统的程序,要求具有以下这些功能:(1)通过键盘输入某位学生的信息。

信息包含,姓名,性别,年龄,班级,QQ,电话,学号,地址。

(2)给定学号,显示某位学生的信息;(3)给定某个班级的班号,显示该班所有学生的通讯录信息;(4)显示全部通讯录信息;(5)给定某位学生的学号,修改该学生的通讯录信息;(6)给定某位学生的学号,删除该学生的通讯录信息;(7)能够对学号进行升序排序;(8)用文件的形式将录入的数据进行存储,并从其中读取数据。

四、概要设计1.系统结构图根据设计要求,进行分析,给出系统结构图,即各功能的模块图,结构图如下2.功能模块说明对各个模块进行功能的描述。

(1)输入模块:实现学生基本信息的基本输入如姓名,性别,年龄,班级,QQ,电话,学号,地址。

(2)插入模块:实现对一个学生信息的插入。

(3)查询模块:根据需要,输出某一个学生的信息。

(4)浏览模块:输入班级号查询该班级中所有学生的信息,或浏览全部学生信息。

(5)修改模块:根据需要,修改指定学生的指定信息。

(6)删除模块:删除某个学生的全部信息。

(7)排序模块:①按学号排序,②按班级排序。

五、详细设计及运行结果六、调试情况,设计技巧及体会1、对自己设计进行评价,指出合理和不足之处,提出改进的方案。

通讯录管理系统c语言课程设计代码

通讯录管理系统c语言课程设计代码

通讯录管理系统C语言课程设计代码
一、引言
在现代社会中,通讯方式多样化且频繁,通讯录管理系统应运而生。

本文将介
绍一个基于C语言设计的通讯录管理系统的代码实现。

通讯录管理系统可以帮助
用户有效地管理联系人信息,实现增删改查等操作。

二、系统功能设计
通讯录管理系统主要包括以下功能: 1. 添加联系人:用户可以输入联系人姓名、电话号码等信息,将联系人信息添加到通讯录中。

2. 删除联系人:用户可以根据
姓名或电话号码删除指定联系人信息。

3. 修改联系人:用户可以修改已有联系人
的信息,包括姓名、电话号码等。

4. 查询联系人:用户可以根据姓名或电话号码
查询联系人信息。

5. 显示所有联系人:用户可以查看通讯录中所有联系人的信息。

三、代码实现
```c #include <stdio.h> #include <string.h>
#define MAX_CONTACTS 100 #define MAX_NAME_LENGTH 50 #define
MAX_PHONE_LENGTH 15
struct Contact { char name[MAX_NAME_LENGTH]; char
phone[MAX_PHONE_LENGTH]; };
struct Contact contacts[MAX_CONTACTS]; int numContacts = 0;
void addContact() { if (numContacts < MAX_CONTACTS) { printf(。

c通讯录管理系统课程设计

c通讯录管理系统课程设计

c 通讯录管理系统课程设计一、课程目标本课程为“通讯录管理系统课程设计”,针对初中年级信息技术学科,旨在通过实践操作,使学生能够:知识目标:1. 理解通讯录管理系统的基本功能与需求;2. 掌握使用编程语言(如Python)实现简单数据结构,如列表、字典;3. 学会使用文件操作保存和读取通讯录信息。

技能目标:1. 能够运用所学知识设计并实现一个基本的通讯录管理系统;2. 掌握基本的程序调试技巧,提高解决问题的能力;3. 学会对程序进行优化,提高代码的可读性和可维护性。

情感态度价值观目标:1. 培养学生的团队协作精神,提高沟通与表达能力;2. 激发学生对编程的兴趣,鼓励创新思维和动手实践能力;3. 增强学生对信息技术的认识,培养其信息安全意识。

课程性质:本课程为实践性课程,注重培养学生的动手能力和实际操作技能。

学生特点:初中年级学生具有一定的信息技术基础,对新事物充满好奇,但编程经验有限。

教学要求:结合学生特点,以实际操作为主,注重引导和激发学生的学习兴趣,培养其解决问题的能力。

通过课程学习,使学生能够将所学知识运用到实际项目中,提高其信息技术素养。

教学过程中,将课程目标分解为具体的学习成果,以便进行教学设计和评估。

二、教学内容本章节教学内容依据课程目标,紧密结合教材,确保科学性和系统性。

具体安排如下:1. 理论知识学习:- 简介通讯录管理系统的作用和功能;- 数据结构基本概念:列表、字典的使用;- 文件操作:读写文件,保存和加载通讯录信息。

2. 实践操作:- 设计通讯录管理系统需求分析;- 编程实现通讯录管理系统功能模块:添加、删除、查询、修改联系人信息;- 调试与优化程序,提高系统稳定性。

3. 教学大纲:- 第一周:通讯录管理系统概述,学习数据结构基本概念;- 第二周:文件操作,编写通讯录管理系统的基础代码;- 第三周:完善通讯录管理系统,增加功能模块;- 第四周:调试与优化程序,进行项目展示与评价。

c通讯录管理系统课程设计

c通讯录管理系统课程设计

c 通讯录管理系统课程设计一、教学目标本课程旨在让学生了解和掌握通讯录管理系统的基本概念和设计方法,培养学生的实际动手能力和问题解决能力。

具体目标如下:知识目标:使学生了解通讯录管理系统的基本原理,掌握系统设计的基本流程和方法。

技能目标:培养学生使用编程语言实现通讯录管理系统的能力,提高学生的软件开发技能。

情感态度价值观目标:培养学生对计算机科学和编程的兴趣,激发学生的创新精神和团队合作意识。

二、教学内容本课程的教学内容主要包括以下几个部分:1.通讯录管理系统的基本概念:介绍通讯录管理系统的作用、特点和应用场景。

2.系统设计方法:讲解系统设计的基本流程,包括需求分析、系统设计、编码实现和测试等环节。

3.编程语言实践:通过具体案例,使学生掌握使用编程语言实现通讯录管理系统的方法。

4.团队协作与创新:培养学生在团队协作中解决问题的能力,激发学生的创新精神和团队合作意识。

三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学:1.讲授法:讲解通讯录管理系统的基本概念和设计方法。

2.案例分析法:分析实际案例,使学生更好地理解通讯录管理系统的设计和实现过程。

3.实验法:让学生动手实践,实际操作通讯录管理系统的设计和编程。

4.小组讨论法:鼓励学生进行团队协作,共同解决问题,培养学生的团队合作能力。

四、教学资源为了保证教学效果,我们将提供丰富多样的教学资源:1.教材:选用权威、实用的教材,为学生提供系统、全面的学习资料。

2.参考书:提供相关的参考书籍,丰富学生的知识体系。

3.多媒体资料:制作精美的PPT,生动形象地展示课程内容。

4.实验设备:提供充足的实验设备,确保每个学生都能动手实践。

5.在线资源:推荐相关的在线课程和论坛,方便学生随时随地学习、交流。

五、教学评估为了全面、公正地评估学生的学习成果,本课程将采用多种评估方式相结合的方法:1.平时表现:通过课堂参与、提问、讨论等方式,评估学生的学习态度和积极性。

C语言程序设计通讯录管理系统

C语言程序设计通讯录管理系统

scanf("%s", search_name); /*获得名字到指针型字符串变量*/ for(j=1;j<=i;j++) { if(strcmp(search_name,records[j].name)==0) /*比较字符串,即 查看是否与记录中名字 相同*/ { Data_Show(j); printf("\n"); /*搜索成功,打印记录结束循环*/ break; } } if(j>i) /*搜索失败*/ printf("\n\tNo Record "); /*显示无此记录*/ break; case '5': printf("\n\tInsert No:"); /*录入插入位置*/ scanf("%d",&k); for(j=k+1;j<i;j++) /*将插入位置后的元素顺序后移,即将其复 制到后一位置,循环操作*/ { strcpy(records[j].name,records[j-1].name); records[j].sex=records[j-1].sex; records[j].birth.year=records[j-1].birth.year; records[j].birth.month=records[j-1].birth.month; records[j].birth.day=records[j-1].birth.day; strcpy(records[j].addr.post_num,records[j-1].addr.post_num); strcpy(records[j].addr.addr,records[j-1].addr.addr); strcpy(records[j].telephone,records[j-1].telephone); } Data_Input(k); /*声明增加数据函数*/ i++;/*将记录数目加一*/ break; case '6': Data_Save(); printf("\n"); /*声明保存函数*/ exit(0); break; /*保存后退出*/ case '7': printf("\n\tsave or not?:(y/n)"); ch=getch(); /*获得输入字符*/

C 程序设计通讯录管理系统

C 程序设计通讯录管理系统

目录1系统设计目标及意义、功能介绍 (3)2系统的详细设计思路 (3)3系统运行效果图 (11)4系统设计、开发过程中的问题 (13)5课程设计心得体会 (13)6附录源代码及简要说明 (13)一、系统设计目标及意义、功能介绍(一)系统设计的目标及意义通讯录管理系统的建立是为了有效节省同学,朋友,客户间日常交流的投资(指时间,精力),其设计理念很简单,变传统的纸张与笔录方式为计算机自动化进行通讯录信息管理系统,既省时间又提高效率。

本通讯录管理系统是一个非常通用的管理系统,运用Visual C++,构建MFC平台,用户可以通过图像窗口菜单进行信息录入、删除、查找,直观方便。

(二)系统设计的功能介绍1、录入成员信息。

基本信息:姓名、性别、出生年月日、民族等。

2、删除一个成员信息。

3、修改成员信息并保存。

4、能够按姓名对成员信息进行检索并将检索结果显示在屏幕上。

5、能够按专业对成员信息进行检索并将检索结果显示在屏幕上。

6、显示所有成员信息。

7、能够利用图形菜单的形式进行管理。

二、系统的详细设计思路(一)系统的总体框架(二)通讯录对象的主要属性(三)功能分析1、联系人管理者(1)增加联系人:联系人信息包括姓名、就读学校、班级、专业、家庭地址、家庭联系电话、邮编、本人联系电话这些信息。

添加时,内容不能为空。

(2)修改联系人资料:对已存的联系人信息进行变更、修改。

正常情况下,联系人的姓名是不会发生变化的,但考虑到更名的情况还是偶有发生,因此设计为联系人所有资料都允许更改,这样可以灵活应对这些不太常见的情况。

(3)删除联系人:对选定联系人执行删除操作,为了防止误删除,给使用者一个反悔的机会,在执行删除前要询问使用者是否真的要删除,在得到确认后执行删除操作。

2、联系人信息查询与显示通讯录使用频率最高的功能就是查询联系人的信息。

查询可以查询某个学院、某个专业、某个班级下所有的联系人。

并且提供了按姓名和按学号查询的功能,并且同名的人都可以显示。

学生通讯录管理系统c语言编程

学生通讯录管理系统c语言编程

学生通讯录管理系统c语言编程以下是一个简单的C语言程序,用于管理学生通讯录。

该程序可以添加、显示、查找和删除学生信息。

c复制代码:#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAX_STUDENTS 100#define MAX_NAME_LENGTH 50// 学生结构体struct Student {char name[MAX_NAME_LENGTH];int age;char gender;char phone[15];char email[50];};// 学生数组struct Student students[MAX_STUDENTS];int num_students = 0;// 添加学生信息void add_student() {if (num_students >= MAX_STUDENTS) {printf("Error: Reached maximum number of students\n");return;}struct Student new_student;printf("Enter name: ");scanf("%s", new_);printf("Enter age: ");scanf("%d", &new_student.age);printf("Enter gender (M/F): ");scanf(" %c", &new_student.gender);printf("Enter phone number: ");scanf("%s", new_student.phone);printf("Enter email: ");scanf("%s", new_student.email);students[num_students] = new_student;num_students++;}// 显示所有学生信息void display_students() {printf("Name\tAge\tGender\tPhone\tEmail\n");for (int i = 0; i < num_students; i++) {printf("%s\t%d\t%c\t%s\t%s\n", students[i].name, students[i].age, students[i].gender, students[i].phone, students[i].email);}}// 查找学生信息void find_student() {char name[MAX_NAME_LENGTH];printf("Enter student name: ");scanf("%s", name);for (int i = 0; i < num_students; i++) {if (strcmp(students[i].name, name) == 0) {printf("Name: %s\n", students[i].name);printf("Age: %d\n", students[i].age);printf("Gender: %c\n", students[i].gender); printf("Phone: %s\n", students[i].phone); printf("Email: %s\n", students[i].email); return;}}printf("Error: Student not found\n");}// 删除学生信息void delete_student() {char name[MAX_NAME_LENGTH];printf("Enter student name: ");scanf("%s", name);int found = 0;for (int i = 0; i < num_students; i++) {if (strcmp(students[i].name, name) == 0) { found = 1;for (int j = i; j < num_students - 1; j++) { students[j] = students[j+1];}num_students--;break;}}if (!found) {printf("Error: Student not found\n");} else {printf("Student deleted successfully\n"); }}int main() {int choice;do {printf("\nMenu:\n");printf("1. Add student\n");printf("2. Display students\n");printf("3. Find student\n");printf("4. Delete student\n");printf("5. Exit\n");printf("Enter choice: ");scanf("%d", &choice);switch (choice) {case 1: add_student(); break;case 2: display_students(); break;case 3: find_student(); break;case 4: delete_student(); break;case 5: printf("Exiting...\n"); break; default: printf("Invalid choice\n"); break; }} while (choice != 5);return 0。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录1系统设计目标及意义、功能介绍 (3)2系统的详细设计思路 (3)3系统运行效果图 (11)4系统设计、开发过程中的问题 (13)5课程设计心得体会 (13)6附录源代码及简要说明 (13)一、系统设计目标及意义、功能介绍(一)系统设计的目标及意义通讯录管理系统的建立是为了有效节省同学,朋友,客户间日常交流的投资(指时间,精力),其设计理念很简单,变传统的纸张与笔录方式为计算机自动化进行通讯录信息管理系统,既省时间又提高效率。

本通讯录管理系统是一个非常通用的管理系统,运用Visual C++,构建MFC平台,用户可以通过图像窗口菜单进行信息录入、删除、查找,直观方便。

(二)系统设计的功能介绍1、录入成员信息。

基本信息:姓名、性别、出生年月日、民族等。

2、删除一个成员信息。

3、修改成员信息并保存。

4、能够按姓名对成员信息进行检索并将检索结果显示在屏幕上。

5、能够按专业对成员信息进行检索并将检索结果显示在屏幕上。

6、显示所有成员信息。

7、能够利用图形菜单的形式进行管理。

二、系统的详细设计思路(一)系统的总体框架(二)通讯录对象的主要属性(三)功能分析1、联系人管理者(1)增加联系人:联系人信息包括姓名、就读学校、班级、专业、家庭地址、家庭联系电话、邮编、本人联系电话这些信息。

添加时,内容不能为空。

(2)修改联系人资料:对已存的联系人信息进行变更、修改。

正常情况下,联系人的姓名是不会发生变化的,但考虑到更名的情况还是偶有发生,因此设计为联系人所有资料都允许更改,这样可以灵活应对这些不太常见的情况。

(3)删除联系人:对选定联系人执行删除操作,为了防止误删除,给使用者一个反悔的机会,在执行删除前要询问使用者是否真的要删除,在得到确认后执行删除操作。

2、联系人信息查询与显示通讯录使用频率最高的功能就是查询联系人的信息。

查询可以查询某个学院、某个专业、某个班级下所有的联系人。

并且提供了按姓名和按学号查询的功能,并且同名的人都可以显示。

联系人显示窗口示姓名、就读学校、班级、专业、家庭地址、家庭联系电话、邮编、本人联系电话这些信息。

4,函数设计(1)增加联系人的函数void lianxiren::add(){cout<<"请输入姓名:";cin>>name;cout<<"请输入性别[请用'm'表示男,用'f'表示女]:";char s;cin>>s;while((s!='f')&&(s!='m')){cout<<"输入错误,请重新输入!:";cin>>s;}if(s=='f')strcpy(sex,"女");else strcpy(sex,"男");cout<<"请输入民族:";cin>>nation;cout<<"请输入出生日期:年:";cin>>;cout<<"月(0~12):";cin>>;while(<1)||>12)){cout<<"输入错误,请重新输入!月:";cin>>;}cout<<"日(0~31):";cin>>;while(<1)||>31)){cout<<"输入错误,请重新输入!日:";cin>>;}cout<<"请输入联系方式:手机:";cin>>telephone;cout<<"请输入编号(0~9999):";cin>>num;cout<<"输入邮编:";cin>>youbian;cout<<"输入身高:";cin>>shengao;cout<<"输入体重:";cin>>tizhong;cout<<"输入QQ号:";cin>>qqhao;ofstream fout("lianxiren",ios::app);if (!fout){cout <<endl <<"对不起,打开文件失败。

" <<endl <<endl;}else{ fout<<setiosflags(ios::left)<<setw(5)<<num<<setw(8)<<name<<setw(5)<<sex <<setw(6)<<nation;fout<<setw(4)<<<<"."<<setw(2)<<<<"."<<setw(2)<<<<" ";fout<<setw(13)<<telephone ;fout<<setw(10)<<youbian<<setw(5)<<shengao<<setw(5)<<tizhong<<setw(13)<<qqhao<<endl;();}}(2)显示所有联系人的函数void lianxiren::display(){ifstream fin("lianxiren",ios::in);if (!fin){cout <<endl <<"对不起,没有找到文件。

" <<endl;system("pause");}bool flag = true;string record;char a[100];(a,100);while (getline(fin, record)){if (flag){cout<<setiosflags(ios::left)<<setw(5)<<"编号"<<setw(8)<<"姓名"<<setw(5)<<"性别";cout <<setw(6)<<"民族"<<setw(12)<<"出生年月";cout<<setw(13)<<"手机"<<setw(10)<<"邮编"<<setw(5)<<"身高";cout<<setw(5)<<"体重"<<setw(13)<<"QQ号"<<endl;}cout<<record<<endl;flag=false;}if (flag){cout <<endl <<"你的记事本中没有信息" <<endl <<endl;}else{cout <<endl <<"所有联系人信息已经全部显示出来" <<endl <<endl;}}(3)删除联系人的函数void lianxiren::delet(){ofstream out1("1",ios::out);ifstream in1("lianxiren", ios::in);if (!out1 || !in1){cout <<endl <<"对不起,找不到文件。

" <<endl;}string a;cout<<endl<<"你要删除人的姓名或编号 :";cin>>a;bool flag=true;string str,s;in1>>s;int i=0;while (in1>>num>>name){getline(in1,str);if ((a==name)||(a==num)){i++;if(i=1){cout<<endl<<"你想删除的联系人:"<<endl<<endl;cout<<setiosflags(ios::left)<<setw(5)<<"编号"<<setw(8)<<"姓名"<<setw(5)<<"性别";cout <<setw(6)<<"民族"<<setw(12)<<"出生年月";cout<<setw(13)<<"手机"<<setw(10)<<"邮编"<<setw(5)<<"身高";cout<<setw(5)<<"体重"<<setw(13)<<"QQ号"<<endl;cout <<setiosflags(ios::left)<<setw(5)<<num<<name<<str<<endl;}else{cout <<setiosflags(ios::left)<<setw(5)<<num<<name<<str<<endl;}flag = false;continue;}out1<<setiosflags(ios::left)<<setw(5)<<num<<setw(8)<<name<<str<<endl;}();();if (flag){cout <<endl <<"对不起,系统中没你找的联系人。

相关文档
最新文档