c语言课程设计报告
- 格式:doc
- 大小:1.58 MB
- 文档页数:86
c语言课程设计报告详细版一、课程目标知识目标:1. 掌握C语言的基本语法和结构,包括变量声明、数据类型、运算符、表达式和语句。
2. 理解并能运用控制结构,如顺序、选择和循环结构进行程序设计。
3. 学会使用数组、函数和指针进行程序开发,并能理解它们在解决复杂问题中的应用。
4. 熟悉基本的输入输出操作,文件操作以及简单的错误处理机制。
技能目标:1. 能够编写简单的C程序,解决实际问题,展现出逻辑思考和问题解决的能力。
2. 能够阅读和分析C程序代码,理解程序的结构和执行过程。
3. 能够使用调试工具检查和修正程序中的错误,提高程序的稳定性和可靠性。
4. 能够通过小组合作,完成一个综合性的项目,培养团队协作和项目管理的初步技能。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发探究计算机科学的热情,形成主动学习和终身学习的习惯。
2. 培养学生的创新思维和批判性思维,鼓励尝试不同的解决方案,勇于面对编程中的挑战。
3. 增强学生的信息意识和责任感,理解程序在现实生活中的应用和影响,认识到编程对社会发展的贡献。
4. 通过项目实践,培养学生的集体荣誉感,加强沟通能力,形成良好的团队合作精神。
课程性质分析:本课程为高年级的C语言程序设计,旨在通过项目驱动的教学方法,使学生在实践中掌握C语言的编程技能,并能够在日常生活和学习中应用。
学生特点分析:学生具备一定的逻辑思维能力,对计算机编程有一定兴趣,但个体差异较大,需要针对不同层次的学生设计不同难度和类型的教学活动。
教学要求:1. 结合实际案例进行教学,强调理论知识与实践操作的结合。
2. 注重培养学生的实际编程能力和问题解决能力,鼓励学生自主探索和协作学习。
3. 通过形成性评价和总结性评价相结合的方式,全面评估学生的学习成果。
二、教学内容1. C语言基础- 变量与数据类型- 运算符与表达式- 输入输出函数- 顺序结构程序设计2. 控制结构- 选择结构(if-else)- 循环结构(for、while、do-while)3. 函数与数组- 函数定义与调用- 数组的使用- 二维数组4. 指针与字符串- 指针的概念与使用- 指针与数组- 字符串处理函数5. 文件操作与错误处理- 文件的打开与关闭- 文件的读写操作- 简单错误处理6. 综合项目实践- 项目需求分析- 功能模块划分- 编程实现与调试- 项目展示与评价教学内容安排与进度:第一周:C语言基础第二周:控制结构第三周:函数与数组第四周:指针与字符串第五周:文件操作与错误处理第六周至第八周:综合项目实践教材章节关联:《C程序设计》第一章至第五章,涵盖课程教学内容中的所有知识点,为综合项目实践打下基础。
c语言课程设计报告模板及范文一、引言引言部分在课程设计报告中扮演了导读的角色,通常包括以下内容:•背景:简要介绍课程设计的背景和目的。
•目的:阐述课程设计的目标和意义。
•项目概述:对设计项目的总体概况进行描述。
•报告结构:简要介绍后续报告的组织结构。
二、需求分析需求分析是课程设计过程中的重要环节,它用于明确项目的目标和功能,通常包括以下内容:•问题定义:对设计中需要解决的问题进行明确定义。
•功能需求:详细描述设计项目需要实现的各项功能。
•性能需求:根据设计的要求,确定设计项目的性能指标。
•接口需求:描述设计项目与其他模块或系统之间的接口要求。
三、设计方案设计方案部分是课程设计报告的核心,通常包括以下内容:•总体设计思路:对设计方案的总体思路进行简要介绍。
•模块划分:按照功能将设计项目分成各个模块,并描述各个模块的功能和关系。
•模块设计:对各个模块进行详细的设计说明,包括算法、数据结构等。
•界面设计:如果设计项目包含界面,需要对界面进行详细的设计说明。
•流程图:结合文字和图表展示设计项目的流程。
四、实现与测试实现与测试部分是课程设计报告中比较实际的内容,通常包括以下内容:•开发环境:列出完成设计的开发环境和所使用的工具。
•代码实现:详细描述设计项目的代码实现方法。
•测试方法:列出设计项目的测试方法和测试样例。
•测试结果:给出设计项目在测试样例下的实际运行结果。
五、总结与展望总结与展望部分对整个课程设计进行总结,并对未来的优化和拓展提出展望,通常包括以下内容:•成果总结:对整个课程设计的成果进行总结和评价。
•存在问题:对设计项目中存在的问题和不足进行归纳和总结。
•改进方向:针对存在问题提出改进的方向和思路。
•未来展望:对设计项目未来的拓展和优化方向进行展望。
六、参考文献在课程设计报告中,如果有引用的书籍、论文或网络资源,需要列出参考文献。
范文示例:```c #include <stdio.h>void main() { printf(。
C语言课程设计设计报告书一、课程目标知识目标:1. 理解C语言的基本语法和结构,掌握变量声明、数据类型、运算符、表达式等基本概念。
2. 学会使用C语言进行顺序结构、分支结构和循环结构的编程。
3. 掌握函数的定义、声明和调用,理解局部变量和全局变量的作用域。
4. 了解数组、指针和字符串的使用,能够运用它们解决实际问题。
技能目标:1. 培养学生编写、编译和调试C程序的能力,提高编程技巧。
2. 培养学生运用C语言解决实际问题的能力,如数值计算、数据处理等。
3. 培养学生分析问题、设计算法和编写程序的能力,提高逻辑思维能力。
情感态度价值观目标:1. 培养学生对计算机编程的兴趣,激发学习积极性,提高自主学习能力。
2. 培养学生合作学习、分享经验的精神,提高团队协作能力。
3. 培养学生严谨、认真、负责的学习态度,养成良好编程习惯。
课程性质:本课程为高中年级C语言课程,以实践为主,注重培养学生的编程能力和逻辑思维能力。
学生特点:高中年级学生对计算机编程有一定的基础,好奇心强,学习积极性较高,但需加强实践操作和问题分析能力的培养。
教学要求:结合课程内容和学生特点,采用任务驱动、案例教学等方法,引导学生主动探究、动手实践,提高编程技能和解决问题的能力。
同时,注重培养学生良好的编程习惯和团队合作精神。
通过本课程的学习,使学生能够具备C 语言编程的基本能力,为后续计算机课程学习打下坚实基础。
二、教学内容1. C语言基础知识:变量、数据类型、常量、运算符、表达式。
教材章节:第一章2. 控制结构:顺序结构、分支结构(if语句、switch语句)、循环结构(for循环、while循环、do-while循环)。
教材章节:第二章3. 函数:函数定义、声明、调用;局部变量和全局变量;递归函数。
教材章节:第三章4. 数组:一维数组、二维数组;数组的初始化、遍历和排序。
教材章节:第四章5. 指针:指针的定义与使用;指针与数组、字符串、函数的关系。
课程设计报告模板c语言一、课程目标知识目标:1. 理解C语言的基本语法结构,掌握变量定义、数据类型、运算符等基础知识;2. 学会使用控制结构,如顺序结构、分支结构和循环结构;3. 掌握函数定义、声明和调用的方法,理解局部变量和全局变量的概念;4. 了解数组、字符串和指针的使用,并能运用它们解决实际问题。
技能目标:1. 能够运用C语言编写简单的程序,解决问题;2. 培养良好的编程习惯,如规范命名、合理注释、代码缩进等;3. 学会使用编译器进行程序编译、调试和运行;4. 能够阅读和分析简单的C程序代码,提高编程能力。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发学习热情;2. 培养学生的逻辑思维能力,提高问题解决能力;3. 培养学生的团队协作意识,学会与他人分享编程经验;4. 培养学生严谨、细心的学习态度,养成良好的编程习惯。
课程性质:本课程为初中年级的信息技术课程,旨在让学生掌握C语言编程的基本知识和技能。
学生特点:初中学生具有较强的逻辑思维能力和学习兴趣,但对编程知识了解较少。
教学要求:结合学生特点,注重理论与实践相结合,通过实例分析、编程实践等方式,使学生能够掌握C语言的基本知识,提高编程能力。
在教学过程中,关注学生的情感态度,激发学习兴趣,培养良好的编程习惯。
将课程目标分解为具体的学习成果,以便于后续教学设计和评估。
二、教学内容1. C语言基础知识- 变量定义、数据类型和运算符- 输入输出函数的使用- 顺序结构程序设计2. 控制结构- 分支结构(if、if-else、switch)- 循环结构(for、while、do-while)3. 函数- 函数定义、声明和调用- 局部变量和全局变量- 递归函数4. 数组、字符串与指针- 数组的使用和操作- 字符串的基本操作- 指针的概念和用法5. 编程实践- 编写简单程序,解决问题- 分析实例代码,提高编程能力- 调试程序,找出并修复错误教学内容安排与进度:第一周:C语言基础知识,顺序结构程序设计第二周:控制结构(分支、循环)第三周:函数的定义和调用,递归函数第四周:数组、字符串与指针第五周:编程实践与总结教材章节关联:教学内容与教材相应章节紧密关联,确保学生能够在学习过程中系统地掌握C 语言知识。
c语言课程设计报告项目背景一、课程目标知识目标:1. 学生能理解C语言课程设计报告的项目背景,掌握C语言在工程项目中的应用。
2. 学生能够掌握C语言的基本语法,如变量定义、数据类型、运算符、控制结构等,并能够运用到实际项目中。
3. 学生能够了解C语言编程规范,培养良好的编程习惯。
技能目标:1. 学生能够独立完成C语言课程设计报告的撰写,包括项目背景、需求分析、设计思路、代码实现和测试结果等。
2. 学生能够运用C语言编写简单的程序,解决实际问题,提高编程实践能力。
3. 学生能够通过课程设计,培养自己的问题分析、解决方案设计和调试能力。
情感态度价值观目标:1. 学生在学习过程中,培养对编程的兴趣和热情,提高自主学习能力。
2. 学生能够认识到C语言在计算机科学中的重要性,激发对计算机科学的热爱。
3. 学生通过团队协作完成课程设计,培养沟通协作能力和团队精神。
课程性质:本课程为C语言编程实践课程,强调理论与实践相结合,注重培养学生的编程能力和实际应用能力。
学生特点:学生为初中年级,对编程有一定的基础,具备基本的计算机操作能力,好奇心强,学习积极性较高。
教学要求:教师应关注学生的个体差异,提供针对性的指导,引导学生掌握C 语言基本知识,注重培养学生的实际操作能力和团队协作能力。
在教学过程中,将课程目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. C语言基础知识回顾:变量定义、数据类型、运算符、控制结构(包括顺序、选择、循环结构)。
2. C语言编程规范:命名规则、注释、缩进、代码组织等。
3. 课程设计报告撰写方法:项目背景、需求分析、设计思路、代码实现、测试结果与分析。
4. 实践项目:选取与实际生活相关的问题,引导学生运用C语言进行程序设计。
- 项目一:计算器程序- 项目二:学生信息管理系统- 项目三:简易游戏开发(如:猜数字游戏)教学大纲:第一周:C语言基础知识回顾,重点讲解变量定义、数据类型和运算符。
c语言课程设计设计报告c语言课程设计设计报告「篇一」c语言课程设计实验报告第一章基础掌握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语言程序设计的基本框架,能够编写简单的程序。
第二章数据类型2.1 实验目的(1)掌握C语言的运算符和表达式的正确使用以及C语言的几种基本数据类型和基本输入输出函数的使用方法。
()(2)通过编程进一步理解和掌握运算符的确切含义和功能。
2.2 实验要求(1)在报告中记录建立、保存C程序实习过程。
(2)完成典型题目,分析遇到的困难和实验中的收获。
2.3 实验基本内容输入程序,观察输出结果 1>./*test2.1c*/1)编译如下程序: #includevoid main{char ch; int k;ch='a',k='b';printf("%d,%x,%c",ch,ch,ch,ch,k); printf("k=%%d ",k) }2)链接。
执行Build-命令。
3)运行。
执行Build Execute 命令。
显示结果。
4)关闭程序工作区。
2>./*test2.2c*/1)编译如下程序: #includevoid main{float a1,a2; double b1,b2; a1=1234.12; a2=0.000001; b1=1234.12; b2=0.000001;printf("%f,%l f ",a1+a2,b1+b2);}2)链接。
1.课程论文题目职工信息管理系统程序设计一、题目要求职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。
试设计一职工信息管理系统,使之能提供以下功能:(1)系统以菜单的方式工作。
(2)职工信息录入功能(职工信息用文件保存)。
(3)职工浏览功能。
(4)职工信息查询功能,查询方式可按学历查询或者工号查询。
(5)职工信息的删除、修改功能(可选项)。
2.程序设计思路1、设计思路(1)根据题目要求,应该把职工工资信息用结构体形式输入,在定义一个全局变量和文件指针进行整个程序的运行,然后把职工工资信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;(2)在程序中需实现职工工资浏览、查询、统计等功能的操作,所以需要建立相应的功能模块来实现;(3)另外还需要提供键盘式选择菜单实现功能,在运行时达到所要的目的。
3.功能模块图5.算法设计1.主函数提供输入、处理和输出部分的函数调用,各功能模块采用菜单方式选择。
2浏览模块【分析】该模块的功能是浏览职工的全部信息3排序模块4查询模块【分析】该模块的功能是根据输入的职工按照工号和学历查找对应的记录,找到以后,可进行继续查找或修改信息的操作。
流程图如下:5修改模块【分析】该模块的功能是显示所有职工的信息,考虑到记录较多,建议采用分屏显示。
显示完所有记录后,输入要修改的职工的工号,根据工号查到职工的记录,并提示用户修改该记录的哪部分信息,根据用户做的选择修改相应信息。
流程图如下:6.程序代码#include<stdio.h>#define N 50struct worker{char id[50];char name[20];char sex[10];char age[10];char edu[20];char salary[10];char address[20];char tel[20];}worker[N];void save(int n) //保存函数,保存n个记录{ FILE *fp;int i;if((fp=fopen("worker.txt","wb"))==NULL) //以只写方式为输出打开一个二进制文件{ printf("\nCannot open file\n");}for(i=0;i<n;i++)if(fwrite(&worker[i],sizeof(struct worker),1,fp)!=1)printf("file write error\n");fclose(fp);}int load() //加载函数{ FILE *fp;int i;if((fp=fopen("worker.txt","rb"))==NULL){printf("\nCannot open file\n");return NULL;}for(i=0;!feof(fp);i++)fread(&worker[i],sizeof(struct worker),1,fp);fclose(fp);return(i-1);}void no_input(int i,int n) //工号输入函数,i表示第i个职工的信息,n 表示比较到第n个职工{ int j,k,w1;do{w1=0;printf("工号:");scanf("%s",worker[i].id);for(j=0;worker[i].id[j]!='\0';j++)if(worker[i].id[j]<'0'||worker[i].id[j]>'9') //判断工号是否为数字{puts("请重新输入!\n");w1=1;break;}if(w1!=1)for(k=0;k<n;k++) //比较到第N个职工if(k!=i&&strcmp(worker[k].id,worker[i].id)==0) //判断职工号是否有雷同{puts("请重新输入!\n");w1=1;break;}}while(w1==1);}void input(int i) //输入一个记录的函数{ no_input(i,i);printf("姓名:");scanf("%s",worker[i].name);printf("性别:");scanf(" %s",&worker[i].sex);printf("年龄:");scanf("%s",&worker[i].age);printf("工资:");scanf("%s",worker[i].salary);printf("学历:");scanf("%s",&worker[i].edu);printf("住址:");scanf("%s",worker[i].address);printf("电话:");scanf("%s",worker[i].tel);}void printf_one(int i) //显示一个记录的函数{printf("%10s %10s %5s %5s %8s %6s %10s %10s\n",worker[i].id,worker[i].name,worker[i].sex,worker[i].age,worker[i].salary,worker[i].edu,worker[i].address,worker[i].tel); }void printf_back() //一个任务结束后选择是好似浏览还是返回{ int k,w;printf("\n\n\tSuccessful^-^.\n\n");printf("接下来做什么?\n\n\t1).浏览全部\t2).返回: [ ]\b\b");scanf("%d",&w);if(w==1)browse();else menu();}modify_data(int i,int n) //修改函数{ int c,w1;do{puts("\nmodify by=>\n\n 1).工号 2).姓名 3).性别 4).年龄 5).工资6).学历 7).地址 8).电话 9).取消");printf("请选择?:[ ]\b\b");scanf("%d",&c);if(c>9||c<1){puts("\nChoice error!please again!");getchar();}}while(c>9||c<1);do{switch(c){case 1:no_input(i,n);break;case 2:printf("name:");scanf("%s",worker[i].name);break;case 3:printf("sex:");scanf("%s",worker[i].sex);break;case 4:printf("age:");scanf("%s",worker[i].age);break;case 5:printf("salary:");scanf("%s",worker[i].salary);break;case 6:printf("edu:");scanf("%s",worker[i].edu);break;case 7:printf("address:");scanf("%s",worker[i].address);break;case 8:printf("tel:");scanf("%s",worker[i].tel);break;case 9:menu();break;}puts("\nNow:\n");printf_face();printf_one(i);printf("\n确定?\n\n\t1).是2).否,重新修改3).不保存退出[ ]\b\b");scanf("%d",&w1);if(w1==1)save(n);}while(w1==2);return(w1);}printf_face() //显示数据结构项目{ printf("\n\t工号姓名性别年龄工资学历地址电话号码\n"); }void enter() //输入模块{ int i,n;printf("输入多少个职工信息(0-%d):",N-1);scanf("%d",&n);printf("\n 请输入职工信息\n\n");for(i=0;i<n;i++)input(i);if(i!=0)save(n);printf_back();}browse() //浏览模块{ int i,j,n;n=load();printf_face();for(i=0;i<n;i++){if((i!=0)&&(i%10==0)){printf("\n\n按任意键显示下一页...");getch();puts("\n\n");}printf_one(i);}printf("\t这里有 %d 条记录.\n",n);printf("\n按任意键返回...");getch();menu();}modify() //修改模块{struct worker s;FILE *fp;int i,n,k,w0=1,w1,w2=0;n=load();do{k=-1;printf_face();for(i=0;i<n;i++){if((i!=0)&&(i%10==0)) //目的是分屏显示{printf("\n\n记住要修改的工号.按任意键显示下一页");getch();puts("\n\n");}printf_one(i); //调用显示一个记录的函数}do{printf("\n\n输入要修改的职工工号! 工号:");scanf("%s",s.id); //输入要修改的IDfor(i=0;i<n;i++) //查找要修改的数据if(strcmp(s.id,worker[i].id)==0){k=i; //找到要修改的记录s=worker[i]; //把worker[i]备份,以便恢复}if(k==-1)printf("\n\n未找到请重输");}while(k==-1); //当k=-1表示没有找到printf_face(); //调用显示数据结构项目的函数printf_one(k); //调用显示一个记录的函数w1=modify_data(k,n); //修改记录并返回保存控制值w1,w1=1表示用户已确认修改if(w1==1){printf("\Successful^_^.\n\n修改另一个?\n\n\t1).是 2).否,保存退出\t[ ]\b\b");scanf("%d",&w0);w2=1; //用来控制保存,使w2=1是标记已有过修改}else{w0=0;if(w2==1)worker[k]=s;}if(w0!=1&&w2==1)save(n);}while(w0==1);menu();}search() //查询模块{ int c,w1;do{puts("\nsearch by=>\n\n1).工号 2}.学历 3).取消并返回"); printf("Which you needed?:[ ]\b\b");scanf("%d",&c);if(c>3||c<1){ puts("\nchoice error!please again!");getchar();}}while(c>3||c<1);{switch(c){case 1:search1();break;case 2:search2();break;case 3:menu();break;}}}search1() //按工号查询模块{int i,n,k,w1=1,w2,w3,w4;struct worker s;n=load();do{do{k=-1;printf("\n\n输入要查询的工号! id:");scanf("%s",s.id);printf_face();for(i=0;i<n;i++)if(strcmp(s.id,worker[i].id)==0){k=i;printf_one(k);break;}if(k==-1){printf("\n\nNo exit!please");printf("\n\n继续查找?\n\t1).是 2).否,返回 [ ]\b\b");scanf("%d",&w1);if(w1==2) menu();}}while(k==-1&&w1==1);w4=0;w3=0;if(k!=-1){printf("\n\n接下来干什么?\n\t1).查找另一个 2).修改 3).返回菜单[ ]\b\b");scanf("%d",&w2);switch(w2){case 1:search1();break;case 2:w3=modify_data(k,n);break;case 3:{menu();break;}}}}while(w2==1);menu();}search2() //按学历查询模块{int i,n,k,w1=1,w2,w3,w4;struct worker s;n=load();do{do{k=-1;printf("\n\n请输入你要查询的学历:\n");scanf("%s",);printf_face();for(i=0;i<n;i++)if(strcmp(,worker[i].edu)==0){k=i;printf_one(k);}if(k==-1){printf("\n\nNo exit!please");printf("\n\n继续查找?\n\t1).是 2).否,返回 [ ]\b\b");scanf("%d",&w1);if(w1==2) menu();}}while(k==-1&&w1==1);w4=0;w3=0;if(k!=-1){printf("\n\n接下来干什么?\n\t1).查找另一个 2).修改 3).返回菜单[ ]\b\b");scanf("%d",&w2);switch(w2){case 1:search2();break;case 2:w3=modify_data(k,n);break;case 3:{menu();break;}}}}while(w2==1);menu();}menu(){int n,w1;do{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****************************************\n\n");printf("请选择(1~5): [ ]\b\b");scanf("%d",&n);if(n<1||n>5) //对选择的数字作判断{w1=1;getchar();}else w1=0;} while(w1==1);switch(n){case 1:enter();break; //录入 case 2:browse();break; //浏览 case 3:search();break; //查询 case 4:modify();break; //修改 case 5:exit(0); //退出}}main(){menu();}7.程序运行结果下面是各个模块的的界面截图(1)、主菜单(2)、输入模块(3)、浏览模块(3)、查找模块(4)、修改模块8.编程中遇到的困难及解决方法温故而知新,可以为师矣。
西安郵電大學C语言课程设计报告题目: 职工工资管理系统院系名称: 计算机学院专业名称: 软件工程班级:学生姓名:学号(8位):指导教师:设计起止时间: 2013年06月03日~2013年06月12日一.设计目的1.通过本课程设计, 强化上机动手能力, 使学生在理论和实践的基础上进一步巩固《c语言程序设计》课程学习的内容, 掌握工程软件设计的基本方法.2.学会将知识应用于实际的方法, 提高分析和解决问题的能力, 增加综合能力.3.为后续各门计算机课程的学习打下坚实基础; 为毕业设计和以后工作打下必要基础。
二.设计内容本设计主要包括了用户登录和主菜单,其中用户登录包括了一下几个功能1.新用户的注.2.用户登.3。
用户密码的修改。
而主菜单包括: 1.职工信息的录.2.职工信息的修.3.选择性排.4.统计人数和工.5. 输出现有的信.6.自定义查询信息。
三. 概要设计1. 功能模块图;1.2. 各个模块详细的功能描述。
2.修改密码的时候, 需要输入原密码, 并且输入两次新的密码必须相同才能完成密码的修改。
3.用户登录: 需要输入用户名和密码, 如果用户名不存在或密码错误会给出相应的提醒, 当输入正确的时候会进入主菜单。
4.新用户注册:需要输入注册的用户和密码, 如果用户明已被注册过会给出相应的提醒。
5.职工信息的输入:是从无开始输入职工的信息, 同样也会给出输入内容的提醒, 当输入最后一次职工的信息为零时结束输入, 同是会将输入的信息写入到文件里。
6.修改职工信息其中包括a.添加职工信息和输入职工信息相同在添加完会提醒是否继续添加。
b.修改员工信息: 此时会出现选择性修改职工的哪项信息,先进行选择再进行修改。
C.删除员工信息: 需要输入所要删除员工的姓名或id进行删除!如果删除不成功或者删除者不存在会给出相应的提醒。
7.统计信息: 会自动的统计现有员工的总人数和现有员工的总工资。
8.输出现有职工的信息: 会显示现在记录的职工的各项信息。
C语言课程设计报告:学生成绩管理系统系统需求一、当前学生信息:通过结构体struct student 来保存学生的姓名,学号,性别,语文,数学,英语和计算机等等相关信息,并且通过cin函数来进行给当前学生输入初始信息。
二、学生成绩查询: 输入一个学号,在文件中查找此学生, 若找到则输出此学生的全部信息和成绩;若找不到则输出查找失败的信息。
同时也可以全部把各科的平均成绩,最高和最低分输出.三、新生插入:通过给该生的学号来和原班上的学生的学号比较大小,若大就在后,若小则靠前排,将此生的信息保存下来.四、输出全部学生信息和全部学生成绩。
五、退出系统.六、附加说明:系统将来完善的功能有:可以通过性别来模糊查询,也可以通过姓名的姓来先进行模糊查询,以便后面精确查找。
总体设计一、仔细阅读系统要求,首先将此系统化分为如下模块(即如下函数)1、输入初始的学生信息:其中包括学生的姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息;可用函数cin(stu *p1)来实现此操作。
2、查询模块:可用stu *lookdata(stu *p1)来实现。
找到就输出此学生全部信息包括学生的语文、数学、英语和计算机等的成绩。
3、插入模块:可用insert( )函数来实现。
其中通过学号的大小来比较的,并且以此来排序.4、输出学生的信息以及成绩:通过学生的姓名来查看学生的语文、数学、英语和计算机等相关成绩,同时也可以分别通过caverage()、maverage()、eaverage() 和comaverage() 来输出语文、数学、英语和计算机等成绩的平均分数、最高和最低分数。
5、退出系统:可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。
二、系统主模块结构图:详细设计一、界面设计此系统界面采用图形和数字化菜单设计。
主界面设计如下:学生成绩管理系统请选择相应的数字执行相应的功能:1:是否输入其他数据2:查看数据3:插入数据4:查找数据5:更新数据6:保留数据7:显示或打印数据8:语文成绩状况9:数学成绩状况10:英语成绩状况11:计算机成绩状况12:?13:退出系统二、数据结构设计:程序设计中用到的结构体类型:学生信息结构体类型:typedef struct student{char name[MAX];int num[MAX];char sex[MAX];int chinese;int mathematic;int english;int computer;struct student *next;}程序代码://原始密码是123456#include"stdio.h”#include"stddef.h"#include"stddef。
c语言课程设计报告在现在社会,我们都不可避免地要接触到报告,报告成为了一种新兴产业。
那么报告应该怎么写才合适呢?以下是店铺收集整理的c语言课程设计报告,欢迎阅读与收藏。
c语言课程设计报告11、题目要求◆ 建立通讯录信息,信息至少包含编号、姓名、年龄、电话、居住街道、省份、城市、电子邮箱等;◆ 能够提供添加、删除和修改通讯录信息的功能;◆ 能够提供安不同方式查询的功能;如按姓名或年龄、电话等查询;◆ 将通讯录保存在文件中;◆ 能够按表格方式输出通讯录信息。
2、需求分析本程序将用到文件系统,其中单行内容代表一张纸条。
程序运行后首先将文件系统的原始数据读取并保存到程序的结构体数组当中,所以应提供文件输入的操作;由于纸条数据零散,所以要对原始数据进行分类操作并提供一个数组用于保存分类信息;在程序中要进行统计工作,所以要提供显示、排序等操作;另外应提供键盘式选择菜单实现功能选择。
3、总体设计根据项目的任务要求及以上分析,在设计方法上,采用模块化的程序设计思想,即将通讯录管理系统划分为数据输入模块,数据查询模块,数据修改模块,数据插入模块,数据删除模块,,并对每个模块按照其功能分别独立完成对应的程序设计。
在数据处理上,各模块中的数据处理(如数据读/写操作)均用文件形式来实施,并在主程序中完成操作界面的设计功能,设计思路如下:1、采用模块设计思想;2、将通讯录信息定义成结构体类型,并通过文件实施数据操作;3、通过设计一菜单界面完成具体操作。
4、详细设计c语言课程设计报告2一、传统C语言课程设计教学模式C语言是最基本的计算机编程,是计算机、电子信息类等相关专业学生的专业入门课,在其学习过程中,要求必须掌握编程的技能。
但是C语言的学习有其特点,规则比较多、知识点多,涉及到的编程程序等也比较难懂,在运行上代码的要求较高,程序执行效率高,因此更讲究教学和学习的方式方法,但是在我们的教学中,目前教学方法比较单一,随着信息化的发展,传统的教学模式已经无法适应,亟需改革。
C语言程序设计课程设计报告1. 引言本报告旨在介绍C语言程序设计课程设计的整体思路和步骤。
通过这个课程设计项目,我们将能够深入了解C语言的基本特性和程序设计的基本原理,并通过实践来提升我们的编程能力。
2. 课程设计的目标我们的课程设计项目旨在实现一个简单的学生信息管理系统。
该系统具有以下功能: - 添加学生信息 - 查询学生信息 - 修改学生信息 - 删除学生信息3. 思路和步骤步骤一:项目初始化首先,我们需要创建一个新的C语言项目,并为该项目选择合适的开发环境。
常见的C语言开发环境包括Dev-C++、Code::Blocks等。
选择一个适合自己的开发环境后,我们可以开始编写代码。
步骤二:设计数据结构在开始编写代码之前,我们需要设计合适的数据结构来存储学生的信息。
常用的数据结构包括数组、链表等。
在我们的设计中,我们可以使用结构体来表示学生的信息,例如:typedef struct {int id;char name[20];int age;} Student;这个结构体包含了学生的学号、姓名和年龄三个属性。
步骤三:实现功能函数接下来,我们可以开始实现各种功能函数。
例如,我们可以编写一个函数来添加学生信息:void addStudent(Student* students, int* count) {// 获取学生信息,并将其存储到students数组中// 更新count变量,表示学生数量加一}同样地,我们可以编写函数来查询、修改和删除学生信息。
步骤四:编写主函数在实现了各种功能函数后,我们可以编写一个主函数来调用这些函数,从而完成整个程序的逻辑。
主函数可以包含一个菜单,让用户选择执行不同的功能。
例如:int main() {Student students[100];int count = 0;int choice;do {// 显示菜单// 根据用户的选择,调用相应的功能函数} while (choice != 0);return0;}步骤五:测试和调试完成编码后,我们需要对程序进行测试和调试,以确保它能够正常运行,并且功能符合设计要求。
c语言课程设计设计报告一、教学目标本课程的教学目标是让学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识,培养学生编程思维和解决问题的能力,使学生能够熟练使用C语言进行程序设计。
1.理解C语言的基本语法和规则;2.掌握数据类型、运算符和表达式;3.熟悉控制结构,如if语句、for循环、while循环等;4.了解函数的定义和调用;5.掌握基本的输入输出操作。
6.能够编写简单的C语言程序,解决实际问题;7.能够阅读和理解C语言程序代码;8.能够运用C语言进行算法实现和程序设计;9.能够使用调试工具对程序进行调试和优化。
情感态度价值观目标:1.培养学生的编程兴趣,激发学生主动学习和探索的精神;2.培养学生解决问题的能力和团队合作意识;3.培养学生良好的编程习惯和规范的编程思维;4.培养学生对计算机科学的热爱和敬业精神。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。
具体安排如下:1.第一章:C语言概述介绍C语言的历史、特点和应用领域,熟悉C语言的编译环境和基本语法。
2.第二章:数据类型和运算符学习基本的数据类型、运算符和表达式,掌握变量、常量的定义和使用。
3.第三章:控制结构学习if语句、for循环、while循环等控制结构,掌握分支结构和循环结构的使用。
4.第四章:函数学习函数的定义、声明和调用,了解函数的参数传递和返回值,掌握常用库函数的使用。
5.第五章:输入输出操作学习C语言的输入输出函数,如printf、scanf等,掌握文件操作的基本方法。
6.第六章:数组和字符串学习一维数组、多维数组和字符串的基本操作,掌握数组的排序和查找算法。
7.第七章:指针学习指针的概念和用法,掌握指针与数组、指针与函数的关系,了解指针数组和指向指针的指针。
8.第八章:结构体和联合体学习结构体的定义和使用,了解联合体的特点和应用,掌握枚举类型的定义和使用。
c语言课程设计报告C语言课程设计报告。
一、设计目的。
本次课程设计的目的在于通过实际的项目实践,帮助学生巩固C语言的基础知识,提高编程能力,培养学生的实际动手能力和解决问题的能力。
二、设计内容。
1. 学生信息管理系统。
设计一个简单的学生信息管理系统,包括学生的基本信息录入、查询、修改和删除功能。
通过这个项目,学生可以学习如何使用C语言中的结构体、文件操作等知识,加深对C语言的理解。
2. 简易计算器。
设计一个简易的计算器程序,实现基本的加减乘除运算,同时具备错误输入提示和异常处理功能。
通过这个项目,学生可以学习如何使用条件语句、循环语句和函数等知识,提高对C语言的掌握程度。
3. 学生成绩管理系统。
设计一个学生成绩管理系统,包括成绩录入、统计、排名等功能。
通过这个项目,学生可以学习如何使用数组、指针等知识,提高对C语言的应用能力。
三、设计思路。
在设计过程中,我们要注重培养学生的问题分析和解决能力,鼓励他们多动手实践,多思考,多尝试。
同时,要引导学生注重代码的规范性和可读性,提高代码的质量和可维护性。
四、设计方法。
1. 理论教学与实践相结合。
在课程教学中,要注重理论知识的讲解,同时配合实际的项目练习,让学生在实践中巩固所学知识,提高编程能力。
2. 引导学生独立思考与合作交流。
在项目实践过程中,要引导学生独立思考问题,培养他们解决问题的能力,同时鼓励学生之间的合作交流,共同解决问题,促进学习效果的提高。
3. 鼓励创新与实践。
在项目设计中,要鼓励学生发挥创造力,设计出独特的程序,同时要注重实际操作,让学生通过实践检验自己的设计,不断完善和改进。
五、设计效果。
通过本次课程设计,学生将能够掌握C语言的基本语法和常用技巧,提高编程能力,培养解决问题的能力,为以后的学习和工作打下坚实的基础。
六、总结。
C语言课程设计是学生学习C语言的重要环节,通过设计实际项目,可以提高学生的动手能力和解决问题的能力,为学生今后的学习和工作打下坚实的基础。
c语言课程设计报告书3篇c语言课程设计报告书1我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。
在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。
在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。
包括了程序模块处理。
简单界面程序。
高级界面程序。
程序的添加修改。
用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。
上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。
对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。
学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。
因为学时所限,课程不能安排过多的上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。
为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。
课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1、加深对课堂讲授内容的理解课堂上要讲授许多关于c语言的.语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。
然而要使用c语言这个工具解决实际问题,又必须掌握它。
通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。
对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。
c语言课程设计任务报告一、教学目标本课程的教学目标是让学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识,培养学生编程思维和解决问题的能力,使学生能够熟练使用C语言进行程序设计。
1.掌握C语言的基本语法和规则。
2.了解数据类型、变量和常量的概念及使用。
3.掌握不同类型的运算符及其用法。
4.理解控制结构(如if语句、for循环、while循环等)的作用。
5.熟悉函数的定义、声明和调用。
6.能够运用C语言编写简单的程序,实现基本的输入输出、计算等功能。
7.学会使用调试工具对程序进行调试和运行。
8.掌握基本的编程技巧,能够解决简单的编程问题。
情感态度价值观目标:1.培养学生对计算机科学的兴趣和热情。
2.培养学生独立思考、解决问题的能力。
3.培养学生团队协作、互相学习的意识。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。
1.C语言基本语法:变量、数据类型、运算符、表达式、语句等。
2.数据类型:整型、浮点型、字符型、枚举型等。
3.变量和常量:变量的声明和使用、常量的定义。
4.运算符:算术运算符、关系运算符、逻辑运算符等。
5.控制结构:if语句、for循环、while循环等。
6.函数:函数的定义、声明和调用,函数参数的传递。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法相结合的方式进行教学。
1.讲授法:通过讲解C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识,使学生掌握相关概念和用法。
2.案例分析法:通过分析典型的编程案例,使学生理解编程思路和方法,培养学生解决问题的能力。
3.实验法:安排上机实验,让学生亲自动手编写程序,巩固所学知识,提高编程能力。
四、教学资源本课程的教学资源包括教材、多媒体资料、实验设备等。
1.教材:选用权威、实用的C语言教材,为学生提供系统的学习资料。
2.多媒体资料:制作课件、教学视频等,丰富教学手段,提高学生的学习兴趣。
c语课程设计报告一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据结构和算法,具备使用C语言进行程序设计的能力。
具体目标如下:1.知识目标:–理解C语言的基本语法,包括数据类型、运算符、控制结构等。
–掌握C语言的基本数据结构,包括数组、链表、栈和队列。
–了解C语言的基本算法,包括排序、查找、递归等。
2.技能目标:–能够使用C语言编写简单的程序,解决实际问题。
–能够使用C语言进行调试和优化程序。
–具备一定的编程思维和问题解决能力。
3.情感态度价值观目标:–培养学生的编程兴趣和主动性,提高学生对计算机科学的热爱。
–培养学生的团队合作意识和沟通能力,提高学生的问题解决能力。
–培养学生的创新思维和持续学习的意识。
二、教学内容根据教学目标,本课程的教学内容主要包括C语言的基本语法、数据结构和算法。
具体安排如下:1.C语言的基本语法:–数据类型、变量和常量–运算符和表达式–控制结构,包括条件语句和循环语句2.C语言的基本数据结构:–数组和字符串–队列和排序算法3.C语言的基本算法:–查找算法,包括线性查找和二分查找–排序算法,包括冒泡排序和快速排序–递归算法,包括递归求解和递归遍历三、教学方法为了实现教学目标,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法。
1.讲授法:通过教师的讲解和演示,向学生传授C语言的基本语法和概念。
2.讨论法:通过小组讨论和课堂讨论,促进学生之间的交流和合作,培养学生的编程思维和问题解决能力。
3.案例分析法:通过分析实际案例,让学生了解C语言在实际中的应用,提高学生的编程实践能力。
4.实验法:通过实验室实践,让学生亲手编写和调试C语言程序,培养学生的实际编程能力。
四、教学资源为了支持教学内容和教学方法的实施,本课程将选择和准备以下教学资源:1.教材:选择一本适合学生水平的C语言教材,作为学生学习的主要参考资料。
2.参考书:提供一些相关的参考书籍,供学生深入学习C语言的特定主题。
c语言课程设计报告模板
(一)编制模板目的
本文是c语言课程设计报告的模板,旨在指导c语言课程设计的实施、文件书写及文档报告的编写工作,提供系统、完整的内容和报告要求,以保障报告质量。
(二)项目介绍
1、项目名称:本课程的重点在于使学生学习、掌握,使用c语言进行
程序设计。
2、项目内容:本课程以c语言为主要教学课程,内容涵盖c语言基本
语法、循环结构、函数等。
3、开发工具:本课程使用DEV-C++来开发c语言程序,并采用vnc进行调试和运行程序。
(三)预期成果
1、课程成果:本课程让学生掌握c语言的基本语法、循环结构、函数等;正确使用开发工具实现一定的基本算法,并能够进行程序的调试
和运行;能够运用c语言实现简单的人工智能算法。
2、文档成果:完成c语言课程设计报告,报告应包括项目简介、使用建议、技术参数、课程结果、结论等内容。
(四)报告要求
1、报告内容:报告应包括项目简介、使用建议、技术参数、软件开发准备、课程实施说明、课程结果、存在的问题、结论及建议等内容;
2、报告格式:报告采用A4纸、双栏格式,字体使用宋体;
3、报告字数:报告的字数应不少于3000字。
C语言课程设计报告封面一、教学目标本课程旨在通过学习C语言的基本概念、语法和编程技巧,使学生掌握C语言编程的基础知识,具备运用C语言进行简单程序设计的能力。
具体目标如下:1.知识目标:•理解C语言的基本语法和数据类型;•掌握基本的输入输出操作、控制结构和函数;•了解C语言的内存管理和预编译处理。
2.技能目标:•能够使用C语言编写简单的程序,实现基本的输入输出、计算和逻辑控制功能;•能够阅读和理解简单的C语言程序代码;•能够运用C语言进行简单的算法设计和程序调试。
3.情感态度价值观目标:•培养学生的计算机编程兴趣,提高学生对计算机科学的认知;•培养学生的问题解决能力和创新思维;•培养学生团队合作精神和自主学习能力。
二、教学内容本课程的教学内容主要包括C语言的基本概念、语法和编程技巧。
具体安排如下:1.C语言的基本概念:介绍C语言的历史背景、特点和基本语法结构。
2.数据类型和变量:学习C语言的基本数据类型、变量的声明和使用方法。
3.输入输出操作:学习C语言的输入输出函数,如printf和scanf,实现数据的打印和输入。
4.控制结构:学习C语言的条件语句、循环语句和开关语句,实现程序的控制流程。
5.函数:学习C语言的函数定义、声明和调用,了解函数的参数传递和返回值。
6.数组和字符串:学习C语言的数组和字符串的基本操作,如排序、查找和字符串处理。
7.指针:学习C语言的指针概念和运用,了解指针与数组、函数的关系。
8.内存管理和预编译处理:学习C语言的内存分配和释放、预编译处理指令。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式进行教学。
具体方法如下:1.讲授法:通过教师的讲解,介绍C语言的基本概念和语法知识,为学生提供系统的学习框架。
2.案例分析法:通过分析典型的C语言程序案例,让学生了解和掌握编程技巧和方法。
3.实验法:学生进行编程实验,让学生亲自动手编写和调试程序,培养学生的实际编程能力。
C语言课程设计报告一、设计目的本次课程设计旨在帮助学生熟悉C语言的基本语法和编程思想,通过设计一个简单的C语言程序,掌握C语言的基本编写技巧和调试方法,加深对C语言的理解。
二、设计内容本次C语言课程设计要求学生设计一个简易的学生信息管理系统,包括学生的基本信息录入、查询、修改和删除功能。
三、设计思路1. 需要定义一个学生信息的结构体,包括学号、姓名、年龄等基本信息。
2. 定义一个学生信息数组,用于存储学生信息。
3. 实现录入学生信息的功能,通过用户输入学生的学号、姓名、年龄等信息,并将其存储到学生信息数组中。
4. 实现查询学生信息的功能,用户输入要查询的学生学号,系统通过遍历学生信息数组找到对应的学生信息并输出。
5. 实现修改学生信息的功能,用户输入要修改的学生学号,系统通过遍历学生信息数组找到对应的学生信息,并提示用户输入新的学生姓名、年龄等信息,并将其更新到学生信息数组中。
6. 实现删除学生信息的功能,用户输入要删除的学生学号,系统通过遍历学生信息数组找到对应的学生信息,并将其从学生信息数组中删除。
四、设计步骤1. 定义一个学生信息的结构体,并在主函数中定义一个学生信息数组。
2. 实现录入学生信息的功能,通过用户输入学生的学号、姓名、年龄等信息,并将其存储到学生信息数组中。
3. 实现查询学生信息的功能,用户输入要查询的学生学号,系统通过遍历学生信息数组找到对应的学生信息并输出。
4. 实现修改学生信息的功能,用户输入要修改的学生学号,系统通过遍历学生信息数组找到对应的学生信息,并提示用户输入新的学生姓名、年龄等信息,并将其更新到学生信息数组中。
5. 实现删除学生信息的功能,用户输入要删除的学生学号,系统通过遍历学生信息数组找到对应的学生信息,并将其从学生信息数组中删除。
6. 编写主函数,实现菜单选择功能,用户可以通过选择不同的菜单选项进行录入、查询、修改和删除学生信息的操作。
五、实验成果经过设计和编码,最终实现了一个简易的学生信息管理系统,能够完成学生信息的录入、查询、修改和删除功能。
C语言程序设计B课程设计报告设计题目:学生成绩管理系统年级班级:学号:姓名:指导教师:2020 年 6 月 18 日目录一、设计目的 (3)二、课程设计内容和要求 (4)三、总体设计 (5)四、主要步骤 (12)五、功能实现 (13)六、功能测试 (64)七、评价程序 (83)八、课程设计体会 (84)一、设计目的程序设计能力是当代理工类大学生的必备能力,当学生学习了C语言之后,编程能力远远不能达到开发实际应用程序的要求,特备是对其中的指针、结构体、链表和文件部分的理解和应用都比较弱。
程序设计的目的是通过对面向过程的学习,将C语言的主要知识点进行综合,针对提高学生C语言程序设计能力,强化编写较大的应用软件能力,熟练运用已掌握的知识解决实际需要解决的问题,以达到更加熟知指针、链表、结构体、文件读取、标准库的使用。
主要目的为以下几点:1、熟练掌握面向过程(结构化)程序设计基本知识;2、综合运用所学知识解决实际问题;3、受到面向过程(结构化)程序设计的基本训练;4、体会面向过程(结构化)开发程序的过程。
二、课程设计内容和要求1.课程设计内容:学生通过使用C语言进行编写算法,开发学生成绩管理系统,以实现对学生成绩的管理。
2.课程设计要求1)具有菜单,可以在菜单上进行选择;2)能实现学生数据录入、修改、删除、查询;3)能实现数据排序;4)有数据输出功能;5)有数据读取与存储功能;6)一个学生的数据(称为:每条记录)包含姓名、学号、语文、数学、英语、总分、名次等信息;7)以结构方式存储每条记录;8)多条记录以链表方式存储到内存;9)随时可将全部数据存储到磁盘文件中,方便下次从磁盘读取数据。
三、总体设计1.主函数的结构:2.用户的需求分析:学生成绩管理系统面向的用户群体分为两类:学生和教师。
对于学生:由于教务处的规定,原则上,系统对学生群体只开放“查看成绩”和“打印成绩”这两个版块的功能。
对于教师:由于工作上的需求,系统对教师开放全部功能,包括“添加学生”、“查找学生”、“删除学生”、“修改信息”、“成绩排序”、“打印成绩”等全部版块的功能。
3.版块设计:1.系统用户选择界面:在使用该系统的时候,需要先进行“注册账号”,之后才能“登陆账号”,进行之后的一系列操作;若已有账号,则直接进行“登陆账号”即可。
流程图如下:(用户账号选择界面)流程图说明:用户有两条途径可以到达下一步“用户选择界面”:1.直接“登录账户”,输入账号密码,程序进行“循环判断”直至遍历所有“已存在的账号密码”,若成功,则继续;若失败,则重新输入账号密码。
2.先“注册账户”,再进行“登陆账户”,用户在进行注册账户时,程序会对用户输入的账号进行判断“是否注册”,若不存在。
则进行下一步输入密码,登陆账号;若存在,则提示“账号已存在,请重新输入或者直接登陆”。
(用户身份选择界面)流程图说明:在用户选择“用户身份”时,会有两个选择:1.选择“学生身份”,之后选择班级后,进入到学生菜单进行下一步操作,之后退出系统;2.选择“教师身份”,在选择班级后,用户在进入“教师”菜单之前,会被要求“输入教师系统密码”,该密码由学校教务处设定,若用户输入正确教师系统密码,则进入到“教师菜单”;若用户输入错误,则会直接进入到“退出系统”。
程序不允许用户进行“多次输入密码”的操作,目的是为了保证“学生信息的安全”。
2.学生/教师菜单:(学生菜单)流程图说明:在用户选择“学生身份”后,会进入到“学生菜单界面”,会有3个选择:1、进行查找学生操作,在完成操作后,会“返回至学生菜单界面”;2、进行打印成绩操作,在完成操作后,会“返回至学生菜单界面”;3、退出系统。
4、根据“学生群体的需求”和学校教务处的规定,系统对“学生身份”的用户只开放“查找学生”和“打印成绩”功能,其他功能暂不对学生开放,若学生有其他需要,可与所在班级的教师联系;但是系统对“学生群体”不限制使用功能的次数,因此学生可以在系统开放的时间段内无限次的使用所开放的功能。
(教师界面)流程图说明:在用户成功进入到“教师菜单界面”后,会有8项功能可以选择:添加学生、查找学生、删除学生、保存信息、修改学生、成绩排序、打印成绩、退出系统。
1.在教师进行“添加学生、删除学生”的操作后,系统会自动进行“成绩排序”操作,目的是为了方便教师对学生成绩的进一步管理;但是在进行“修改学生”后,不会进行“成绩排序”操作,原因是根据一些学校的相关规定,以及高考的相关制度,“学生在对成绩提出有异议后,会对该学生的成绩进行复查,若情况属实,对其成绩予以改正,但是排名/位次不予以修改”。
2.教师在进行完对“学生成绩”的相关工作后,要及时进行“保存信息”操作,否则系统默认“不保存”。
4.添加学生:流程图说明:在用户选择“添加学生”后,会先要求“输入学号”操作,然后程序进行循环判断,“学号是否存在”,若存在则用户需要重新输入学号,再次进行循环判断,直至学号不存在,才可以输入其他信息,输入完成后,会提示添加成功,之后会返回至“教师菜单界面”。
5.查找学生:流程图说明:在用户选择“查找学生”后,会有3个选择:“按照学号查找”、“按照姓名查找”、“返回上一层界面”1、根据数据统计,以及用户的使用习惯,查找学生功能提供两个查找方式以便进行“模糊查找”,满足用户的需求;2、在用户选择查找方式后,会进行相同原理的操作,若该学生存在,则输出打印该学生的相关信息,若不存在,则会有提示,重新输入或者返回上一层。
6.删除学生:流程图说明:在用户选择“删除学生”后,需要先输入“学号”进行查找,若该学生存在,则会删除该学生的全部成绩;若不存在,则会提示,重新输入或者返回上一层。
7.修改学生:流程图说明:在用户选择“修改学生”后,会先进行“查找学生”操作,在找到该学生后,用户可以对其“所有科目的成绩”进行修改,但不能对其的学号、姓名、总分进行修改,原因是该功能只允许教务处使用,在修改完成后,会返回上一层。
8.退出系统:回收链表空间,退出系统。
四、主要步骤以下是本课程设计的主要步骤:1.构造本课程设计的流程图;2.编写主要函数以及部分主要函数的子函数;3.调试主要函数(1)调试子函数;(2)作出具体的测试报告。
4.将各主函数连接构造成为完整的结构,并调试结构;5.复查主要代码;6.调整输出窗口(使得输出界面美观大方);7.撰写实验报告;(1)编辑封面扉页;(2)设计目录;(3)课程设计及其内容;(4)设计目的;(5)总体设计;(6)主要步骤;(7)功能实现;(8)功能测试;(9)课程设计体会、心得。
五、功能实现以下是实现本程序的主要函数:1.创建链表函数:void CreateList(){pStu = (STU*)malloc(sizeof(STU));pStu->pnext = NULL;}2.文件打开函数:void OpenFile(){char ch;STU* pnew = NULL;STU* ptemp = NULL; //2 个结构体指针system("cls");CreateList(); //先创建链表ptemp=pStu;printf("\n\n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 学生成绩管理系统\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t 请选择班级:\n");printf("\t\t\t\n");printf("\t\t\t 例如:19级信计2班.txt \n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t************************************************************\n");printf("\t\t\t请输入要管理的班级:");gets(filename);fp=fopen(filename, "r+"); //绝对路径if (fp == NULL){printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 文档无法打开,请创建后再尝试!\n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");exit(0);}else{printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 打开成功!\n");printf("\t\t\t \n");printf("\t\t\t 按“任意键”继续... \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");getch();}printf("\n");while(1){//开辟了内存pnew = (STU*)malloc(sizeof(STU));//没有读出来if((fscanf(fp,"%d\t%s\t%f\t%f\t%f\t%f\t%f\t%d\n",&pnew->num,pnew->name,&pnew->chinese,&pnew->math,&pnew->english,&pnew->computer,&pnew->sum,&pnew->rank))==EOF){free(pnew);break;}pnew->pnext = NULL;ptemp->pnext = pnew;ptemp = ptemp->pnext;}}3.打印信息函数:void printfALL(){system("cls");printf("\n\n");printf("\t\t\t************************************************************\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t 学生成绩管理系统\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t************************************************************\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t 全部学生成绩\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t************************************************************\n");STU *ptemp = pStu ->pnext;if(ptemp == NULL) //处理文件{printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 没有数据!按“任意键”继续... \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");getch();return;}printf("\t\t\t学号\t姓名\t语文\t数学\t英语\tC语言\t总分\t名次\n");while(ptemp !=NULL){printf("\t\t\t%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%d\n",ptemp->num,ptemp->name,ptemp->chinese,ptemp->math,ptemp->english,ptemp->computer,ptemp->sum,ptemp->rank);ptemp= ptemp->pnext;}printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 按任意键继续... \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");getch();}4.按照学号查找函数:void searchNum(STU *ptemp){int num;system("cls");printf("\n\n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 学生成绩管理系统\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t************************************************************\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t 正在按照学号查找学生\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t************************************************************\n");printf("\t\t\t请输入您要查找的学号:");scanf("%d",&num);printf("\n");ptemp = ptemp->pnext; //实参pSTU->形参ptemp ptemp指向头结点 ptemp指向第一个有数据的空间while(ptemp!=NULL){if(ptemp->num==num) //找到了{printf("\t\t\t学号\t姓名\t语文\t数学\t英语\tc语言\t总分\t名次\n");printf("\t\t\t%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%d\n",ptemp->num,ptemp->name,ptemp->chinese,ptemp->math,ptemp->english,ptemp->computer,ptemp->sum,ptemp->rank);printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 查找成功!\n");printf("\t\t\t\n");printf("\t\t\t 按“任意键”返回上一层界面... \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");getch();return;}ptemp = ptemp->pnext;}printf("\t\t\t************************************************************\n");printf("\t\t\t\n");printf("\t\t\t 查无此人!\n");printf("\t\t\t\n");printf("\t\t\t 按“任意键”返回上一层界面...\n");printf("\t\t\t\n");printf("\t\t\t************************************************************\n");getch();}5.按照姓名查找函数:void searchName(STU *ptemp){char name[20];system("cls");printf("\n\n");printf("\t\t\t************************************************************\n");printf("\t\t\t\n");printf("\t\t\t \n");printf("\t\t\t 学生成绩管理系统\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 正在按照姓名查找学生\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");printf("\t\t\t请输入您要查找的姓名:"); scanf("%s",name);printf("\n");ptemp = ptemp->pnext; //实参pSTU->形参ptemp ptemp指向头结点 ptemp指向第一个有数据的空间int n=0;while(ptemp!=NULL){if(!strcmp(ptemp->name,name)) //找到了{if(n == 0){printf("\t\t\t学号\t姓名\t语文\t数学\t英语\tc语言\t总分\t名次\n");}printf("\t\t\t%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%d\n",ptemp->num,ptemp->name,ptemp->chinese,ptemp->math,ptemp->english,ptemp->computer,ptemp->sum,ptemp->rank);n++;}ptemp = ptemp->pnext;}//找完了if(n==0){printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 查无此人!\n");printf("\t\t\t \n");printf("\t\t\t 按“任意键”返回上一层界面... \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");}else{printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 查找成功!\n");printf("\t\t\t \n");printf("\t\t\t 按“任意键”返回上一层界面... \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");}getch();}6.查找学生的主函数:void searchMain(){int choice;do{system("cls");printf("\n\n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 学生成绩管理系统\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 正在查找学员\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 1.按学号查找\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 2.按姓名查找\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 3.返回主界面\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 请选择:\n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");printf("\t\t\t"); scanf("%d",&choice); printf("\n");switch(choice){case 1:searchNum(pStu);break;case 2:searchName(pStu);break;case 3:break;}}while(choice !=3);}7.学生/教师界面选择函数:void stuortea(){int choice;system("cls");printf("\n\n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 学生成绩管理系统\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 请选择页面信息\n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t\n");printf("\t\t\t 1.学生页面 2.教师页面\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t************************************************************\n");printf("\t\t\t");scanf("%d",&choice); printf("\n");while(!(choice==2 && choice==1)){if(choice==2){printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 选择成功!按“任意键”继续... \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");getch();mima();do{welcome1(); //主界面printf("\t\t\t \n");printf("\t\t\t 请选择:");scanf("%d",&choice);printf("\t\t\t \n");printf("\t\t\t************************************************************\n");switch(choice){case 1:addstudata();rank1(pStu);//添加学生break;case 2:searchMain();//查找学生break;case 3:delstu(pStu);rank1(pStu);//删除学生break;case 4://保存信息savedata();break;case 5://修改信息editMain();break;case 6:rank2(pStu);//成绩排序break;case 7://打印成绩printfALL();break;case 8://退出系统//回收链表空间freelist(pStu);printf("\t\t\t************************************************************\n");printf("\t\t\t\n");printf("\t\t\t 内存释放成功!\n");printf("\t\t\t \n");printf("\t\t\t 按“回车键”后退出系统\n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");break;default:break;}}while(choice != 8);}else if(choice == 1){printf("\t\t\t************************************************************\n");printf("\t\t\t\n");printf("\t\t\t 选择成功!按“任意键”继续...\n");printf("\t\t\t\n");printf("\t\t\t************************************************************\n");getch();do{welcome2(); //主界面printf("\t\t\t************************************************************\n");printf("\t\t\t\n");printf("\t\t\t 请选择:");scanf("%d",&choice);printf("\t\t\t \n");printf("\t\t\t************************************************************\n");switch(choice){case 1:searchMain();break;//查找学员case 2:printfALL();//打印成绩break;case 3://退出系统//释放链表空间freelist(pStu);break;default:break;}}while(choice != 3);}else{printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 输入错误!请重新输入您的选择!\n");printf("\t\t\t");scanf("%d",&choice);printf("\t\t\t \n");printf("\t\t\t************************************************************\n");}}}8.添加学生信息函数:void addstudata(){int number; //学生信息的个数system("cls");STU *ptemp = NULL;STU *pnew = NULL;printf("\n\n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 学生成绩管理系统\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 正在添加学员\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");printf("\t\t\t\n");printf("\t\t\t请输入您要添加几个学生:");scanf("%d",&number);printf("\n");for(int i=0;i<number;i++){//开辟空间pnew = (STU *)malloc(sizeof(STU));printf("\t\t\t************************************************************\n");printf("\t\t\t 正在添加第%d个学生信息:\n",i+1);printf("\t\t\t\n");printf("\t\t\t请输入学号:");scanf("%d",&pnew->num);ptemp = pStu->pnext;while(ptemp!=NULL){if(pnew->num == ptemp->num){printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 学号重复,请重新输入:\n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");printf("\t\t\t请输入学号:");scanf("%d",&pnew->num);ptemp = pStu->pnext;continue;}elseptemp = ptemp->pnext;}printf("\t\t\t请输入姓名:");scanf("%s",pnew->name);printf("\t\t\t请输入语文:");scanf("%f",&pnew->chinese);printf("\t\t\t请输入数学:");scanf("%f",&pnew->math);printf("\t\t\t请输入英语:");scanf("%f",&pnew->english);printf("\t\t\t请输入C语言:");scanf("%f",&pnew->computer);printf("\t\t\t*************************************************** *********\n");if(pStu->pnext == NULL) //说明链表里面一个数据都没有{pnew->pnext = NULL;pStu->pnext = pnew;}else //说明有数据{ptemp = pStu;while(ptemp != NULL){if(ptemp->pnext != NULL){if(pnew->num > ptemp->num && pnew->num <ptemp->pnext->num){pnew->pnext = ptemp->pnext;ptemp->pnext = pnew;break;}}else{pnew->pnext = NULL;ptemp->pnext = pnew;break;}ptemp = ptemp->pnext;}}printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 信息添加成功!\n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");}printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 按“任意键”返回上一层界面... \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");getch();}9.保存数据函数:void savedata(){STU *ptemp = pStu->pnext;system("cls");fp=fopen(filename,"w");if(fp == NULL){printf("\t\t\t文件打开失败!");}else{while(ptemp != NULL){fprintf(fp,"\t\t\t%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%d\n",ptemp->num,ptemp->name,ptemp->chinese,ptemp->math,ptemp->english,ptemp-> computer,ptemp->sum,ptemp->rank);ptemp = ptemp->pnext;}}fclose(fp);printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 保存信息成功!\n");printf("\t\t\t \n");printf("\t\t\t 按“任意键”返回上一层界面... \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");getch();}10.加密函数:void mima(){int mima;system("cls");printf("\n\n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 学生成绩管理系统\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t************************************************************\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t 请输入教师系统密码:\n");printf("\t\t\t (默认密码:123)\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t 温馨提示:教师系统密码由教务处设定,教师无权限修改!\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t************************************************************\n");printf("\t\t\t");scanf("%d",&mima);printf("\n");if(mima != 123){printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 密码错误!若忘记密码请联系教务处!\n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");exit(0);}fflush(stdin);printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 登陆成功!\n");printf("\t\t\t \n");printf("\t\t\t 按回车键继续... \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");getch();}11.修改学生的信息(按照学号)函数:void editstu1(STU *ptemp){int num;float score;int sub;system("cls");printf("\n\n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 学生成绩管理系统\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t************************************************************\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t 正在修改学生的信息\n");printf("\t\t\t\n");printf("\t\t\t\n");printf("\t\t\t************************************************************\n");printf("\t\t\t\n");printf("\t\t\t请输入您要编辑学生的学号: ");scanf("%d",&num); printf("\n");ptemp = ptemp->pnext; //实参pSTU->形参ptemp ptemp指向头结点 ptemp指向第一个有数据的空间while(ptemp!=NULL){if(ptemp->num==num) //找到了{printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t学号\t姓名\t语文\t数学\t英语\tc语言\t总分\n");printf("\t\t\t%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n",ptemp->num,ptemp->name,ptemp->chinese,ptemp->math,ptemp->english,ptemp->computer,ptemp->sum);printf("\t\t\t\n");printf("\t\t\t************************************************************\n");printf("\t\t\t请输入需要修改该学生的成绩科目:\n");printf("\n");printf("\t\t\t(1、语文 2、数学 3、英语 4、C语言)\n");printf("\t\t\t");scanf("%d",&sub);printf("\n");switch(sub){case 1:printf("\t\t\t请输入修改后的语文成绩:\n");printf("\t\t\t");scanf("%f",&score);printf("\n");ptemp->chinese=score;break;case 2:printf("\t\t\t请输入修改后的数学成绩:\n");printf("\t\t\t");scanf("%f",&score);printf("\n");ptemp->math=score;break;case 3:printf("\t\t\t请输入修改后的英语成绩:\n");printf("\t\t\t");scanf("%f",&score);printf("\n");ptemp->english=score;break;case 4:printf("\t\t\t请输入修改后的c语言成绩:\n");printf("\t\t\t");scanf("%f",&score);printf("\n");ptemp->computer=score;break;default:break;}printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t 修改成功!\n");printf("\t\t\t\n");printf("\t\t\t 按回车键继续... \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");getch();return;}ptemp = ptemp->pnext;}printf("\t\t\t************************************************************\n");printf("\t\t\t\n");printf("\t\t\t 查无此人!\n");printf("\t\t\t\n");printf("\t\t\t 按回车键继续...\n");printf("\t\t\t\n");printf("\t\t\t************************************************************\n");getch();}12.修改学生的信息(按照姓名)函数:void editstu2(STU *ptemp){int num;char name[20];float score;int sub;system("cls");printf("\n\n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 学生成绩管理系统\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t 正在修改学生的信息\n");printf("\t\t\t \n");printf("\t\t\t \n");printf("\t\t\t************************************************************\n");printf("\t\t\t请输入您要编辑学生的姓名:");scanf("%s",name); printf("\n");ptemp = ptemp->pnext; //实参pSTU->形参ptemp ptemp指向头结点 ptemp指向第一个有数据的空间int n=0;while(ptemp!=NULL){if(!strcmp(ptemp->name,name)) //找到了{if(n == 0){printf("\t\t\t************************************************************\n");。