南京航空航天大学C语言课程设计报告

程序主要功能:

电话薄管理系统要求实现一个电话薄系统的基本管理功能,包括

创建电话薄

分屏显示电话薄中的所有记录

向电话薄中插入一条记录

删除一条已经存在的记录项

根据用户输入的姓名查找符合条件的记录项

从文件读入已有的电话薄

将通讯录信息输出到文件

逆序存放

删除同名记录

#. 统计人数

*. 按首字母查询

0. 退出

分析:本题以链表为基础,而链表需用指针访问,故链表与指针便贯穿整个程序,成为整个程序最重要的部分。此外,看似对指针之前所学部分要求不高,但实际却也是此程序得以编写成功必不可少的先决条件。

主要问题及解决方法:在程序编写过程中遇到了不少问题,特别是编译通过后,却仍有部分功能未能很好实现。比如:1与4中对是否继续增加记录和是否删除的控制,程序中虽有scanf 语句,但运行时却总是自动跳过,并不执行此语句,经过反复阅读程序、思考,终于发现是前面的scanf 语句中输入的回车符被放入了输入缓冲区中,并在下一次scanf 语句中被自动输入,因而也就有了scanf语句被跳过的假象。一个 char m;m=getchar();便解决了这一问题。

此外,还有从文件读入记录时,第一条记录总是难以被读入,后来发现原来是因为程序是从head->next开始读入,将之改为head即可。

感想与体会:编写此程序,花费了不少的时间,但却也让我感受到了编写程序的乐趣,对于我来说,这已经是一种享受。

新增功能:除了习题册上的附加功能,还增加了统计人数和按首字母查询功能。

源程序:

#include"stdio.h"

#include"string.h"

#include"stdlib.h"

#include"ctype.h"

struct student

{

char name[10];

char sex[5];

char telenumber[15];

char email[30];

struct student *next;

};

int menu_select()

{

char i;

do

{system("cls");

printf("1.录入记录\n");

printf("2.显示所有记录\n");

printf("3.插入一条记录\n");

printf("4.删除一条记录\n");

printf("5.查询\n");

printf("6.从文件读入记录\n");

printf("7.写入文件\n");

printf("8.逆序存放\n");

printf("9.删除同名记录\n");

printf("#.统计人数\n");

printf("*.按首字母查询\n");

printf("0.退出\n");

i=getchar();

}while((i'9')&&i!='#'&&i!='*');

return(i-'0');

}

/*录入记录*/

struct student *Create()

{

struct student *Insert(struct student *,struct student *);

struct student *p,*head=NULL;

char c='Y',m;

char stu_name[10],stu_sex[5],stu_telenumber[15],stu_email[20];

while(c=='Y'||c=='y')

{

printf("请录入记录:\n姓名\t性别\t电话\t邮箱\n");

scanf("%s%s%s%s",stu_name,stu_sex,stu_telenumber,stu_email);

p=(struct student *)malloc(sizeof(struct student));

strcpy(p->name,stu_name);

strcpy(p->sex,stu_sex);

strcpy(p->telenumber,stu_telenumber);

strcpy(p->email,stu_email);

head=Insert(head,p);

m=getchar();

printf("是否继续录入记录?(Y/N)\n");

c=getchar();

}

return head;

}

/*显示所有记录*/

void Display(struct student *head)

{

int i;

struct student *p;

p=head;

printf("输出如下:\n");

for(i=1;;i++)

{

if(p!=NULL)

{

printf("%s\t%s\t%s\

南京航空大学c语言课程设计,南京航空航天大学C语言课程设计报告.doc相关推荐

  1. 大学计算机课程学情分析,大学计算机基础课程教学内容调查分析.doc

    大学计算机基础课程教学内容调查分析 大学计算机基础课程教学内容调查分析 [摘 要]为了促进我校非计算机专业的计算机基础教学,了解非计算机专业对计算机知识的需求情况,推进我校的大学计算机基础教学改革,就 ...

  2. 南京航空航天大学c语言课程设计-交通处罚单,南京航空航天大学 - 财务处

    一.人民币账户 账户名称:南京航空航天大学 开户银行:交通银行南京御道街支行 银行账号:320006639010149000354 交行行号:301301000394 账户名称:南京航空航天大学 开户 ...

  3. 南京航空航天大学计算机网课,南京航空航天大学课程教学大纲-南京航空航天大学计算机科学与技术(9页)-原创力文档...

    7/1/2020 南京航空航天大学 南京航空航天大学 课程教学大纲 课程教学大纲 课 程 课 程 16 开课学院 16 院 开课系 物联网工程 开课学院 院 开课系 物联网工程 编号 编号 中 文 计 ...

  4. 计算机科学开设的核心主干课程,以中美大学先修课程培养计算机科学核心素养的探索实践...

    一相关背景全校高一.高二学生开设"计算概论"课程,至今已经开课8轮,学生人数累计约有240多人.另一在高中为部分学有余力的优秀学生开设大学方面,我校自2014年作为国际课程班的首批 ...

  5. C语言外推法求搜索区间程序,一维搜索外推法程序设计实验报告.doc

    课程设计(实验)材料(1) 安徽工程大学 机械优化设计 课程设计(实验)报告 专 业 班 级: 车辆工程 110 设 计 题 目: 一维搜索外推法程序设计 学 生 姓 名: 王阔 学 生 学 号: 3 ...

  6. mysql 源码设计,java+mysql大学网络社区平台设计+源代码

    摘要如今,信息管理与信息系统的网络平台上,更多的都是一些静态信息的介绍,缺乏老师与老师之间, 老师与同学之间信息的交流的功能. 因此, 需要建立一个从 Web 1.0转换到 Web 2.0 的, 能够 ...

  7. 大学计算机基础课程 研究,非计算机专业“大学计算机基础”课程教学研究

    摘要21世纪计算机教育的目的,是要把高校非计算机专业的学生培养成为既熟悉本专业知识又掌握计算机应用技术的复合型人才.围绕这一核心,经过对存在问题的分析思考,我们在教学改革方面做了一些探索,提出了有关的 ...

  8. c语言第四章作业,大学C语言第四章作业答案

    大学C语言第四章作业答案,期末考试的题库,二级C语言的练习 第四章课后习题参考程序 三.编程 1.输入一个正整数,判断该数为奇数还是偶数. 参考程序:(1) #include int main() { ...

  9. 湖北工业大学c语言作业答案,湖北工业大学C语言PPT

    <湖北工业大学C语言PPT>由会员分享,可在线阅读,更多相关<湖北工业大学C语言PPT(39页珍藏版)>请在人人文库网上搜索. 1.第五章 数组,构造数据类型之一 数组:有序数 ...

最新文章

  1. 京东API网关实践之路!
  2. android 手机号码去重,第135天:移动端开发经验总结
  3. 目标检测特殊层:PSROIPooling详解
  4. Android 9.0新特性
  5. python输入十个数输出最大值_python输入十个数如何输出最大值
  6. 《纲要》落地,东方通教你挖数据金矿
  7. 每天都有所收获_使技术保持最新状态会有所收获
  8. 【操作系统】第1章 操作系统概论
  9. hadoop输出统计
  10. Linux下如何使用gcc编译器,Linux下gcc编译器的使用总结
  11. Android开发中需要用到的常见APP对应包名
  12. android 应用中 assets 下文件的绝对路径
  13. NC6 转库单、采购入库单、库存委托入库单签字后自动生成调拨订单
  14. 椭圆曲线上的加密算法——MV(Menezes-Vanstone)算法的具体实现
  15. 关于《error: 函数“int main(void)”已有主体》的错误
  16. 高质量解读《互联网企业安全高级指南》——目录
  17. 闲鱼SPU体系构建的背后
  18. JS async库:parallel, series, waterfall, whilst用法
  19. [Matlab科学计算] 四阶Runge-Kutta法解常微分方程
  20. Ocata Neutron代码分析(六)——APIRouter的初始化(3)顶级resource的map过程

热门文章

  1. 23.本地服务Services
  2. 【支付宝小程序控制硬件①】 申请个人支付宝小程序开发的个人账户,说说那些睬坑日志,集成mqtt协议在支付宝小程序,实现基本通讯!
  3. 中天科技(600522)
  4. Cannot find SourceMap 'XXX.js.map'问题解决
  5. 从学校家长委员会谈开去
  6. 多个中通快递的物流情况是怎么批量查询并保存的
  7. 野蔷薇的伤感人生日志:已失落于尘埃,再也找寻不得
  8. 教师管理系统代码html,江苏省教职工信息管理系统:https://www.jste.net.cn/cmsplus/index.html...
  9. Java继承同时实现接口 以及继承方法的使用
  10. codeforces 1567 B. MEXor Mixup