C程序设计综合实验报告(信管)
- 格式:doc
- 大小:153.50 KB
- 文档页数:11
实验四:结构体实验目的:1.更加灵活的使用数组作为函数参数;2.初步掌握开发一个小型实用系统的基本方法;3.初步掌握书写程序设计开发文档的能力。
实验内容:程序一:学生信息管理系统编写程序,实现学生信息的管理(包括学生信息的建立、增加、删除、修改、查找),要求:小组分工情况小组分工情况统计表I设计一个学生成绩管理系统至少具有以下功能:(1)菜单功能:采用文本菜单界面。
(2)学生信息的建立。
(3)学生信息的增加。
(4)学生信息的删除。
(5)学生信息的修改。
(6)学生信息的查找。
II数据库结构struct student{ char num[10];char name[10];char xibie[10];char sex;int age;}st[30];二总体设计框架结构图(系统的功能结构图)程序流程图: (visio)三、详细设计(流程图!!!)四、程序源代码(参考答案)1.用结构体数组完成2.用结构体指针完成1. #includ e "stdio.h"#includ e "string.h"typede f struct node{ char num[10];char name[10];char xibie[10];char sex;int age;int n;st *cresli nk(){int i;st s[10];printf("请输入要录入的人数:");scanf("%d",&n);for (i=0;i<=n-1;i++){ printf("请输入第%d名学生的学号,姓名,系别,年龄,性别:",i+1);scanf("%s%s%s%d%c",s[i].num,s[i].name,s[i].xibie,&s[i].age,&s[i].sex);}return s;}int getlen(st s[]){return n;}insert(st s[],char num[],char name[],char xibie[],int age,char sex){ strcpy(s[n].num,num);strcpy(s[n].name,name);strcpy(s[n].xibie,xibie);s[n].age=age;s[n].sex=sex;n++;}delete(st s[],char num[]){int i,j;for(i=0;i<n;i++)if(strcmp(s[i].num,num)==0)break;for(j=i+1;j<n;j++)s[j-1]=s[j];n--;}void list(st s[]){ int i;printf("学号\t姓名\t系别\t年龄\t性别\n");for(i=0;i<n;i++)printf("%s\t%s\t%s\t%d\t%c\n",s[i].num,s[i].name,s[i].xibie,s[i].age,s[i].sex);}void main(){int k,f,age;char num[10],name[10],xibie[10],sex;while(1){printf("\n\n\t\t\t学生信息管理系统\n");printf("\t\t*************************************\n");printf("\t\t\t1.录入学生信息\n");printf("\t\t\t2.插入新学生信息\n");printf("\t\t\t3.删除学生信息\n");printf("\t\t\t4.输出学生信息\n");printf("\t\t\t5.输出学生总数\n");printf("\t\t\t6.退出\n");printf("\t\t*************************************\n");printf("请选择:");scanf("%d",&k);switch(k){case 1:s=cresli nk();break;case 2: printf("请输入新学生的学号,姓名,系别,年龄,性别:");scanf("%s%s%s%d%c",num,name,xibie,&age,&sex);i nsert(s,num,name,xibie,age,sex);b reak;case 3:printf("请输入要删除的学生的学号:");scanf("%s",num);d elete(s,num);break;case 4:list(s);break;case 5:f=getlen(s);printf("学生总数为:%d",f);break;case 6:return;}}}2.#includ e "stdio.h"#includ e "string.h"#define null 0typede f struct node{ char num[10];char name[10];char xibie[10];char sex;int age;struct node *next;}slink;slink*cresli nk(){slink*head,*p,*s;int i,n;printf("请输入要录入的人数:");scanf("%d",&n);if(n<1)return null;p=head=(slink*)malloc(sizeof(slink));head->next=null;for (i=1;i<=n;i++){s=(slink*)malloc(sizeof(slink));printf("请输入第%d名学生的学号,姓名,系别,年龄,性别:",i); scanf("%s%s%s%d%c",s->num,s->name,s->xibie,&s->age,&s->sex);p->next=s;p=s;}p->next=null;return head;}int getlen(slink*head){slink*p;int n;p=head->next;n=0;while(p!=null){n++;p=p->next;}return n;}insert(slink*head,char num[],char name[],char xibie[],int age,char sex) {slink*p,*q;p=head;while(p->next!=null) p=p->next;q=(struct node *)malloc (sizeof(slink));strcpy(q->num,num);strcpy(q->name,name);strcpy(q->xibie,xibie);q->sex=sex;q->age=age;q->next=p->next;p->next=q;}delete(slink*head,char num[]){slink*p,*q;p=head;while(p->next!=null&&strcmp(p->next->num,num)!=0)p=p->next;q=p->next;p->next=q->next;free(q);}void list(slink*head){slink*p;printf("学号\t姓名\t系别\t年龄\t性别\n");p=head->next;while(p!=null){printf("%s\t%s\t%s\t%d\t%c\n",p->num,p->name,p->xibie,p->age,p->sex);p=p->next;}printf("\n");}void main(){int k,f,age;char num[10],name[10],xibie[10],sex;slink*head;while(1){printf("\n\n\t\t\t学生信息管理系统\n");printf("\t\t*************************************\n");printf("\t\t\t1.录入学生信息\n");printf("\t\t\t2.插入新学生信息\n");printf("\t\t\t3.删除学生信息\n");printf("\t\t\t4.输出学生信息\n");printf("\t\t\t5.输出学生总数\n");printf("\t\t\t6.退出\n");printf("\t\t*************************************\n");printf("请选择:");scanf("%d",&k);switch(k){case 1:head=cresli nk();break;case 2: printf("请输入新学生的学号,姓名,系别,年龄,性别:");scanf("%s%s%s%d%c",num,name,xibie,&age,&sex);insert(head,num,name,xibie,age,sex);b reak;case 3:printf("请输入要删除的学生的学号:");scanf("%s",num);d elete(head,num);break;case 4:list(head);break;case 5:f=getlen(head);printf("学生总数为:%d",f);break;case 6:return;}}}。
c程序设计的实验报告C程序设计的实验报告实验目的本次实验旨在加深学生对C语言程序设计的理解,通过实践操作,掌握C语言的基本语法结构、数据类型、控制语句、函数、数组和指针等核心概念。
通过编写和调试程序,培养学生的编程思维和问题解决能力。
实验环境- 操作系统:Windows 10- 编译器:GCC (GNU Compiler Collection)- 开发工具:Visual Studio Code实验内容1. 基本语法结构编写一个简单的C程序,实现基本的输入输出功能。
程序要求用户输入一个整数,然后输出该整数的平方。
```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);printf("该整数的平方是:%d\n", num * num);return 0;}```2. 控制语句编写程序,实现对一个整数数组的排序,并输出排序后的数组。
```c#include <stdio.h>void sort(int arr[], int n) {int i, j, temp;for (i = 0; i < n - 1; i++) {for (j = 0; j < n - 1 - i; j++) {if (arr[j] > arr[j + 1]) {temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}}int main() {int arr[] = {64, 34, 25, 12, 22, 11, 90};int n = sizeof(arr) / sizeof(arr[0]);sort(arr, n);printf("排序后的数组:\n");for (int i = 0; i < n; i++) {printf("%d ", arr[i]);}printf("\n");return 0;}```3. 函数编写一个函数,实现对字符串的反转,并在主函数中调用该函数。
附件1:C语言综合实验题目学生成绩管理系统学院理学院专业电子信息科学与技术班级电信科1002姓名李珍2011 年06 月30 日目录目录 (2)一:需求分析 (3)二:总体分析 (3)1:进入界面 (3)2:选择界面 (3)3:创建函数(creat) (4)4:追加函数(add) (5)5:查询函数 (6)6:修改函数 (7)7:删除函数 (8)8:统计函数 (9)9:排序函数 (10)10:显示函数 (11)。
(11)三:详细设计 (11)1.进入界面 (11)2:选择界面 (12)3.创建学生的资料 (12)4.追加学生的资料 (13)5.查询学生的资料 (14)6,.修改学生资料 (14)7.删除学生资料 (15)8. 统计学生资料 (16)9对学生资料进行排序 (16)10.显示函数 (17)11.退出 (18)四:调试与测试 (18)4.1:调试 (18)4.2测试结果 (18)五:结论与心得体会 (18)六:附录 (18)6.1:程序源代码 (18)6.2:参考文献 (30)6.3:本科生《C语言综合实验》成绩评定表 (30)学生成绩管理系统一:需求分析学生成绩管理系统是学生熟悉的教学系统之一,系统以学生成绩的输入、输出、插入、删除、排序、统计等基本功能模块为基础,将结构体、链表、文件等主要知识点结合在一起,运用菜单、排序等一些常用算法,解决学生成绩管理的实际问题。
设计一个学生成绩管理系统,对上学期的本班的学习成绩进行管理,可以用数组或链表来设计这个程序,具有查询和检索功能,并且能够对指定文件操作,也可将多个文件组成一个文件。
1):每一条记录包括一个学生的学号、姓名、性别、各门课成绩(上学期的科目)、平均成绩。
2):创建功能:可以一次完成若干条记录的输入。
3):显示输出功能:完成全部学生记录的显示。
4):查找功能:完成按姓名或学号查找学生记录,并显示。
5):排序功能:按学生平均成绩进行排序。
c程序设计的实验报告C程序设计的实验报告介绍:C程序设计是计算机科学与技术专业中最基础、最重要的一门课程之一。
通过学习C语言,我们可以理解计算机底层的工作原理,培养编程思维和解决问题的能力。
本篇实验报告将介绍我在C程序设计实验中所进行的实验内容、过程和结果。
实验一:基本语法和数据类型在第一次实验中,我们学习了C语言的基本语法和数据类型。
通过编写简单的程序,我了解了C语言中的变量声明、赋值和运算符的使用。
同时,我还学习了整型、浮点型、字符型等不同的数据类型,以及它们在内存中的存储方式。
实验二:控制语句和循环结构在第二次实验中,我们学习了C语言中的控制语句和循环结构。
通过编写条件语句和循环语句,我可以实现程序的分支和循环执行。
这让我能够更好地控制程序的流程,实现不同的功能。
实验三:函数和指针在第三次实验中,我们学习了C语言中的函数和指针。
函数是C语言中的重要概念,通过函数的封装和调用,我们可以提高代码的复用性和可读性。
指针则是C语言中的难点,通过指针的使用,我们可以直接操作内存,实现高效的数据处理。
实验四:数组和字符串在第四次实验中,我们学习了C语言中的数组和字符串。
数组是一种存储相同类型数据的集合,通过数组,我们可以方便地存储和访问大量数据。
字符串则是字符数组的特殊形式,通过字符串的操作,我们可以实现对文本数据的处理。
实验五:文件操作和结构体在第五次实验中,我们学习了C语言中的文件操作和结构体。
通过文件操作,我们可以读写外部文件,实现数据的持久化存储。
结构体则是一种自定义的数据类型,通过结构体,我们可以将不同类型的数据组合在一起,形成更复杂的数据结构。
实验六:动态内存分配和链表在第六次实验中,我们学习了C语言中的动态内存分配和链表。
动态内存分配通过malloc和free函数,我们可以在程序运行过程中动态地申请和释放内存。
链表则是一种非常重要的数据结构,通过链表,我们可以实现高效的数据存储和操作。
实验七:综合实验在最后一次实验中,我们进行了一次综合实验,将之前学习的知识综合运用。
c 程序设计实验报告C程序设计实验报告一、引言C程序设计是计算机科学与技术专业中非常重要的一门课程,通过实验学习,我们可以更好地掌握C语言的基本语法和程序设计思想。
本次实验报告将对我所完成的C程序设计实验进行总结和分析。
二、实验目的本次实验旨在通过编写C程序,加深对C语言的理解,并掌握C语言的基本语法和程序设计方法。
同时,通过实验,我们还可以提高自己的编程能力和解决问题的能力。
三、实验内容本次实验分为两个部分,分别是基本语法练习和小项目实践。
1. 基本语法练习在基本语法练习中,我通过编写一系列小程序来巩固对C语言的掌握。
其中包括变量的定义和使用、运算符的使用、条件语句和循环语句的使用等等。
通过这些练习,我对C语言的基本语法有了更深入的了解,并能够熟练地使用这些语法来解决实际问题。
2. 小项目实践在小项目实践中,我选择了一个简单的学生成绩管理系统作为实践项目。
通过这个项目,我可以更好地理解和应用C语言的各种概念和技巧。
在这个项目中,我需要设计一个程序,能够实现学生成绩的录入、查询和统计功能。
通过这个实践项目,我不仅加深了对C语言的理解,还提高了自己的问题解决能力和编程能力。
四、实验过程在实验过程中,我首先通过学习C语言的相关教材和资料,掌握了C语言的基本语法和程序设计思想。
然后,我根据实验要求,逐步完成了实验中的各个小任务。
在完成每个小任务之后,我会进行测试和调试,确保程序的正确性和稳定性。
在实践项目中,我还进行了一些额外的功能扩展,以提高程序的实用性和用户体验。
五、实验结果通过本次实验,我成功地完成了所有的实验任务,并实现了学生成绩管理系统的基本功能。
在实验过程中,我遇到了一些问题,但通过查阅资料和与同学的讨论,我最终解决了这些问题。
通过实验,我不仅加深了对C语言的理解,还提高了自己的编程能力和解决问题的能力。
六、实验总结通过本次实验,我对C语言的基本语法和程序设计思想有了更深入的了解。
通过实践项目,我不仅掌握了C语言的各种概念和技巧,还提高了自己的问题解决能力和编程能力。
《C程序设计》实验教学大纲一、适用范围大纲适用信息管理专业本科教学使用。
二、课程名称C程序设计三、学时数与学分总学时:90 总学分:4实验学时:28 实验学分:1四、教学目的和基本要求目的:通过C程序设计实验,培养学生对学习程序设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规则,使学生全面了解C 语言的特点,熟练掌握C 语言程序设计的基本方法和编程技巧。
基本要求:了解和熟悉C语言程序开发的环境;学会上机调试程序,善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行,达到实验知识和理论知识的融会贯通。
上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止,上机结束后,应整理出实验报告。
注:带*的实验项目为选做实验项目六、教材、讲义及参考书《C程序设计题解与上机指导》谭浩强主编清华大学出版社七、实验成绩评定办法实验成绩=平时实验表现+实验报告。
实验成绩占总成绩的20%。
实验成绩以等级形式给出,评定等级分优、良、中、及格、不及格五类.1、平时考核:上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止。
在实验中,教师可根据学生编程操作能力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核。
2、实验报告:学生实验后应按时完成实验报告。
八、实验教学大纲说明本大纲共安排28学时的实验,其中带*号实验项目为选做实验项目,实际课时为18学时。
实验项目多为设计性实验项目,每个设计性实验项目中都包含数个小的设计性题目,其中带*号的题目为选做题目,有时间和有能力的同学可以选做。
九、实验项目实验一C程序的运行环境和运行一个C程序的方法一、实验目的1。
了解Visual C++6.0编译系统的基本操作方法,学会独立使用该系统.2。
了解在该系统上如何编辑、编译、连接和运行一个C程序。
HUNAN UNIVERSITY程序设计训练报告学生姓名学生学号专业班级指导老师院长 (系主任)2013 年 5 月25 日目录一系统功能简介 (3)二本人完成的主要工作 (3)三实训分析 ............................... ..4四实训设计 ........... .. (5)五实训源程序代码和调试过程 (7)六实训总结 (11)附录1 (12)附录2 .................................12-22一系统功能简介.学生信息管理系统1, 进入主界面:要求输入密码,输入三次错误系统锁定。
2,输入记录:将学生的基本信息包括学号,姓名,性别,地区,分数等数据作为一个记录写入文件。
3,显示记录:显示学生的各项信息。
4,增加记录: 增加多个学生的基本信息,位于之前的学生后面。
5,删除记录: 删除学生信息。
6,修改记录:可以修改学生的任何一项基本信息。
7,查找记录:可以根据学生的学号查找并显示出学生的信息。
8,统计记录: 统计全班通过情况和不及格情况。
9,退出系统经过逐层逐块、不断细化、求精过程,编写程序并进行测试、验证,可以逐个模块地分开调试,并通过文件包含或用工程文件的形式进行逐步联合调试。
二本人完成的主要工作学生信息管理系统由我和龚晨同学共同完成。
主程序的编写由我们两个共同完成。
我负责的是:1、修改记录:可以修改学生的任何一项基本信息。
2、查找记录:可以根据学生的学号查找并显示出学生的信息。
3、统计记录: 统计全班通过情况和不及格情况。
4、退出系统三实训分析1、用结构化程序设计思想进行 C环境下程序设计。
2、设计一个管理系统,上机编程、调试并通过该管理系统中的各功能模块。
3、设计完成后,每人必须提交程序清单及关于程序设计、维护和使用方面的图文材料即程序设计说明书各一份。
4、基于结构化程序设计思想和所使用的 C语言开发环境与开发工具,并运用“软件工程”和“数据结构”中的有关概念和方法,针对具体设计题目和要求,分析功能要求,划分功能模块,用链表结构设计功能模块函数,以菜单方式调用相应功能模块来实现信息和数据处理四实训设计1、系统功能模块结构图本图书管理系统理由输入记录,显示记录,增加记录,删除记录,修改记录,统计数据,查找记录,七个大模块组成,其总体结构图如下:2.核心数据结构设计:1.头文件说明如:#include<string.h>#include<stdio.h>#include<stdlib.h>#include<conio.h>2,函数的编写定义结构类型;定义全局变量;定义、编写记录(数据)输入函数;定义、编写记录(数据)显示函数;定义、编写记录(数据)增加函数;定义、编写记录(数据)删除函数;定义、编写记录(数据)修改函数;定义、编写记录(数据)统计函数;定义、编写记录(数据)查找函数;3. 核心算法描述(程序流程图)主函数结构流程五实训源程序代码和调试过程(包括截图)1.1进入界面图一输入密码进行身份验证,输入三次则系统锁定。