C语言程序设计实习报告

合集下载

程序设计实训实验报告(热门20篇)

程序设计实训实验报告(热门20篇)

程序设计实训实验报告(热门20篇)c语言是在国内外广泛使用的一种计算机语言。

其语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。

其功能强大,不仅用在计算机上广泛用在电子,机械等方面上,而且,所有的windows,unix,linux,mac,os/2,无一例外,哪一个不是c 语言写的?很多新型的语言如,c++,java,c,j,perl...都是衍生自c语言。

掌握了c语言,可以说你就掌握了很多门语言。

学习c程序这门课一年了,这是我们学的第一门专业课,在大学里c语言不但是计算机专业的必修课程而且也是非计算机专业学习计算机基础的一门必修课程。

所以作为我这个计算机专业的学生来说当然十分重要,老师在第一节课说过,c语言是计算机的基础,大多数软件都需要用c语言来编写,通过一个年的学习,使我由初步掌握简单的应试知识到完成高难度的深入编程,如我们在编写一个较大的程序时应该把它分开成几个小程序来看,这样会容易得多。

同时,我觉得c语言应该是操作和理论相结合的课程,在不断地编写中去思考,两者是不可分割的。

在学习一年c语言的过程中我也在慢慢探索怎样才能学好c语言,并总结了一点经验:要了解c语言就要从语法规为基础来学习起,首先要是要了解它的结构,比如变量,首先要了解变量的定义方式(格式),其意义是什么(定义变量有什么用);其次就是要我要怎么去运用它(我要用什么型式去应用它)。

在c语言的命令行中所有的语句都是有它自己的一定格式和形式出现在我们面前,所以我们在学习某种语句或命令时你首先要了解的就是它的规则是什么、有什么用、怎么实现等。

这些都是语法基础也是c语言的基础如果把它们都了解很好了,那么你编起程序来就很得心应手了。

比如说ifelse和switchcase这两种条件语句都是用来判断执行功能的,那我要什么时侯用if什么时侯用switch呢?如果你很好地了解它们的结构和作用的话那么就知道:若它的条件分支是多个而且条件的值是整数或是一个字符值时就会选switch而不会选if。

C语言程序设计实训报告

C语言程序设计实训报告

C语言程序设计实训报告一、实训背景介绍本次实训是为了提高学生的C语言编程能力,培养学生解决实际问题的能力,加强学生的动手能力和团队合作能力。

实训内容主要包括C语言的基础知识和常用库函数的使用,以及通过编写实际的小项目来巩固所学知识。

二、实训过程及成果1.实训过程本次实训总共经历了三个阶段:知识学习、编程实践和项目开发。

(1)知识学习阶段:在这个阶段,我们通过教材和课堂上的讲解学习了C语言的基本语法、数据类型、运算符、流程控制语句等基础知识,并学习了常用库函数的使用。

(2)编程实践阶段:在这个阶段,我们通过一系列的编程练习来巩固所学知识。

通过编写简单的程序,我们学会了如何使用C语言的基本语法和常用库函数来解决实际问题。

(3)项目开发阶段:在这个阶段,我们分小组进行项目开发。

每个小组由3-5名学生组成,负责编写一个小型的C语言项目。

项目的内容可以是游戏、学生管理系统、图书管理系统等等。

我们需要在规定的时间内完成项目的需求分析、设计、编码和测试工作,并提交最终的项目成果。

2.实训成果通过本次实训,我掌握了C语言的基本语法和常用库函数的使用,并且通过实际的编程练习和项目开发锻炼了自己的编程能力和解决实际问题的能力。

在项目开发的过程中,我学会了如何进行需求分析和设计,并能够合理地组织代码结构和调试程序。

三、实训心得体会通过这次实训,我深刻地认识到了编程是一项需要耐心和毅力的工作。

在编写代码的过程中,经常会遇到各种各样的问题,需要不断地调试和修改。

同时,编程还需要良好的团队合作能力,只有团队成员之间的密切配合和良好的沟通,才能顺利地完成项目。

通过这次实训,我不仅提高了自己的编程能力,还锻炼了自己的动手能力和团队合作能力。

在以后的学习和工作中,这些经验和能力无疑会给我带来很大的帮助。

我相信,只要持之以恒地继续努力,我一定能够在C语言编程方面有所突破。

四、总结与展望通过这次实训,我对C语言的掌握更加深入,掌握了一些常用的编程技巧和方法。

C语言见习报告6篇

C语言见习报告6篇

C语⾔见习报告6篇C语⾔是⼀种计算机程序设计语⾔,属⾼级语⾔范畴。

它既具有⾼级语⾔的特点,⼜具有汇编语⾔的特点。

通过见习做⼀报告,本⽂是C语⾔见习的报告,仅供参考。

C语⾔见习报告⼀:班级:姓名:实验名称:电话订餐信息处理实验⽬的:题⽬要求:⼀个⼩饭馆的⽣意⾮常红⽕,要想⽤餐必须提前⼀天打电话预订,假设我们是饭馆负责接受电话预订的服务员,我们需要做些什么呢?⾸先,需要准备⼀张⼤⼩适当的⽩纸,等待顾客的电话。

李红最先打进了电话,她预约第2天中午12点⽤餐,⽤餐⼈数5⼈,服务员在纸上做了如下记录:“李红 12点 5⼈”;接着,刘娜、汪涵、孙杰和赵君分别来了电话,服务员根据他们的要求做了记录,此时纸上记录的内容是:李红 12点 5⼈刘娜 11点 2⼈汪涵 11点20分 3⼈孙杰 10点30分 5⼈赵君 13点20分 6⼈孙杰随后⼜来电话,将⽤餐时间推后⼀个⼩时,那么记录的内容也应该做相应的修改。

刘娜来⽤餐以后,可以将其信息从纸上划去编写程序处理电话订餐的情况实验步骤:⾸先建⽴结构体类型,然后函数声明,编写主函数,定义函数,调⽤函数。

完成后,对程序进⾏调试,确定所编写的程序是否能够运⾏。

实验内容:#include#include#define max 30struct guest{ intnum;char name[40];char time[20];int sum;}guestlink[max];void insert(int _p);void inquire(int);void change(int);void dele(int _p);void show(int);void main(){ inti;int count=0;do{0printf("1.......插⼊\n");printf("2.......查询\n");printf("3.......修改\n");printf("4.......删除\n");printf("5.......显⽰\n");printf("6.......退出\n");scanf("%d",&i);switch(i){case 1: insert(&count);break; case 2: inquire(count);break; case 3: change(count);break; case 4: dele(&count);break; case 5: show(count);break; case 6:break;default:printf("输⼊错误!");break; }}while(i!=6);}void insert(int _p){ inti,number;if(_p==max){ printf("⽤餐已满\n");return;} printf("请输⼊编号:");scanf("%d",&number);for(i=0;i<_p;i++)if(guestlink[i].num==number) { printf("已有相同的编号");return;} guestlink[i].num=number;printf("请输⼊姓名:");scanf("%s",guestlink[i].name); printf("请输⼊⼈数:");scanf("%d",&guestlink[i].sum); printf("请输⼊⽤餐时间:");scanf("%s",guestlink[i].time); (_p)++;}void inquire(int p){ inti,number,flag=1;printf("请输⼊要查询的编号");scanf("%d",&number);for(i=0;iif(guestlink[i].num==number){ printf("姓名:%s",guestlink[i].name);printf("⽤餐时间:%s",guestlink[i].time);printf("⼈数:%d\n",guestlink[i].sum);flag=0;}if(i>=p&&flag==1) printf("所查询的编号不存在"); }void change(int p){ inti,number,flag=1;printf("请输⼊要修改的编号");scanf("%d",&number);for(i=0;iif(guestlink[i].num==number){ printf("请输⼊姓名:");scanf("%s",guestlink[i].name);printf("请输⼊⽤餐时间:");scanf("%s",guestlink[i].time);printf("请输⼊⼈数:");scanf("%d",&guestlink[i].sum);flag=0;}if(i>=p&&flag==1) printf("所查询的编号不存在"); }void dele(int _p){ inti,j,number,flag=1;printf("请输⼊要删除的编号");scanf("%d",&number);for(i=0;i<_p&&flag;i++)if(guestlink[i].num==number){for(j=i;j<_p-1;j++)guestlink[j]=guestlink[j+1];flag=0;(_p)--;}if(i>=_p&&flag==1) printf("输⼊的编号不存在");}void show(int p){ inti;printf("编号姓名⽤餐时间⼈数\n ");for(i=0;i{ printf("%d",guestlink[i].num);printf("%8s",guestlink[i].name);printf("%8s",guestlink[i].time);printf("%8d\n",guestlink[i].sum);}}实验结果:实验体会:通过这次实践让我觉得⽤C语⾔在⽣活中的应⽤占有很⼤的⽐重,这次编程,让我体会到了学习C语⾔的乐趣,以及运⽤c语⾔给⼈们带来的⽅便。

c语言实验报告5篇

c语言实验报告5篇

c语言实验报告c语言实验报告5篇随着社会一步步向前发展,我们使用报告的情况越来越多,我们在写报告的时候要注意涵盖报告的基本要素。

其实写报告并没有想象中那么难,以下是小编收集整理的c语言实验报告,欢迎阅读与收藏。

c语言实验报告1学号:__________ 姓名:__________ 班级:__________ 日期:__________指导教师:__________ 成绩:__________实验六综合实验一、实验目的1、掌握C语言中的变量、数组、函数、指针、结构体等主要知识点。

2、掌握C程序的结构化程序设计方法,能使用C语言开发简单的应用程序。

3、掌握C程序的运行、调试方法等。

二、实验内容编写一个学生信息排序程序。

要求:1、程序运行时可输入n个学生的信息和成绩(n预先定义)。

2、学生信息包括:学号、英文姓名、年龄;学生成绩包括:语文、数学、计算机。

3、给出一个排序选择列表,能够按照上述所列信息(学号、姓名、年龄、语文、数学、计算机)中的至少一个字段进行排序,并显示其结果。

1、使用函数方法定义各个模块。

三、实验步骤与过程物理实验报告·化学实验报告·生物实验报告·实验报告格式·实验报告模板四、程序调试记录c语言实验报告2第一章基础掌握1.1 实验目的掌握C程序设计编程环境Visual C++,掌握运行一个C程序的基本步骤,包括编辑、编译、链接和运行。

(]1.2 实验要求在报告中记录建立、保存C程序实习过程。

1.3 实验基本内容编写程序,在屏幕上显示一个短句“Hello World”(1)程序:1)编译如下程序:#includeVoid main(){printf (“Hello World! ”);}2)链接。

执行Build-命令。

3)运行。

执行Build Execute 命令。

显示结果。

4)关闭程序工作区。

(2)运行结果:输出结果:Hello World!总结:掌握C语言程序设计的基本框架,能够编写简单的程序。

C语言程序的设计实训报告

C语言程序的设计实训报告

C语言程序的设计实训报告1.引言C语言是一种高级程序设计语言,广泛应用于软件开发、系统编程、嵌入式系统等领域。

C语言程序设计实训是培养学生编写高效、可靠、可维护的程序的重要环节。

本报告将介绍我在C语言程序设计实训中的学习和实践经历。

2.实训内容和目标本次实训我学习并实践了C语言的基本概念、语法和基本操作。

实训目标是通过编写多种类型的程序,培养我对C语言的理解和掌握,提高我编程的能力和技巧。

3.实训过程3.1学习基本语法和数据类型在实训开始前,我通过阅读教材和参考资料学习了C语言的基本语法和数据类型,包括变量、常量、运算符、条件语句、循环语句等。

我通过练习编写简单的程序加深对这些概念的理解。

3.2编写实验程序在实训过程中,我编写了一系列的实验程序,包括计算两个整数的和、求解一元二次方程的根、猜数字游戏等。

这些程序练习了我对基本语法和数据类型的应用,提高了我的编程能力。

3.3团队合作项目在实训的最后,我们组成了一个团队,共同完成了一个较复杂的项目。

我们选择将一个文本文件中的单词按照字母顺序排序并输出到另一个文件中。

在项目中,我负责编写读取文件的代码和排序算法的实现。

通过与团队成员的合作,我学会了如何与他人协作,提高了我的团队合作能力。

4.实训收获通过这次实训,我收获了很多。

首先,我对C语言的掌握更加深入,理解了它的基本语法和数据类型的应用。

同时,我也学会了如何利用C语言编写高效、可维护的程序。

此外,通过团队合作项目,我提高了我的团队协作能力和沟通能力。

5.实训总结C语言程序设计实训是我学习C语言的重要环节。

通过掌握C语言的基本概念和语法,我能够编写简单的程序并逐渐提高自己的编程能力。

通过合作项目,我也学会了与他人合作和沟通。

这次实训对我的学习和成长有着积极的影响。

以上是我在C语言程序设计实训中的学习和实践经验的报告,通过这次实训,我对C语言的掌握更加深入,提高了我的编程能力和团队协作能力。

希望这次实训对我的未来学习和工作有所帮助。

C语言实训总结报告范文(通用5篇)

C语言实训总结报告范文(通用5篇)

C语言实训总结报告范文(通用5篇)在经济飞速发展的今天,报告的适用范围越来越广泛,报告包含标题、正文、结尾等。

一听到写报告马上头昏脑涨?以下是小编整理的C语言实训总结报告范文,仅供参考,希望能够帮助到大家。

C语言实训总结报告篇1这个星期,我们迎来了C语言实训——一次至为重要的实训。

在这个星期里,同学们都很认真的做着那20多道实训题目,遇到不懂的互相请教,或请问老师。

非常感谢老师对我们的帮助,这次实训使我受益匪浅,收获了很多。

通过C语言实训,让我加深了对C语言的了解,而不只是单单的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编写,变的生动有趣,而在自己动手的过程中,出现的问题很多,比理论要难的多,当一个程序写完以后,经常会有很多错误而没法解决。

不过,通过几天的实训,逐渐积攒了一些经验,有些错误可以很快就看出来。

这次实训有很大的收获,让我对C语言有了更深的认识,平时在课堂上学到的东西可以自己动手编写,将其转化成一些实用的技能。

如果是一个程序写完一处错误也没有,会有种成就感,于是兴趣就来了,兴趣来了,自然学的东西也就多了,能把理论变成实际的技能,让我对C语言有了浓厚的兴趣和更深层的认识。

C语言是一个有序的学习,学了最基本的替换,然后扩展到循环,嵌套,条理很清楚,不是一个零散的知识,实际上所有的课程都如此,不过通过实训我也知道了自己的不足,存在的很多问题。

比如自己写的写的小程序出了问题,不会解决了就叫老师帮忙,虽然说一定意义上增加了师生之间的感情,但是会养成一种依赖的心理,碰到问题了第一个想到的是求助而不是自己独立解决,所以以后要多多锻炼自己的信心和增加自己的能力,争取做到老师不在身边的时候也可以完成一些简单的程序编写与错误排除。

还有自己的基础知识不扎实,遇到的问题,没有很好的逻辑思维,亲自编写一个陌生的程序的时候会有种无法下手的感觉,找不到突破口。

通过实训,逐渐理清了顺序,对于简单的程序和一些相对比较繁琐的嵌套,循环,不在是看着一头雾水。

C语言程序设计实习报告

C语言程序设计实习报告

C语言程序设计实习报告第一篇:C语言程序设计实习报告实习报告题目: C语言程序设计所属系、部 : 电气工程学院班级: 电子商务131 姓名:贺道君学号: 20***5 指导教师: 费玲玲2014年6月一、实习目的加深理解C语言基础知识及其编程技术,了解高级程序设计语言的结构,熟练掌握程序设计方法和技巧,掌握基本的分析和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。

二、实习时间、地点6月16日(星期一)上午:微机室5下午:微机室56月17日(星期二)3、4:微机室5下午:微机室36月18日(星期三)上午:微机室5下午:学校6月19日(星期四)上午:微机室5下午:微机室36月20日(星期五)上午:C101下午:学校三、实习内容综合四、实习总结在学C语言的一个学期后,我们进行了C语言实训阶段,尝试自己编写一个比较复杂的程序系统。

在为期一周周的时间中,我们同组的同学共同的感受是:C语言实训和平时上课所接触的程序是有很大不同的,所经受的考验和克服的困难是平时所无法比拟的。

好在同组的搭档们精诚合作,分工明确,有问题共同解决,攻克了C语言实训的复杂程序。

在这里,我作为其中的参与者,自然感触良多刚开始接触到C的时候,我已经学过一些有关VB的内容,这个在算法和思维上稍微有点帮助。

回想本学期的学习,首先,最基本的,是C的数据格式,让我们知道整数,浮点数以及字符常量在C中的运用。

然后,在学会了数据转化,以及熟练的可以对各种数据处理之后,我开始进行有关数据结构,像数组,结构体等的学习,因为有的东西从现有的知识来看都是非常简单的,还没有联系到指针等等一些复杂的概念。

可是,仅仅学会这些是远远不够的,C语言中,还有很多更加经典、重要、实用的知识。

说说函数。

虽说很多程序语言都有函数这一内容,但我觉得C语言的函数是最有魅力的了。

学习函数的方法是比较简单的,只有两个字“牢记”,即:牢记函数的功能,牢记函数的用途以及如何输入输出。

C语言课程实习(优秀范文5篇)

C语言课程实习(优秀范文5篇)

C语言课程实习(优秀范文5篇)第一篇:C语言课程实习课程实习一、C程序上机操作方法及运行环境编写一个C程序,输入a, b, c,d四个值,输出其中最小者。

#includemain(){int a,b,c,d,t;printf(“Please input numbers:”);scanf(“%d,%d,%d,%d”,&a,&b,&c,&d);t=min(min(min(a,b),c),d);printf(“min number is:%dn”,t);}int min(int x,int y){int z;if(xz=x;elsez=y;return(z);}运行结果:Please input numbers:4,6,3,9min number is:3课程实习二、C程序上机操作方法及运行环境从键盘输入三个字符,要求输出这三个字符,并输出它们的ASCII 码及其ASCII码的平方根和的平方。

#include#includevoid main(){char ch1,ch2,ch3;float t;scanf(“%c,%c,%c”,&ch1,&ch2,&ch3);t=sqrt(ch1)+sqrt(ch2)+sqrt(ch3);printf(“%c,%dn”,ch1,ch1);printf(“%c,%dn”,ch2,ch2);printf(“%c,%dn”,ch3,ch3);printf(“%fn”,t*t);}运行结果:a,b,ca,97b,98c,99881.984683课程实习三、循环结构程序设计1)输入两个正整数m和n;2)如果m=n输出最大公约数m程序结束;3)若m>n则m=m-n否则n=n-m;4)返回到2)(循环)。

#includevoid main(){int m,n;scanf(“%d%d”,&m,&n);while(m!=n){if(m>n)m=m-n; else n=n-m;}printf(“%dn”,m); }运行结果:34,24课程实习四、循环结构程序设计打印下面的图案# # # # ## # # ## # ## ##includevoid main(){int i,j;for(i=1;i<=4;i++) {for(j=1;jprintf(“ ”);for(j=5;j>=i;j--) printf(“*”); putchar('n');}}课程实习五、数组的应用输入一个0到150之间的十进制整数,要求把此数转化为二进制形式。

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

C语言程序设计实习报告手机通讯录管理系统一、设计题目的任务和内容任务:本程序是非数值计算型算法设计,我设计出了通讯录管理系统的基本功能,并设计了简单的界面。

本程序主要考察对自定义函数的熟悉程度,本程序主要使用的是数组的相关操作,包括结构体数组的输入、输出、查找、删除等。

我设计的这个通讯录系统也初步实现了人员信息的显示、删除、查找、修改、添加等必要的功能。

具体要求:◆建立通讯录信息,信息包含、姓名、分类(1、办公类2、个人类3、商务类)、电话、电子邮箱等;◆将通讯录保存在文件中;◆查看功能:可按1、办公类2、个人类3、商务类分类查询,当选中其中一类时,显示出此类所有数据中的姓名和电话号码。

◆增加功能:能录入新数据。

当录入重复姓名和电话号码时,则提示数据录入重复并取消录入;当通讯录中超过15条信息时,存储空间已满,不能录入新数据;录入的新数据能按递增的顺序自动进行条目编号。

◆修改功能:选中某个人的姓名是,可对此人的相应数据进行修改。

◆删除功能:选中某个人的姓名是,可对此人的相应数据进行删除并自动调整后续条目编号。

系统功能需求分析:查询:查询通讯录记录添加:添加通讯录记录显示:显示通讯录记录删除:删除通讯录记录修改:修改通讯录记录二、总体设计思路本系统首先设计出了主函数,然后根据去要实现的功能分别设计拉,显示、删除、查找、修改、添加功能的子函数。

在显示的函数设计过程中首先运用拉文件的读取等必要的知识通过把文件的内容读取到内存然后打印出来。

删除函数的设计是首先从文件内找到要删除的人,然后通过写一个实现删除目的的FOR循环将该人从内存里删除,然后再用写的方式打开文件,将内存内的信息写入文件,实现删除。

查找也是先打开文件,用一个字符串对比的方法找出用户要查找的人,然后打印出来。

修改也大体和删除相同,添加函数在设计时通过申请一片空间,然后通过指针将需要添加的信息添加进去,从而实现添加功能。

系统功能模块图:主菜单输入查看添加修改删除退出输入新信息:可输入新的数据。

添加:可以添加通讯录记录,依次输入姓名、电话号码、分类、电子邮箱后,会提示是否继续添加。

删除:输入姓名删除,输入欲删除的那个人的名字后,会自动删除他(她)的记录内容查询:可按1、办公类2、个人类3、商务类分类查询修改:输入欲修改的那个人的名字后,再依次输入姓名、电话号码、分类、电子邮箱即可完成修改。

下面就是总的程序流程图:三、具体设计代码如下:开执行选择调用i n 调用br调用add(调用modi调用del(调用prin a=1,2,3,结束#include"stdio.h"#include"string.h"#define N 15typedef struct people {char name[20];char num[20];char sort[20];char email[30];}PEO;PEO peo[N];void enter();void menu();void browse();void add();void modify();void del();modify_data(int i,int n); void printf_face();void printf_one(int i); void input(int i);void save(int n);load();void printf_sort(int i);void no_input(int i,int n);void name_input(int i,int n);void printf_back();void menu(){int n,w1;do{puts("\t\t\t **手机通讯录**\n");puts("\t\t**************** 菜单****************\n\n");puts("\t\t\t\t1.输入新信息");puts("\t\t\t\t2.查看类型");puts("\t\t\t\t3.添加信息" );puts("\t\t\t\t4.修改信息");puts("\t\t\t\t5.删除信息");puts("\t\t\t\t6.返回");puts("\n\n\t\t**************************** ***********\n");printf("选择所需功能(1-6): []\b\b");scanf("%d",&n);if(n<1||n>6){w1=1;getchar();}else w1=0;}while(w1==1);switch(n){case 1:enter();break;case 2:browse();break;case 3:add();break;case 4:modify();break;case 5:del();break;case 6:exit(0);}}main(){menu();}void enter(){int i,n;printf("输入联系人的个数(0-%d)?:",N-1); scanf("%d",&n);printf("\n 现在请开始输入\n\n");for(i=0;i<n;i++){printf("\n 输入%d个联系人信息.\n",i+1);input(i);}if(i!=0)save(n);printf_back();}void browse(){int i,k,n;PEO p;n=load();printf("\n\n选择类型sort(a:办公类b:个人类c:商业类):" );scanf("%s",p.sort);printf("\n\tName num\n");for(i=0;i<n;i++)if(strcmp(p.sort,peo[i].sort)==0){k=i;printf_sort(k);printf("\n");}printf("\n\n");menu();}void add(){int i,k,m,n,j;FILE *fp;n=load();printf("您要添加多少个联系人信息(1-%d)?:",N-n);scanf("%d",&m);k=m+n-1;for(i=n;i<=k;i++){if(i>N-1){printf("储存已满,不能添加新信息");break;}printf("\n 输入%d个联系人记录.\n",i-n+1);input(i);}if((fp=fopen("shouji.txt","ab"))==NULL) {printf("无法打开文件\n");}for(j=n;j<i;j++)if(fwrite(&peo[j],sizeof(struct people),1,fp)!=1)printf("文件读写出错\n");fclose(fp);printf_back();}void modify(){int i,k,n,w0=1,w1,w2=0;FILE *fp;PEO p;n=load();do{k=-1;printf_face();for(i=0;i<n;i++){if((i!=0)&&(i%5==0)){printf("\n\n请记住你要修改的联系人姓名,按任意键继续...");getchar();puts("\n\n");}printf_one(i);}do{printf("\n\n请输入您所需修改的联系人姓名!name:");scanf("%s",);for(i=0;i<n;i++)if(strcmp(,peo[i].name)==0){k=i;p=peo[i];}if(k==-1)printf("\n\n输入错误!请重新输入");}while(k==-1);printf_face();printf_one(k);w1=modify_data(k,n);if(w1==1){printf("\nSuccessful^_^.\n\n确认需要修改其他信息?\n\n\t1).是2).返回\t[]\b\b");scanf("%d",&w0);w2=1;}else{w0=0;if(w2==1)peo[k]=p;}if(w0!=1&&w2==1)save(n);}while(w0==1);menu();}void del(){PEO p;FILE *fp;int k,w1,w0=0,w2=0,n,i;n=load();do{k=-1;printf_face();for(i=0;i<n;i++){if((i!=0)&&(i%5==0)){printf("\n\n请记住你要删除的联系人姓名,按任意键继续....");getchar();puts("\n\n");}printf_one(i);}do{printf("\n\n请输入需要删除的联系人姓名name:");scanf("%s",);for(i=0;i<n;i++)if(strcmp(,peo[i].name)==0){k=i;p=peo[i];}if(k==-1)printf("\n\n输入错误!请重试");}while(k==-1);printf_face();printf_one(k);printf("\n确认删除?\n\n\t1).确认2).重新删除3).返回[]\b\b");scanf("%d",&w1);if(w1==1){peo[k].name[0]=0;printf("\nSuccessful^_^.\n\n需要删除其他数据??\n\n\t1).是2).返回\t[]\b\b");scanf("%d",&w0);w2=1;}else{w0=0;if(w2==1)peo[k]=p;}if(w0!=1&&w2==1)save(n);}while(w0==1);menu();}modify_data(int i,int n){int c,w1;do{puts("\nmodify by=>\n\n 1).姓名2).电话3).类型4).邮箱地址\n 5).所有数据6).取消并返回");printf("请选择你要修改的选项(1-6): []\b\b");scanf("%d",&c);if(c>6||c<1){puts("\n选择错误!请重新选择!");getchar();}}while(c>6||c<1);do{switch(c){case 1:name_input(i,n);break;case 2:no_input(i,n);break;case3:printf("sort:");scanf("%s",peo[i].sort);break;case4:printf("email:");scanf("%s",peo[i].email);bre ak;case 5:input(i);break;}puts("\nNow:\n");printf_face();printf_one(i);printf("\n确认修改??\n\n\t1).是2).重新修改3).立即返回[]\b\b");scanf("%d",&w1);}while(w1==2);return(w1);}void printf_face(){printf("\n\t姓名电话类型邮箱地址\n");}void printf_one(int i){printf("%10s %14s %10s %10s ",peo[i].name,peo[i].num,peo[i].sort,peo[i].email );printf("\n");}void input(int i){name_input(i,i);no_input(i,i);printf("sort(a:办公类b:个人类c:商业类):");scanf("%s",peo[i].sort);printf("email:");scanf("%s",peo[i].email);}void save(int n){FILE *fp;int i;if((fp=fopen("shouji.txt","wb"))==NULL) {printf("\nCannot open file\n");return NULL;}for(i=0;i<n;i++)if(peo[i].name[0]!=0)if(fwrite(&peo[i],sizeof(struct people),1,fp)!=1)printf("file write error\n");fclose(fp);}load(){FILE *fp;int i;if((fp=fopen("shouji.txt","rb"))==NULL) {printf("\nCan not open file\n");return NULL;}for(i=0;!feof(fp);i++)fread(&peo[i],sizeof(struct people),1,fp); fclose(fp);return(i-1);}void printf_sort(int i){printf("%10s %14s",peo[i].name,peo[i].nu m);}void no_input(int i,int n){int j,w1,k;do{w1=0;printf("NO.:");scanf("%s",peo[i].num);for(j=0;peo[i].num[j]!='\0';j++)if(peo[i].num[j]<'0'||peo[i].num[j]>'9'){puts("输入错误!只能输入数字(0-9).请重新输入!\n");w1=1;break;}if(w1!=1)for(k=0;k<n;k++)if(k!=i&&strcmp(peo[k].num,peo[i].num)==0 ){puts("这个记录不存在,请重新输入!\n");w1=1;break;}}while(w1==1);}void name_input(int i,int n){int k,w1;do{w1=0;printf("Name.:");scanf("%s",peo[i].name);for(k=0;k<n;k++)if(k!=i&&strcmp(peo[i].name,peo[k].name)= =0){puts("这个记录不存在,请重新输入!\n");w1=1;break;}}while(w1==1);}void printf_back(){printf("\n\n\tSuccessful. ^_^\n\n"); menu();}四、界面分析1、开始界面2、输入功能3、查看功能4、添加功能5、修改功能6、删除功能7、返回五、心得体会本次的C程序实设计实验是我进入大学以来第一次独立设计的实验。

相关文档
最新文档