barriers / 阅读 / 详情

c语言程序设计的内容简介

2023-09-09 17:41:23
共1条回复
coco

本书采用“案例引导,任务驱动”的编写方式,深入浅出地讲解了C程序设计的基本方法;通过“案例展示—归纳总结—模仿练习—自主设计”的学习模式,使读者循序渐进地掌握C语言的编程方法和思想,提高动手能力。全书案例按照“任务要求—问题分析—程序详解—归纳总结”顺序组织,注重培养读者先进行算法描述后进行编程实践的良好编程习惯,使读者逐步掌握用计算机解决实际问题的方法。全书叙述严谨,实例丰富,内容详尽、难易适中、重点突出,并将指针等较难理解的知识分解到多章讲解,降低了读者学习的难度。

全书分为8章,主要内容包括C语言基础知识、算法、C程序的控制结构、数组与指针、函数、结构体与共用体、文件操作和C语言课程设计。

本书适合作为高等院校计算机专业学生的教材,也可作为自学C语言程序设计的参考用书。

相关推荐

c语言课程设计论文

我写过此论文,不过成绩不理想。难的是参考书籍不多。
2023-09-01 22:11:161

c语言课程设计的课程介绍

通过学习C语言程序设计,掌握高级语言程序设计的基本知识,掌握面向过程程序设计和软件开发的基本方法,学会用C语言解决本专业的实际问题,提高分析问题和解决问题的能力。1、课程性质 ,《C语言程序设计》是电子信息相关专业的专业能力模块课程。2、课程与系列产品或项目设计与开发流程的关联该课程是嵌入式系列产品程序设计的基础。3、课程目标通过“篮球赛计时计分系统程序设计”等5个案例的学习与实践,培养学生运用C语言程序设计的知识,解决常用嵌入式系统程序开发问题的能力。4、与前后续课程的关系后续课程:《模块电路功能编程》、《机器人编程与控制》。
2023-09-01 22:11:321

学生成绩记录薄 c语言 课程设计报告

C语言程序设计报告课题名称:学生成绩管理1 系统概述:本程序为一个学生成绩管理系统,对学生的成绩进行管理,学生的信息包括学号,姓名,学期,三门课程的成绩,输入这些信息,本程序可以自动计算总成绩,可以按高分到低分进行排名,并对输入信息的人数进行汇总.2 数据结构设计: (1)结构体; (2)数组的设计:运用指针代替数组,使用指针来建立线性表,使程序更加简洁,可读性更强.3 各函数的设计:函数原型:void InitList(SqLinkList &L);功能: 创建一个空的线性链表;入口参数:L为要创建的线性链表;出口参数:创建链表的L.head为空,L.length为0;返回值: 无; 函数原型:void EmptyLinkList(SqLinkList &L);功能: 清空整个线性链表;入口参数:L为要清空的链表名称;出口参数:若清空成功则链表长度L.length为0;返回值: 无; 函数原型:int ScanE(ElemType &e);功能: 输入学生信息;入口参数:e为要输入信息的学生名称;出口参数:e.num保存学号,e.name保存姓名,e.team保存所在学期,e.s1,e.s2,e.s3分别保存三门课程的成绩;返回值: 输入合法返回1,否则返回0;错误处理:若学号、姓名等输入不合法会有提示及重输; 函数原型:Status SqLinkListAppend(SqLinkList &L,ElemType e);功能: 追加一个结点到线性链表中;入口参数:e为所追加的结点名称,L为e所追加到的线性链表的名称;出口参数:若追加成功,则e为头结点,链表长度L.length增1;返回值: 若追加成功返回1; 函数原型:Link SearchNode(SqLinkList L,int NUM);功能: 查找学号为NUM的学生;入口参数:查找的链表名称L,学号NUM;出口参数:若找到结点指针p指向该结点,否则指向空结点;返回值: 结点指针p; 函数原型:void SearchTeam(SqLinkList L,int team);功能: 查找学期为team的所有记录并输出其信息;入口参数:查找的链表名称L,要查找的学期team;出口参数:无;返回值: 无; 函数原型:void SearchUnpass(SqLinkList L,float s1,float s2,float s3);功能: 查找所有有挂科记录的学生并输出其信息;入口参数:查找的链表名称L,要查找的各门学科成绩s1,s2,s3;出口参数:无;返回值: 无; 函数原型:void SqLinkListSearch(SqLinkList L);功能: 对链表进行分类查找;入口参数:要查找的链表名称L;出口参数:无;返回值: 无; 函数原型: void inputData(SqLinkList &L);功能: 输入数据,并追加一个结点;入口参数: L为要追加结点的链表名称;出口参数: 无;返回值: 无; 函数原型:void SqLinkListTraverse(SqLinkList L);功能: 输出链表中所有学生成绩列表;入口参数:L为要输出信息的链表名称;出口参数:无;返回值: 无; 函数原型:void PrintE(ElemType e);功能: 输出一个结点的所有信息;入口参数:要输出的结点名称e;出口参数:无;返回值: 无;4 使用程序的说明:本程序为一个学生成绩管理系统。对学生的成绩信息进行管理,学生的信息包括学号、姓名、学期、三门课程的成绩、平均成绩、名次。本管理系统实现学生的学号、姓名、学期、每门课程的成绩的录入,并自动按平均分排名,使用时按屏幕上的提示,输入使用代码.如下图所示: 例如:输入代码数字”1”,程序执行”输入学生成绩或已存在的学生成绩进行修改”这条小程序.输入学生个人信息后,如下图所示: 如此分别输入相应的程序代码,就执行相应的程序段. 如下的程序是按学号进行成绩排名: 当输入”6”时,执行相应的程序,即汇总一共输入学生的人数: 5 总结和体会:通过对C语言学习,尤其是这学期本班开展C语言双语教学,体会到学习难的同时,也真正了解到C语言作为一门高级的计算机语言的强大功能,特别是在当今实际生活,生产,办公,信息管理等方面的强大作用. 这次合作我们遇到了许多的困难。时间的紧迫,知识的不足,给我很大的压力。最终我还是还是完成了任务。团结就是力量是我这次最真切的感受。6 程序代码: void InitList(SqLinkList &L) { // 构造一个空的线性表L;L.head = 0; //头指针为空;L.length = 0; //长度初始为0;} void EmptyLinkList(SqLinkList &L){ //入口参数为整个线性表的数据,功能为清空线性表;Node *p;if(!L.head)printf("系统中不存在记录。 "); //头指针为空时没有学生录入;else { while (L.head){ //每个循环将下一结点赋值给头指针,并释放本结点空间,直至线性表清空; p=L.head; L.head=p->next; free(p); } //end while;L.length=0; //长度为0;printf("该管理系统学生信息已清空。 ");}//end else;} int ScanE(ElemType &e){ //输入一个学生的成绩数据结点。返回0为无效结点数据,1为有效结点数据;printf(" 学号:");scanf("%d",&e.num);if(e.num==0){ //学号为0输入不合法,重新输入; printf("学号输入不合法. "); return 0; }printf(" 姓名:");scanf("%s",&e.name);printf(" 学期:");scanf("%d",&e.team);while(e.team>12){ //系统只记录小于12的学期数; printf("输入的学期不能大于12,请重新输入:"); scanf("%d",&e.team);}printf(" 成绩A:");scanf("%f",&e.s1);printf(" 成绩B:");scanf("%f",&e.s2);printf(" 成绩C:");scanf("%f",&e.s3);return OK;} Status SqLinkListAppend(SqLinkList &L,ElemType e){ //追加一个结点到线性表中;Node *p;p=SearchNode(L,e.num); //查找学号为e.num的记录并将其地址赋给指针p; if (p==0){ //若不存在添加学号相同的结点,追加一个结点; p=(Node *)malloc(sizeof(Node)); if (!p) return ERROR; memcpy(&(p->data),&e,sizeof(ElemType)); p->next=L.head ; L.head=p; //追加的一个结点为首结点; L.length++; //表长度加1;}else { //如果该学号记录已存在,则进行修改操作;memcpy(&(p->data),&e,sizeof(ElemType));printf("该学生记录已经存在,已完成修改操作。 "); }return OK;} Link SearchNode(SqLinkList L,int NUM){ //查找学生记录,该学生的学号为NUM;Node *p;p=L.head; //p先指在头结点;while (p&& p->data.num !=NUM ) p=p->next; //如果该学生的学号不为NUM则查找下一个结点;return p;} void SearchTeam(SqLinkList L,int team){ //按学期查找并输出所有该学期存在的记录;Node *p;p=L.head;int n,sum=0; //sum记录该学期的学生总人数;printf("请输入您要查询的学生的学期:");scanf("%d",&n); printf(" 学号 姓名 学期 成绩A 成绩B 成绩C 平均成绩 ");while(p&&p->next){ //如果p结点和它的下一结点不为空,且该结点的学期等于要查找学期,则格式输出所有该学期学生信息;if(p->data.team==n){PrintE(p->data);sum++; //查找到一个该学期的学生记录计数加1; } p=p->next; //转向下一结点;} //end while;if(p->data.team==n){ //如果p的下一结点为空,且本结点学期为n,则格式输出该结点信息;sum++;PrintE(p->data);}if(sum==0)printf("没有这学期的记录。 ");if(sum)printf("该学期共有%d人的记录. ",sum);} void SearchUnpass(SqLinkList L,float s1,float s2,float s3){ //查找并输出有挂科的学生信息;Node *p;p=L.head;int sum=0; //sum计数挂科总人数,初始为0;printf("以下是有一门以上不及格科目的学生的成绩: "); printf(" 学号 姓名 学期 成绩A 成绩B 成绩C 平均成绩 "); while(p&&p->next){ //如果p及其下一结点为真,且该结点有一门以上科目分数低于60则输出该结点成绩并使sum计数加1; if((p->data.s1<60)||(p->data.s2<60)||(p->data.s3<60)) { PrintE(p->data); sum++; } //end if; p=p->next; //转到下一结点; } //end while; if((p->data.s1<60)||(p->data.s2<60)||(p->data.s3<60)){ //查看最后一个结点,若有挂科,sum加1并格式输出结点信息; sum++; PrintE(p->data); } if(sum==0)printf("没有不及格的记录。 "); if(sum)printf("共有%d人的挂科记录. ",sum);} void SqLinkListSearch(SqLinkList L){ //分类查找学生记录;Node *p;p=L.head;int n,reg; //reg为查询方式的指令; printf("1--按学号查询 2--按学期查询 3--挂科学生信息列表 ");printf("请您输入查询方式:");scanf("%d",&reg);if(L.length){if(reg>3)printf("对不起没有您要求的选项。 "); //若reg>3则输入不合法;else if(reg==1){ //reg==1按学号查询;printf("请输入您要查询的学生的学号:");scanf("%d",&n);while(p&&p->next&& p->data.num !=n) p=p->next; //当p和他下一结点为真时且结点数据不为要查找数据时转向下一结点; if(p->data.num==n){ //找到所要查询结点,格式输出;printf(" 学号 姓名 学期 成绩A 成绩B 成绩C 平均成绩 ");PrintE(p->data); }else printf("没有您要查找的学号。 ");} //end reg==1 if ;else if(reg==2)SearchTeam(L,p->data.team); //reg==2,调用SearchTeam函数按学期查询并输出;else if(reg==3)SearchUnpass(L,p->data.s1,p->data.s2,p->data.s3); //reg==3,调用SearchUnpass函数,输出全部有挂科记录的学生信息;}//end if;else printf("系统中无记录. ");} void inputData(SqLinkList &L){ //请求输入学生成绩,则追加一个结点并输入;ElemType e;if (ScanE(e)) SqLinkListAppend(L,e); //输入数据,追加一个结点;} void SqLinkListTraverse(SqLinkList L){ //所有学生信息列表输出;Node *p;char c;p=L.head;if(p) //非空表;{printf(" 学号 姓名 学期 成绩A 成绩B 成绩C 平均成绩 ");for (p=L.head ;p;p=p->next )PrintE(p->data); //从第一个结点开始输出所有信息直到结点为空; }else printf("系统中无记录。 "); //空表;c=getchar();} void PrintE(ElemType e){ //输出各科成绩和平均成绩;printf("%d %s %d %f %f %f %f ",e.num,e.name,e.team,e.s1,e.s2,e.s3,(e.s1+e.s2+e.s3)/3);//格式输出学生的学号、姓名、学期、A、B、C三门成绩以及平均成绩;}
2023-09-01 22:11:521

c语言的课程设计问题该怎么做?

有偿帮助解决,如有需要请浏览主页联系~
2023-09-01 22:12:184

C语言课程设计

已调通,大致功能相当#include <stdio.h> #include <stdlib.h> /*其它说明*/ #include <string.h> /*字符串函数*/ #include <time.h>#define LEN sizeof(STUDENT) typedef struct stu /*定义结构体数组用于缓存数据*/ { char num[6]; char name[5]; int score[3]; int sum; float average; int order; struct stu *next; }STUDENT; /*初始化函数*/ STUDENT *Init() { return NULL; /*返回空指针*/ } /*菜单选择函数*/ int Menu_Select() { int n; struct tm *pt; /*定义时间结构体*/ time_t t; t=time(NULL); pt=localtime(&t); /*读取系统日期并把它放到结构体中*/ printf(" 按任一键进入主菜单...... "); /*按任一键进入主菜单*/ //getch(); /*从键盘读取一个字符,但不显示于屏幕*/ system("pause"); system("cls"); /*清屏*/ printf("******************************************************************************** "); printf(" 欢迎 Welcome to "); printf(" 使用学生管理系统1.0 "); printf("*************************************MENU*************************************** "); printf(" 1. 输入学生成绩记录 Enter the record "); /*输入学生成绩记录*/ printf(" 2. 显示 Print the record "); /*显示*/ printf(" 3. 寻找 Search record on name "); /*寻找*/ printf(" 4. 删除 Delete a record "); /*删除*/ printf(" 5. 排序 Sort to make New a file "); /*排序*/ printf(" 6. 插入 Insert record to list "); /*插入*/ printf(" 7. 保存 Save the file "); /*保存*/ printf(" 8. 读取 Load the file "); /*读取*/ printf(" 9. 退出 Quit "); /*退出*/ printf(" ******************************************************************************** "); printf(" 当前系统日期:%d-%d-%d ",pt->tm_year+1900,pt->tm_mon+1,pt->tm_mday); /*显示当前系统日期*/ do { printf(" 输入你的选择Enter your choice(1~9):"); fflush(stdin); scanf("%d",&n); }while(n<1||n>9); /*如果选择项不在1~9之间则重输*/ return(n); /*返回选择项,主函数根据该数调用相应的函数*/ } /*输入函数*/ STUDENT *Create() { int i,s; STUDENT *head=NULL,*p; /* 定义函数.此函数带回一个指向链表头的指针*/ system("cls"); for(;;) { p=(STUDENT *)malloc(LEN); /*开辟一个新的单元*/ if(!p) /*如果指针p为空*/ { printf(" 输出内存溢出. Out of memory."); /*输出内存溢出*/ return (head); /*返回头指针,下同*/ } printf("输入学号Enter the num(0:list end):"); scanf("%s",p->num); if(p->num[0]=="0") break; /*如果学号首字符为0则结束输入*/ printf("输入名字Enter the name:"); scanf("%s",p->name); printf("请输入3门成绩Please enter the %d scores ",3); /*提示开始输入成绩*/ s=0; /*计算每个学生的总分,初值为0*/ for(i=0;i<3;i++) /*3门课程循环3次*/ { do { printf("成绩score%d:",i+1); scanf("%d",&p->score[i]); if(p->score[i]<0 || p->score[i]>100) /*确保成绩在0~100之间*/ printf("数据错误,请重新输入 Data error,please enter again. "); }while(p->score[i]<0 || p->score[i]>100); s=s+p->score[i]; /*累加各门成绩*/ } p->sum=s; /*将总分保存*/ p->average=(float)s/3; /*先用强制类型转换将s转换成float型,再求平均值*/ p->order=0; /*未排序前此值为0*/ p->next=head; /*将头结点做为新输入结点的后继结点*/ head=p; /*新输入结点为新的头结点*/ } return(head); } /* 显示全部记录函数*/ void Print(STUDENT *head) { int i=0; /* 统计记录条数*/ STUDENT *p; /*移动指针*/ system("cls"); p=head; /*初值为头指针*/ printf(" ************************************STUDENT************************************ "); printf("------------------------------------------------------------------------------- "); printf("| Rec | Num | Name | Sc1 | Sc2 | Sc3 | Sum | Ave | Order | "); printf("------------------------------------------------------------------------------- "); while(p!=NULL) { i++; printf("| %3d | %4s | %-4s | %3d | %3d | %3d | %3d | %4.2f | %-5d| ", i, p->num,p->name,p->score[0],p->score[1],p->score[2],p->sum,p->average,p->order); p=p->next; } printf("------------------------------------------------------------------------------- "); printf("**************************************END************************************** "); } /*查找记录函数*/ void Search(STUDENT *head) { STUDENT *p; /* 移动指针*/ char s[5]; /*存放姓名用的字符数组*/ system("cls"); printf("请输入个姓名来查找. Please enter name for searching. "); scanf("%s",s); p=head; /*将头指针赋给p*/ while(strcmp(p->name,s) && p != NULL) /*当记录的姓名不是要找的,或指针不为空时*/ p=p->next; /*移动指针,指向下一结点*/ if(p!=NULL) /*如果指针不为空*/ { printf(" *************************************FOUND************************************ "); printf("------------------------------------------------------------------------------- "); printf("| Num | Name | sc1 | sc2 | sc3 | Sum | Ave | Order | "); printf("------------------------------------------------------------------------------- "); printf("| %4s | %4s | %3d | %3d | %3d | %3d | %4.2f | %-5d| ", p->num,p->name,p->score[0],p->score[1],p->score[2],p->sum,p->average,p->order); printf("------------------------------------------------------------------------------- "); printf("***************************************END************************************** "); } else printf(" 没有该学生 There is no num %s student on the list. ",s); /*显示没有该学生*/ } /*删除记录函数*/ STUDENT *Delete(STUDENT *head) { //int n; STUDENT *p1,*p2; /*p1为查找到要删除的结点指针,p2为其前驱指针*/ char c,s[6]; /*s[6]用来存放学号,c用来输入字母*/ system("cls"); printf("请输入要删除的学号 Please enter the Deleted num: "); scanf("%s",s); p1=p2=head; /*给p1和p2赋初值头指针*/ while(strcmp(p1->num,s) && p1 != NULL) /*当记录的学号不是要找的,或指针不为空时*/ { p2=p1; /*将p1指针值赋给p2作为p1的前驱指针*/ p1=p1->next; /*将p1指针指向下一条记录*/ } if(strcmp(p1->num,s)==0) /*学号找到了*/ { printf("**************************************FOUND************************************ "); printf("------------------------------------------------------------------------------- "); printf("| Num | Name | sc1 | sc2 | sc3 | Sum | Ave | Order | "); printf("------------------------------------------------------------------------------- "); printf("| %4s | %4s | %3d | %3d | %3d | %3d | %4.2f | %-5d| ", p1->num,p1->name,p1->score[0],p1->score[1],p1->score[2],p1->sum,p1->average,p1->order); printf("------------------------------------------------------------------------------- "); printf("***************************************END************************************** "); printf(" 是否要删除,输入Y删除,N则退出 Are you sure to Delete the student Y/N ?"); /*提示是否要删除,输入Y删除,N则退出*/ for(;;) { scanf("%c",&c); if(c=="n"||c=="N") break; /*如果不删除,则跳出本循环*/ if(c=="y"||c=="Y") { if(p1==head) /*若p1==head,说明被删结点是首结点*/ head=p1->next; /*把第二个结点地址赋予head*/ else p2->next=p1->next; /*否则将一下结点地址赋给前一结点地址*/ //n=n-1; printf(" 学号为(Num): %s 学生以被删除(student have been Deleted.) ",s); printf("别忘了保存. Don"t forget to Save. ");break; /*删除后就跳出循环*/ } } } else printf(" 没有这个学生在表上 There is no num %s student on the list. ",s); /*找不到该结点*/ return(head); } /*排序函数*/ STUDENT *Sort(STUDENT *head) { int i=0; /*保存名次*/ STUDENT *p1,*p2,*t,*temp; /*定义临时指针*/ temp=head->next; /*将原表的头指针所指的下一个结点作头指针*/ head->next=NULL; /*第一个结点为新表的头结点*/ while(temp!=NULL) /*当原表不为空时,进行排序*/ { t=temp; /*取原表的头结点*/ temp=temp->next; /*原表头结点指针后移*/ p1=head; /*设定移动指针p1,从头指针开始*/ p2=head; /*设定移动指针p2做为p1的前驱,初值为头指针*/ while(t->average<p1->average&&p1!=NULL) /*作成绩平均分比较*/ { p2=p1; /*待排序点值小,则新表指针后移*/ p1=p1->next; } if(p1==p2) /*p1==p2,说明待排序点值大,应排在首位*/ { t->next=p1; /*待排序点的后继为p*/ head=t; /*新头结点为待排序点*/ } else /*待排序点应插入在中间某个位置p2和p1之间,如p为空则是尾部*/ { t->next=p1; /*t的后继是p1*/ p2->next=t; /*p2的后继是t*/ } } p1=head; /*已排好序的头指针赋给p1,准备填写名次*/ while(p1!=NULL) /*当p1不为空时,进行下列操作*/ { i++; /*结点序号*/ p1->order=i; /*将结点序号赋值给名次*/ p1=p1->next; /*指针后移*/ } printf("排序成功 Sorting is sucessful. "); /*排序成功*/ return (head); } /*插入记录函数*/ STUDENT *Insert(STUDENT *head,STUDENT *New) { STUDENT *p0,*p1,*p2; //int n; int sum1,i; p1=head; /*使p1指向第一个结点*/ p0=New; /*p0指向要插入的结点*/ printf(" Please enter a New record. "); /*提示输入记录信息*/ printf("输入学号Enter the num:"); scanf("%s",New->num); printf("输入名字Enter the name:"); scanf("%s",New->name); printf("Please enter the %d scores. ",3); sum1=0; /*保存新记录的总分,初值为0*/ for(i=0;i<3;i++) { do { printf("成绩score%d:",i+1); scanf("%d",&New->score[i]); if(New->score[i]>100||New->score[i]<0) printf("数据错误Data error,please enter again. "); }while(New->score[i]>100||New->score[i]<0); sum1=sum1+New->score[i]; /*累加各门成绩*/ } New->sum=sum1; /*将总分存入新记录中*/ New->average=(float)sum1/3; New->order=0; if(head==NULL) /*原来的链表是空表*/ { head=p0; p0->next=NULL; } /*使p0指向的结点作为头结点*/ else { while((p0->average<p1->average)&&(p1->next!=NULL)) { p2=p1; /*使p2指向刚才p1指向的结点*/ p1=p1->next; /*p1后移一个结点*/ } if(p0->average>=p1->average) { if(head==p1)head=p0; /*插到原来第一个结点之前*/ else p2->next=p0; /*插到p2指向的结点之后*/ p0->next=p1; } else { p1->next=p0; p0->next=NULL; } /*插到最后的结点之后*/ } //n=n+1; /*结点数加1*/ head=Sort(head); /*调用排序的函数,将学生成绩重新排序*/ printf(" 学生Student %s 已被更新have been inserted. ",New->name); printf("不要忘了保存Don"t forget to Save the New file. "); return(head); } /*保存数据到文件函数*/ void Save(STUDENT *head) { FILE *fp; /*定义指向文件的指针*/ STUDENT *p; /* 定义移动指针*/ char outfile[10]; printf("输出文件例如:c:\score Enter outfile name,for example c:\score "); scanf("%s",outfile); if((fp=fopen(outfile,"w"))==NULL) /*为输出打开一个二进制文件,为只写方式*/ { printf("打不开文件Cannot open the file "); return; /*若打不开则返回菜单*/ } printf(" 保存中...Saving the file...... "); p=head; /*移动指针从头指针开始*/ while(p!=NULL) /*如p不为空*/ { fwrite(p,LEN,1,fp); /*写入一条记录*/ p=p->next; /*指针后移*/ } fclose(fp); /*关闭文件*/ printf("保存成功....Save the file successfully! "); } /* 从文件读数据函数*/ STUDENT *Load() { STUDENT *p1,*p2,*head=NULL; /*定义记录指针变量*/ FILE *fp; /* 定义指向文件的指针*/ char infile[10]; printf("倒入文件例如:c:\score Enter infile name,for example c:\score "); scanf("%s",infile); if((fp=fopen(infile,"r"))==NULL) /*打开一个二进制文件,为只读方式*/ { printf("打不开文件Can not open the file. "); return(head); } printf(" 寻找文件...Loading the file! "); p1=(STUDENT *)malloc(LEN); /*开辟一个新单元*/ if(!p1) { printf("内存溢出!Out of memory! "); return(head); } head=p1; /*申请到空间,将其作为头指针*/ while(!feof(fp)) /*循环读数据直到文件尾结束*/ { if(fread(p1,LEN,1,fp)!=1) break; /*如果没读到数据,跳出循环*/ p1->next=(STUDENT *)malloc(LEN); /*为下一个结点开辟空间*/ if(!p1->next) { printf("Out of memory! "); return (head); } p2=p1; /*使p2指向刚才p1指向的结点*/ p1=p1->next; /*指针后移,新读入数据链到当前表尾*/ } p2->next=NULL; /*最后一个结点的后继指针为空*/ fclose(fp); printf(" 你成功的从文件中读取了数据! You have success to read data from the file! "); return (head); } /*主函数界面*/ int main() { STUDENT *head,New; head=Init(); //链表初始化,使head的值为NULL for(;;) //循环无限次 { switch(Menu_Select()) { case 1:head=Create();break; case 2:Print(head);break; case 3:Search(head);break; case 4:head=Delete(head);break; case 5:head=Sort(head);break; case 6:head=Insert(head,&New);break; //&New表示返回地址 case 7:Save(head);break; case 8:head=Load(); break; case 9:exit(0); //如菜单返回值为9则程序结束 } } return 0;}
2023-09-01 22:12:341

C语言课程设计

告诉个邮箱 或者QQ 可以传的,粘贴不了
2023-09-01 22:12:513

C语言课程设计

3、班级通讯录管理系统设计与实现 以本班同学的具体数据为背景,设计一个本班同学实现以下功能: 1)通讯录编辑(添加、删除) ; 2)按不同的项进行查找; 3)对已存在的通讯录按不同的项排序; 4)将通讯录写入文件; 5)从文件读入通讯录。 备注:通讯录至少应该有以下数据项:姓名,地址,电话,邮编,E-mail。 链接: https://pan.baidu.com/s/1mq8kqN3BvK0IvZBEUP9Oag 提取码: 1111 6、成绩记录簿设计与实现 实现以下功能: 1)创建信息并以磁盘文件保存; 2)读取磁盘文件并显示输出所有学生的成绩; 3)按学号或姓名查询成绩; 4)添加成绩记录; 5)修改指定姓名或学号的学生的成绩并可存盘; 6)显示输出60分以下、60 79、80 89、90分以上各分数段的学生信息。 备注:每个学生信息包括:学号、姓名、C语言成绩。 链接: https://pan.baidu.com/s/1mq8kqN3BvK0IvZBEUP9Oag 提取码: 1111 7、学生籍贯信息记录簿设计与实现 实现以下功能: 1)创建信息并以磁盘文件保存; 2)读取磁盘文件并显示输出所有学生的籍贯信息; 3)按学号或姓名查询其籍贯; 4)按籍贯查询并输出该籍贯的所有学生; 5)能添加、删除和修改学生的籍贯信息; 6)显示输出四川籍和非四川籍学生的信息并可分别存盘。 备注:每个学生信息包括:学号、姓名、籍贯 链接: https://pan.baidu.com/s/1mq8kqN3BvK0IvZBEUP9Oag 提取码: 1111 9、图书信息管理系统设计与实现 实现以下功能: 1)系统以菜单方式工作; 2)图书信息录入功能(图书信息用文件保存); 3)图书信息浏览功能; 4)查询和排序功能; 备注:图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。 链接: https://pan.baidu.com/s/1mq8kqN3BvK0IvZBEUP9Oag 提取码: 1111 10、学生信息管理系统设计与实现 实现以下功能: 1)系统以菜单方式工作; 2)学生信息录入功能(学生信息用文件保存) ; 3)学生信息浏览功能; 4)查询、排序功能(至少两种查询依据和两种排序依据); 5)学生信息删除、修改功能。 备注:学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E- mail等。 链接: https://pan.baidu.com/s/1mq8kqN3BvK0IvZBEUP9Oag 提取码: 1111 12、职工工作量统计系统设计与实现 完成以下功能: 1)输入职工工号和完成的产品数量,程序允许同- -职工有多次输入,由程序对 其完成的产品数量实现累计; 2)按完成数量对职工排序,并确定名次; 3)按完成的产品数量由多到少的顺序,输出名次、同一名次的职工人数及他们 的工号(工号由小到大顺序输出)。 链接: https://pan.baidu.com/s/1mq8kqN3BvK0IvZBEUP9Oag 提取码: 1111
2023-09-01 22:13:301

c语言课程设计(学生成绩管理)

1.用链表读入数据2.用冒泡法排序3.输出数据有不懂的再问我!
2023-09-01 22:13:423

C语言课程设计,贪吃蛇应该怎么做?

2.1程序功能介绍贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。2.2程序整体设计说明一个游戏要有开始部分,运行部分,结束部分(实际上开始部分与运行部分是一体的)。2.2.1设计思路这个程序的关键是表示蛇的图形以及蛇的移动。用一个小矩形表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用两节表示。移动时必须从蛇头开始,所以蛇不能向相反方向移动,也就是蛇尾不能改作蛇头。如果不按任何键,蛇自行在当前方向上前移,当游戏者按了有效的方向键后,蛇头朝着指定的方向移动,一步移动一节身体,所以当按了有效的方向键后,先确定蛇头的位置,然后蛇身体随着蛇头移动,图形的实现是从蛇头的新位置开始画出蛇,这时由于没有庆平的原因,原来蛇的位置和新蛇的位置差一个单位,所以看起来社会多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现和消失也是画矩形块和覆盖矩形块2.2.2数据结构设计及用法说明 开始部分:游戏是运行在图形模式下的,所以第一步一定是初始化图形模式,接着要有开始的界面,就像书有封面一样,我设置了一个游戏的标题画面,除了游戏标题画面我还设置了一个欢迎画面。标题画面以后,还要为游戏的运行部分作初始化,包括绘制游戏运行时的背景,对游戏某些重 要变量的初始化。运行部分:作为游戏的核心部分,这里包括的函数比较多,也就是模块比较多,首先让我模拟一下贪吃蛇的游戏模式:某个世界上突然出现一条蛇,它很短,它的运动神经异常,它没法停止自己的多动症在它的世界里就只有食物,它很饿,也很贪吃;同样在不明原因的情况下,食物从天而降,可惜的是没有落到嘴边;饥饿的主人公,不管它有没有毒,也不问食物的来历,径直向食物爬去;它吃到食物啦,它超出想象的同化能力让食物很快的成为自己身体的一部分,它的身子变长啦。当它吃到第一颗食物时,上帝有给它第二颗,于是它吃了第二颗,于是又变长了,于是又有第三颗……它的身子是一直的加长,它不管自己过长身体的麻烦——转身不便,继续吃下去,现在它是直接把巴张大,好让食物有个绿色通道。但是在某天的下午,它咬到了自己,它才想起自己是一条毒蛇,于是晕死过去(不是毒死);又或者它往食物冲锋的时候,它失去控制,撞到了墙上。第一轮循环:第一步,出现食物;第二步,蛇不停运动;第三步,检查蛇是撞到自己或墙壁;由第四步起游戏有两条支线(A、B):A :第四步,蛇没有碰到自己或墙壁,蛇继续前进,绘制蛇的动作;第五步,判断蛇是否吃到食物,如果蛇吃到食物,身子变长,原来的食物消失;第六步,让玩家输入控制指令,让蛇在下一轮循环的第二步改变运动方向;第七步,第二轮循环的第一步,重复第一轮的步骤;B:第四步,蛇碰到自己或墙壁,终止游戏。结束部分:游戏结束时,显示“GAME OVER”,已经是约定俗成的规律了,我的游戏也不例外。除了游戏结束画面外,我还设置了一个游戏退出画面,“善始善终”嘛。有了上述的大致划分,我把整个程序划分成(13+2)个模块(其实就是函数)2.2.3程序结构(流程图)图2.1流程图依据所需要处理的任务要求,规划输入数据和输出结果,决定存放数据的数据结构。C语言中数据结构集中体现在数据类型上,因此在进行C语言程序设计时,应统筹规划程序中所使用的变量,数组,指针等,以及它们的类型等。这点是很重要的,如果在此期间选择不合适的变量或者数组,将来修改就十分困难。现在分析一下贪吃蛇游戏中的元素,继而得出与它们对应的在程序中的描述:蛇:基本描述:长度,颜色,位置。对应数据与数据类型:长度—虽然可以用坐标表示,但是这样的话,运算量将很大,所以换算成较大的单位—节数,以固定长度的每节描述;坐标--整型;颜色--整型; 位置--X,Y坐标。增加的描述:蛇运动的方向,蛇的生命。对应数据与数据类型:这些描述是为了与程序的按键的输入部分与判断游戏结束部分相联系而设的。方向只有四个方向:上下左右。可以设置与之对应的四个整型数:3、4、2、1。生命就只有两种情况:死或生,对应0或1。食物: 基本描述:颜色,位置。对应数据与数据类型:由于颜色设成固定的,所以不再讨论。位置—X、Y坐标。增加的描述:食物的存在。对应数据与数据类型:这是为了避免重复出现食物而设置的,与绘制食物的函数有联系。只有两个值:0或1(没有食物或有食物)其他的元素:墙,由于它在显示上是作为背景而存在的,所以并没有什么说明实际的墙壁就是四条直线组成的边框,由坐标描述。还需要的变量:键盘键入的键值(作为全局变量,整型);经常要使用的循环变量;自定义的填充图案;说明文字的字符数组;游戏的记分;游戏的速度(蛇的速度)。图2.2蛇的不停运动的关键算法的流程图2.2.4各模块的功能及程序说明主要模块的实现思路和算法的流程图说明:关键所在——蛇不停移动的Snakemove():蛇的不停移动,就是蛇的下一节取代前一节的位置,在计算机中就是蛇下一节的位置坐标变成前一节的位置坐标。在上文中,已定义蛇的位置坐标为数组类型,一组坐标对应一节的位置,假设有i+1节,由0到i节,第i节的坐标取第i-1节的坐标,第i-1节的坐标取第i-2节的坐标……直到第1节取第0节的坐标。而第0节的坐标,即蛇头的坐标要往某个方向变化,变化量为蛇每节的长度。蛇的这种坐标轮换需要循环语句使其继续下去。 2.2.5程序结果运行程序得到如下初始界面图:图2.3程序结果图用一个小矩形表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用两节表示:图2.4程序结果图蛇没有碰到自己或墙壁,蛇继续前进:图2.5程序结果图游戏结束时,显示“GAME OVER”图2.6程序结果图2.3程序源代码及注释#define N 200#include <graphics.h>#include <stdlib.h>#include <dos.h>#define LEFT 0x4b00#define RIGHT 0x4d00#define DOWN 0x5000#define UP 0x4800#define ESC 0x011bint i,key;int score=0;/*得分*/int gamespeed=50000;/*游戏速度自己调整*/struct Food{ int x;/*食物的横坐标*/ int y;/*食物的纵坐标*/ int yes;/*判断是否要出现食物的变量*/}food;/*食物的结构体*/struct Snake{ int x[N]; int y[N]; int node;/*蛇的节数*/ int direction;/*蛇移动方向*/ int life;/* 蛇的生命,0活着,1死亡*/}snake;void Init(void);/*图形驱动*/void Close(void);/*图形结束*/void DrawK(void);/*开始画面*/void GameOver(void);/*结束游戏*/void GamePlay(void);/*玩游戏具体过程*/void PrScore(void);/*输出成绩*//*主函数*/void main(void){ Init();/*图形驱动*/ DrawK();/*开始画面*/ GamePlay();/*玩游戏具体过程*/ Close();/*图形结束*/}/*图形驱动*/void Init(void){ int gd=DETECT,gm; registerbgidriver(EGAVGA_driver); initgraph(&gd,&gm,"c:\program files\winyes\tc20h\bgi"); cleardevice();}/*开始画面,左上角坐标为(50,40),右下角坐标为(610,460)的围墙*/void DrawK(void){/*setbkcolor(LIGHTGREEN);*/ setcolor(11); setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*设置线型*/ for(i=50;i<=600;i+=10)/*画围墙*/ { rectangle(i,40,i+10,49); /*上边*/ rectangle(i,451,i+10,460);/*下边*/ } for(i=40;i<=450;i+=10) { rectangle(50,i,59,i+10); /*左边*/ rectangle(601,i,610,i+10);/*右边*/ }}/*玩游戏具体过程*/void GamePlay(void){ randomize();/*随机数发生器*/ food.yes=1;/*1表示需要出现新食物,0表示已经存在食物*/ snake.life=0;/*活着*/ snake.direction=1;/*方向往右*/ snake.x[0]=100;snake.y[0]=100;/*蛇头*/ snake.x[1]=110;snake.y[1]=100; snake.node=2;/*节数*/ PrScore();/*输出得分*/ while(1)/*可以重复玩游戏,压ESC键结束*/ { while(!kbhit())/*在没有按键的情况下,蛇自己移动身体*/ { if(food.yes==1)/*需要出现新食物*/ { food.x=rand()%400+60; food.y=rand()%350+60; while(food.x%10!=0)/*食物随机出现后必须让食物能够在整格内,这样才可以让蛇吃到*/ food.x++; while(food.y%10!=0) food.y++; food.yes=0;/*画面上有食物了*/ } if(food.yes==0)/*画面上有食物了就要显示*/ { setcolor(GREEN); rectangle(food.x,food.y,food.x+10,food.y-10); } for(i=snake.node-1;i>0;i--)/*蛇的每个环节往前移动,也就是贪吃蛇的关键算法*/ { snake.x[i]=snake.x[i-1]; snake.y[i]=snake.y[i-1]; } /*1,2,3,4表示右,左,上,下四个方向,通过这个判断来移动蛇头*/ switch(snake.direction) { case 1:snake.x[0]+=10;break; case 2: snake.x[0]-=10;break; case 3: snake.y[0]-=10;break; case 4: snake.y[0]+=10;break; } for(i=3;i<snake.node;i++)/*从蛇的第四节开始判断是否撞到自己了,因为蛇头为两节,第三节不可能拐过来*/ { if(snake.x[i]==snake.x[0]&&snake.y[i]==snake.y[0]) { GameOver();/*显示失败*/ snake.life=1; break; } } if(snake.x[0]<55||snake.x[0]>595||snake.y[0]<55|| snake.y[0]>455)/*蛇是否撞到墙壁*/ { GameOver();/*本次游戏结束*/ snake.life=1; /*蛇死*/ } if(snake.life==1)/*以上两种判断以后,如果蛇死就跳出内循环,重新开始*/ break; if(snake.x[0]==food.x&&snake.y[0]==food.y)/*吃到食物以后*/ { setcolor(0);/*把画面上的食物东西去掉*/ rectangle(food.x,food.y,food.x+10,food.y-10); snake.x[snake.node]=-20;snake.y[snake.node]=-20; /*新的一节先放在看不见的位置,下次循环就取前一节的位置*/ snake.node++;/*蛇的身体长一节*/ food.yes=1;/*画面上需要出现新的食物*/ score+=10; PrScore();/*输出新得分*/ } setcolor(4);/*画出蛇*/ for(i=0;i<snake.node;i++) rectangle(snake.x[i],snake.y[i],snake.x[i]+10, snake.y[i]-10); delay(gamespeed); setcolor(0);/*用黑色去除蛇的的最后一节*/ rectangle(snake.x[snake.node-1],snake.y[snake.node-1], snake.x[snake.node-1]+10,snake.y[snake.node-1]-10); } /*endwhile(!kbhit)*/ if(snake.life==1)/*如果蛇死就跳出循环*/ break; key=bioskey(0);/*接收按键*/ if(key==ESC)/*按ESC键退出*/ break; else if(key==UP&&snake.direction!=4)/*判断是否往相反的方向移动*/ snake.direction=3; else if(key==RIGHT&&snake.direction!=2) snake.direction=1; else if(key==LEFT&&snake.direction!=1) snake.direction=2; else if(key==DOWN&&snake.direction!=3) snake.direction=4; }/*endwhile(1)*/}/*游戏结束*/void GameOver(void){ cleardevice(); PrScore(); setcolor(RED); settextstyle(0,0,4); outtextxy(200,200,"GAME OVER"); getch();}/*输出成绩*/void PrScore(void){ char str[10]; setfillstyle(SOLID_FILL,YELLOW); bar(50,15,220,35); setcolor(6); settextstyle(0,0,2); sprintf(str,"score:%d",score); outtextxy(55,20,str);}/*图形结束*/void Close(void){ getch(); closegraph();}第3章 课程设计总结课程设计是培养学生综合运用所学知识 ,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握程序开发技术是十分重要的,而C语言又是最常见,功能最强大的一种高级语言,因此做好C语言课程设计是十分必要的。 回顾起此次课程设计,至今我们仍感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,在整整半个月的日子里,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体,指针,链表……通过这次课程设计之 后,我们把前面所学过的知识又重新温故了一遍。我做的是做贪吃蛇游戏。简单的一个,但对我一个初学者来说却是一个很大的困难。更加是第一次做课程设计,所以第一天下午在机房做了一个下午却丝毫没有进展,最主要是不知从何开始,这个时候才知道上课老师们不厌其烦的教导是多么的宝贵,这个时候才后悔上课的时候没有认真的听讲。可是现在一切都晚了,还好时间还算是充裕,只好拿出书本重新复习一下。特别是结构体,指针的部分,几乎是一片空白。不过经过几天的努力,大体上把课本上的知识点看了一遍,知识点也都基本是撑握了,所以一下一步就是开始正式的编程序了。不过毕竟是个新手,还是不知如何下手,于是就在网上下了一篇类似的程序,经过仔细的研究,终于读懂了C语言编程的基本过程和方法。 经过一波三折,终于开始正式编程。编程是一件很枯燥很无聊的事情,但是出于完成作业,得到学分的压力,还必须强破自己坚持下去,按照老师所说的模块化思想,分部分的进行编写。而且编程是一件高精度、模范化的事情,稍有疏乎都会影响全局,也可能因为某一处的小的错误而导致整个程序的无法运行。所以认真仔细就是非常重要的了。开始的时候真的感觉编程是一件很无聊的事情,不过当一个程序运行成功的时候那种喜悦是无法言语的,那种成就感是无法比拟的。又经过几天的努力,终于把程序完成了,尽管程序还是有很多错误和漏洞,不过还是很高兴的。无论如何是自己的劳动成果,是自己经过努力得到的成绩,同时也是学习C语言的一次实践作业,自己进步的证明。 通过这次课程设计,使我对C语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改进;再有对C语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对C语言中经常出现的错误也不了解,通过实践的学习,我认识到学好计算机要重视实践操作,不仅仅是学习C语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过 程中,我会更加注视实践操作,使自己便好地学好计算机。在课程设计过程中,收获知识,提高能力的同时,我也学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。
2023-09-01 22:14:211

C语言课程设计

要许多时间来编啊
2023-09-01 22:14:344

C语言课程设计难吗?C语言这门课难还是课程设计难?

《乾隆抄本百廿回红楼梦稿》,咸丰年间于源题曰“红楼梦稿”,杨继振旧藏,亦称“杨藏本”、“脂稿本”。第78
2023-09-01 22:14:467

C语言课程设计任务——学生成绩统计程序设计

你好
2023-09-01 22:15:214

C语言课程设计-仓库货物管理系统

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> struct Info { char num[15]; char name[15]; double price; int number; }; char menu() { char x; puts(" Welcome to Cargo Warehouse Management Systerm "); puts(" ************************ MENU ************************ "); puts(" 1.Append inform "); puts(" 2.Display inform "); puts(" 3.Search inform "); puts(" 4.Modify inform "); puts(" 5.Delete inform "); puts(" 6.Exit "); puts(" ****************************************************** "); printf("Choose your number(1-6):[ ]"); while(1) { x=getchar(); getchar(); if(x<"1"||x>"6") printf("Input error,please input again(1-6):[ ]"); else break; } return x; 这个只是目录 具体的 你加 我
2023-09-01 22:15:411

C语言课程设计—学生成绩管理系统注意要求,谢谢

#include "stdio.h" #include "stdlib.h" #include "string.h" int shoudsave=0; /* */ struct student { char num[10];/* 学号 */ char name[20]; char class[10];char term[2];int ygrade;int cgrade; int mgrade; int egrade;int totle;int ave; char neartime[10];/* 最近更新时间 */ };typedef struct node { struct student data; struct node *next; }Node,*Link;void menu() { printf("********************************************************************************"); printf(" 1登记学生资料 2删除学生资料 "); printf(" 3查询学生资料 4修改学生资料 "); printf(" 5保存学生资料 0退出系统 "); printf("******************************************************************************** "); }void printstart() { printf("----------------------------------------------------------------------- "); } void Wrong() { printf(" =====>提示:输入错误! "); }void Nofind() { printf(" =====>提示:没有找到该学生! "); }void printc() /* 本函数用于输出中文 */ { printf(" 学号 姓名 班级 学期 语言成绩 英语成绩 数学成绩 C语言成绩 总分 平均分 ");}void printe(Node *p)/* 本函数用于输出英文 */ { printf("%-12s%s %s \%s %d %d %d %d %d ",p->data.num,p->data.name,p->data.class,p->data.term,p->data.ygrade,p->data.egrade,p->data.mgrade,p->data.cgrade,p->data.totle,p->data.ave);}Node* Locate(Link l,char findmess[],char nameornum[]) /* 该函数用于定位连表中符合要求的接点,并返回该指针 */ { Node *r; if(strcmp(nameornum,"num")==0) /* 按学号查询 */{ r=l->next; while(r!=NULL) { if(strcmp(r->data.num,findmess)==0) return r; r=r->next; } } else if(strcmp(nameornum,"name")==0) /* 按姓名查询 */{ r=l->next; while(r!=NULL) { if(strcmp(r->data.name,findmess)==0) return r; r=r->next; } } return 0; }void Add(Link l) /* 增加学生 */ { Node *p,*r,*s; char num[10]; r=l; s=l->next; while(r->next!=NULL) r=r->next; /* 将指针置于最末尾 */ while(1) { printf("请你输入学号(以"0"返回上一级菜单:)");scanf("%s",num);if(strcmp(num,"0")==0)break; while(s) { if(strcmp(s->data.num,num)==0){ printf("=====>提示:学号为"%s"的学生已经存在,若要修改请你选择"4 修改"! ",num); printstart(); printc(); printe(s); printstart(); printf(" "); return; } s=s->next; }p=(Node *)malloc(sizeof(Node));strcpy(p->data.num,num); printf("请你输入姓名:"); scanf("%s",p->data.name); getchar(); printf("请你输入班级:");scanf("%s",p->data.class);getchar(); printf("请你输入学期:");scanf("%s",p->data.term);getchar(); printf("请你输入语文成绩:");scanf("%d",&p->data.ygrade);getchar(); printf("请你输入c语言成绩:"); scanf("%d",&p->data.cgrade); getchar(); printf("请你输入数学成绩:"); scanf("%d",&p->data.mgrade); getchar(); printf("请你输入英语成绩:"); scanf("%d",&p->data.egrade); getchar(); p->data.totle=p->data.ygrade+p->data.egrade+p->data.cgrade+p->data.mgrade;p->data.ave=p->data.totle / 3; /* 信息输入已经完成 */ p->next=NULL; r->next=p; r=p; shoudsave=1;} }void Qur(Link l) /* 查询学生 */ { int sel; char findmess[20]; Node *p;if(!l->next) { printf(" =====>提示:没有资料可以查询! "); return;} printf(" =====>1按学号查找 =====>2按姓名查找 "); scanf("%d",&sel); if(sel==1)/* 学号 */ { printf("请你输入要查找的学号:"); scanf("%s",findmess); p=Locate(l,findmess,"num"); if(p) { printf(" 查找结果 "); printstart(); printc(); printe(p); printstart(); } else Nofind(); } else if(sel==2) /* 姓名 */ { printf("请你输入要查找的姓名:"); scanf("%s",findmess); p=Locate(l,findmess,"name"); if(p) { printf(" 查找结果 "); printstart(); printc(); printe(p); printstart(); } else Nofind(); } else Wrong();}void Del(Link l) /* 删除 */ { int sel; Node *p,*r; char findmess[20]; if(!l->next) { printf(" =====>提示:没有资料可以删除! "); return; } printf(" =====>1按学号删除 =====>2按姓名删除 "); scanf("%d",&sel); if(sel==1) { printf("请你输入要删除的学号:"); scanf("%s",findmess); p=Locate(l,findmess,"num"); if(p) { r=l; while(r->next!=p) r=r->next; r->next=p->next; free(p); printf(" =====>提示:该学生已经成功删除! "); shoudsave=1; } else Nofind(); } else if(sel==2) { printf("请你输入要删除的姓名:"); scanf("%s",findmess); p=Locate(l,findmess,"name"); if(p) { r=l; while(r->next!=p) r=r->next; r->next=p->next; free(p); printf(" =====>提示:该学生已经成功删除! "); shoudsave=1; } else Nofind(); } else Wrong(); }void Modify(Link l) { Node *p; char findmess[20]; if(!l->next) { printf(" =====>提示:没有资料可以修改! "); return; } printf("请你输入要修改的学生学号:"); scanf("%s",findmess); p=Locate(l,findmess,"num"); if(p) { printf("请你输入新学号(原来是%s):",p->data.num); scanf("%s",p->data.num);printf("请你输入新姓名(原来是%s):",p->data.name);scanf("%s",p->data.name); getchar(); printf("请你输入新班级(原来是%s):",p->data.class);scanf("%s",p->data.class);getch();printf("请你输入新学期(原来是%s):",p->data.term);scanf("%s",p->data.term);getchar();printf("请你输入新的语文成绩(原来是%d分):",p->data.ygrade);scanf("%d",&p->data.ygrade);getchar(); printf("请你输入新的c语言成绩(原来是%d分):",p->data.cgrade); scanf("%d",&p->data.cgrade); getchar(); printf("请你输入新的数学成绩(原来是%d分):",p->data.mgrade); scanf("%d",&p->data.mgrade); getchar(); printf("请你输入新的英语成绩(原来是%d分):",p->data.egrade); scanf("%d",&p->data.egrade); p->data.totle=p->data.egrade+p->data.cgrade+p->data.mgrade; p->data.ave=p->data.totle/3; printf(" =====>提示:资料修改成功! "); shoudsave=1; } else Nofind();}void Disp(Link l) { int count=0; Node *p; p=l->next;if(!p) { printf(" =====>提示:没有资料可以显示! "); return; } printf(" 显示结果 "); printstart(); printc(); printf(" "); while(p) { printe(p); p=p->next; } printstart(); printf(" "); }void Tongji(Link l) { Node *pm,*pe,*pc,*pa; /* 用于指向不及格学生的接点 */Node *r=l->next; if(!r) { printf(" =====>提示:没有资料可以统计! "); return ; } pm=pe=pc=pa=r;while(r!=NULL) { if(r->data.ygrade<60)pa=r;if(r->data.cgrade<60)pc=r; if(r->data.mgrade<60)pm=r; if(r->data.egrade<60)pe=r; r=r->next;} printf("------------------------------统计结果-------------------------------- "); printf("语文不及格: %s %d分 ",pe->data.name,pe->data.ygrade);printf("英语不及格: %s %d分 ",pe->data.name,pe->data.egrade);printf("数学不及格: %s %d分 ",pm->data.name,pm->data.mgrade);printf("c语言不及格: %s %d分 ",pc->data.name,pc->data.cgrade);printstart(); }void Sort(Link l) { Link ll; Node *p,*rr,*s;ll=(Link)malloc(sizeof(Node)); /* 用于做新的连表 */ ll->next=NULL;if(l->next==NULL) { printf(" =====>提示:没有资料可以排序! "); return ; } p=l->next; while(p) { s=(Node*)malloc(sizeof(Node)); /* 新建接点用于保存信息 */ s->data=p->data; s->next=NULL;rr=ll; while(rr->next!=NULL && rr->next->data.totle>=p->data.totle) rr=rr->next; if(rr->next==NULL) rr->next=s; else { s->next=rr->next; rr->next=s; } p=p->next; } free(l); l->next=ll->next; printf(" =====>提示:排序已经完成! "); }void Save(Link l) { FILE* fp; Node *p; int flag=1,count=0; fp=fopen("c:\student","wb"); if(fp==NULL) { printf(" =====>提示:重新打开文件时发生错误! "); exit(1); } p=l->next;while(p) { if(fwrite(p,sizeof(Node),1,fp)==1) { p=p->next; count++; } else { flag=0; break; } } if(flag) { printf(" =====>提示:文件保存成功.(有%d条记录已经保存.) ",count); shoudsave=0; } fclose(fp); }void main() { Link l;/* 连表 */ FILE *fp; /* 文件指针 */ int sel; char ch; char jian;int count=0; Node *p,*r;l=(Node*)malloc(sizeof(Node)); l->next=NULL; r=l;fp=fopen("C:\student","rb"); if(fp==NULL) { printf(" =====>提示:文件还不存在,是否创建?(y/n) "); scanf("%c",&jian); if(jian=="y"||jian=="Y") fp=fopen("C:\student","wb"); else exit(0); } printf(" =====>提示:文件已经打开,正在导入记录...... ");while(!feof(fp)) { p=(Node*)malloc(sizeof(Node)); if(fread(p,sizeof(Node),1,fp)) /* 将文件的内容放入接点中 */ { p->next=NULL; r->next=p; r=p; /* 将该接点挂入连中 */ count++; } }fclose(fp); /* 关闭文件 */ printf(" =====>提示:记录导入完毕,共导入%d条记录. ",count);while(1) { menu(); printf("请你选择操作:"); scanf("%d",&sel);if(sel==0) { if(shoudsave==1) { getchar(); printf(" =====>提示:资料已经改动,是否将改动保存到文件中(y/n)? "); scanf("%c",&ch); if(ch=="y"||ch=="Y") Save(l); } printf(" =====>提示:你已经退出系统,再见! "); break; } switch(sel) { case 1:Add(l);break; /* 增加学生 */ case 2:Del(l);break;/* 删除学生 */ case 3:Qur(l);break;/* 查询学生 */ case 4:Modify(l);break;/* 修改学生 */ case 5:Save(l);break;/* 保存学生 */ case 9:printf(" ==========帮助信息========== ");break; default: Wrong();getchar();break; } } }
2023-09-01 22:16:383

c语言课程设计

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> struct record { char id[10]; char name[20]; char phone[20]; char adress[40]; char postcode[10]; char e_mail[30]; }student[500]; int num=0;//外部变量num为文件中的纪录数 FILE *fp; void mainmenu();//主菜单 void newrecord();//新添纪录 void searchmenu();//查询菜单 void searchbyid();//按学号查询 void searchbyname();//按姓名查询 void searchbyphone();//按电话查询 void deletemenu();//删除菜单 void deleteall();//删除所有 void deleteone();//删除单个 void showall();//显示所有 void readfromfile();//读取文件 void writetofile();//写入文件 void deletebyid();//按学号删除 void deletebyname();//按姓名删除 void listbyid();//按学号排序 void listbyname();//按姓名排序 void listmenu();//排序菜单 void main() { readfromfile(); while (1) { mainmenu(); } } void readfromfile()//从文件导入 { if((fp=fopen("student.bin","rb"))==NULL) { printf(" 通讯录文件不存在"); if ((fp=fopen("student.bin","wb"))==NULL) { printf(" 建立失败"); exit(0); } else { printf(" 通讯录文件已建立"); printf(" 按任意键进入主菜单"); getch(); return; } exit(0); } fseek(fp,0,2); /*文件位置指针移动到文件末尾*/ if (ftell(fp)>0) /*文件不为空*/ { rewind(fp); /*文件位置指针移动到文件开始位置*/ for (num=0;!feof(fp) && fread(&student[num],sizeof(struct record),1,fp);num++); printf(" 文件导入成功"); printf(" 按任意键返回主菜单"); getch(); return; } printf(" 文件导入成功"); printf(" 通讯录文件中无任何纪录"); printf(" 按任意键返回主菜单"); getch(); return; } void mainmenu()//主菜单 { char choic; system("cls"); printf(" ******************** 主菜单 ********************"); printf(" *********** 1-新添纪录 2-查询菜单 ************"); printf(" *********** 3-删除菜单 4-记录排序 ************"); printf(" *********** 5-保存退出 6-不保存退出***********"); printf(" ************************************************"); printf(" 请选择:"); choic=getch(); switch (choic) { case "1":newrecord();break; case "2":searchmenu();break; case "3":deletemenu();break; case "4":listmenu();break; case "5":writetofile();break; case "6":exit(0); default:mainmenu(); } } void searchmenu()//查询菜单 { char choic; system("cls"); printf(" ******************* 查询菜单 *******************"); printf(" ********** 1-显示所有 2-按学号查询 ************"); printf(" ********** 3-按姓名查询4-按电话查询 ************"); printf(" ********** 5-返回主菜单 ************"); printf(" ************************************************"); printf(" 请选择:"); choic=getch(); switch (choic) { case "1":showall();break; case "2":searchbyid();break; case "3":searchbyname();break; case "4":searchbyphone();break; case "5":mainmenu();break; } } void deletemenu()//删除菜单 { char choic; if(num==0) { printf(" 对不起,文件中无任何纪录"); printf(" 按任意键返回主菜单"); getch(); return; } system("cls"); printf(" ******************* 删除菜单 *******************"); printf(" *********** 1-删除所有 2-删除单个 ***********"); printf(" *********** 3-返回主菜单 ***********"); printf(" ************************************************"); printf(" 请选择:"); choic=getch(); switch (choic) { case "1":deleteall();break; case "2":deleteone();break; case "3":mainmenu();break; default:mainmenu();break; } } void deleteall()//删除所有 { printf(" 确认删除?(y/n)"); if (getch()=="y") { fclose(fp); if ((fp=fopen("student.bin","wb"))==NULL) { printf(" 不能打开文件,删除失败"); readfromfile(); } num=0; printf(" 纪录已删除,按任意键返回主菜单"); getch(); return; } else return; } void deletebyname()//按姓名删除 { int a=0; int findmark=0; int j; int deletemark=0; int i; char name[20]; printf(" 请输入要删除学生姓名:"); scanf("%s",name); for (i=a;i<num;i++) { if (strcmp(student[i].name,name)==NULL) { printf(" 以下是您要删除的学生纪录:"); findmark++; printf(" ________________________________"); printf(" 学号: %s",student[i].id); printf(" 姓名: %s",student[i].name); printf(" 电话: %s",student[i].phone); printf(" 地址: %s",student[i].adress); printf(" e-mail:%s",student[i].e_mail); printf(" ________________________________"); printf(" 是否删除?(y/n)"); if (getch()=="y") { for (j=i;j<num-1;j++) /*纪录移动,从stud数组中删除之*/ student[j]=student[j+1]; num--; deletemark++; printf(" 删除成功"); if((i+1)<num) { printf(" 是否继续删除相同姓名的同学信息?(y/n)"); if (getch()=="y") { a=i; continue; } } printf(" 是否继续删除?(y/n)"); if (getch()=="y") deletebyname(); return; } if((i+1)<num) { printf(" 是否继续删除相同姓名的同学信息?(y/n)"); if (getch()=="y") { a=i; continue; } } } else continue; } if ((deletemark==0)&&(findmark==0)) { printf(" 没有该同学的纪录"); printf(" 是否继续删除?(y/n)"); if (getch()=="y") deletebyid(); return; return; } else if (findmark!=0) { printf(" 没有重名信息"); printf(" 没有该同学的纪录"); printf(" 是否继续删除?(y/n)"); if (getch()=="y") deletebyid(); return; return; } } void deletebyid()//按学号删除 { int i,j; int deletemark=0; char id[20]; printf(" 请输入要删除学生学号:"); scanf("%s",id); if(num==0) { printf(" 对不起,文件中无任何纪录"); printf(" 按任意键返回主菜单"); getch(); return; } for (i=0;i<num;i++) { if (strcmp(student[i].id,id)==NULL) { printf(" 以下是您要删除的学生纪录:"); printf(" 学号: %s",student[i].id); printf(" 姓名: %s",student[i].name); printf(" 电话: %s",student[i].phone); printf(" 地址: %s",student[i].adress); printf(" e-mail:%s",student[i].e_mail); printf(" 是否删除?(y/n)"); if (getch()=="y") { for (j=i;j<num-1;j++) /*纪录移动,从stud数组中删除之*/ student[j]=student[j+1]; num--; deletemark++; printf(" 删除成功"); printf(" 是否继续删除?(y/n)"); if (getch()=="y") deletebyid(); return; } else return; } continue; } if (deletemark==0) { printf(" 没有该同学的纪录"); printf(" 是否继续删除?(y/n)"); if (getch()=="y") deletebyid(); return; } } void newrecord()//添加纪录 { printf(" **************** 请输入学生信息 **************** "); printf(" 输入学号:"); scanf("%s",&student[num].id); printf(" 输入姓名:"); scanf("%s",&student[num].name); printf(" 输入电话号码:"); scanf("%s",&student[num].phone); printf(" 输入地址:"); scanf("%s",&student[num].adress); printf(" 输入邮编:"); scanf("%s",&student[num].postcode); printf(" 输入e-mail:"); scanf("%s",&student[num].e_mail); num++; printf(" 是否继续添加?(Y/N):"); if (getch()=="y") newrecord(); return; } void showall()//显示所有 { int i; system("cls"); if(num!=0) { printf(" *************** 以下为通讯录所有信息************"); for (i=0;i<num;i++) { printf(" 学号: %s",student[i].id); printf(" 姓名: %s",student[i].name); printf(" 电话: %s",student[i].phone); printf(" 地址: %s",student[i].adress); printf(" 邮编: %s",student[i].postcode); printf(" e-mail:%s",student[i].e_mail); printf(" "); if (i+1<num) { printf(" __________________________"); system("pause"); } } printf(" ************************************************"); } else printf(" 通讯录中无任何纪录"); printf(" 按任意键返回主菜单:"); getch(); return; } //按电话查询 void searchbyphone() { int mark=0; int i; int a=0; printf(" ****************** 按电话查找 ******************"); char phone[10]; printf(" 请输入学号:"); scanf("%s",phone); for(i=0;i<num;i++) { if (strcmp(student[i].phone,phone)==0) { printf(" ************** 以下是您查找的学生信息 **********"); printf(" 学号: %s",student[i].id); printf(" 姓名: %s",student[i].name); printf(" 电话: %s",student[i].phone); printf(" 地址: %s",student[i].adress); printf(" e-mail:%s",student[i].e_mail); printf(" ************************************************"); printf(" 按任意键返回主菜单:"); mark++; getch(); return; } } if (mark==0) { printf(" 没有改学生的信息"); printf(" 按任意键返回主菜单"); getch(); return; } } void searchbyname()//按姓名查询 { int mark=0; int i; int a=0; printf(" ***************** 按姓名查找 *******************"); char name[20]; printf(" 请输入姓名:"); scanf("%s",name); for(i=a;i<num;i++) { if (strcmp(student[i].name,name)==0) { printf(" ************* 以下是您查找的学生信息 ***********"); printf(" 学号: %s",student[i].id); printf(" 姓名: %s",student[i].name); printf(" 电话: %s",student[i].phone); printf(" 地址: %s",student[i].adress); printf(" e-mail:%s",student[i].e_mail); printf(" ************************************************"); mark++; if ((i+1)<num) { printf(" 是否继续查找相同名字的学生信息:(y/n)"); if (getch()=="y") { a=i; continue; } else return; } else { printf(" 按任意键返回主菜单"); getch(); return; } } } if(mark!=0) { printf(" 没有相同姓名的学生纪录"); printf(" 按任意键返回主菜单"); getch(); return; } else { printf(" 没有相同姓名的学生纪录"); printf(" 按任意键返回主菜单"); getch(); return; } } void searchbyid()//按学号查询 { int mark=0; int i; int a=0; printf(" ****************** 按学号查找 ****************** "); char id[10]; printf(" 请输入学号:"); scanf("%s",id); for(i=0;i<num;i++) { if (strcmp(student[i].id,id)==0) { printf(" ************** 以下是您查找的学生信息 **********"); printf(" 学号: %s",student[i].id); printf(" 姓名: %s",student[i].name); printf(" 电话: %s",student[i].phone); printf(" 地址: %s",student[i].adress); printf(" e-mail:%s",student[i].e_mail); printf(" ************************************************"); printf(" 按任意键返回主菜单:"); mark++; getch(); return; } } if (mark==0) { printf(" 没有改学生的信息"); printf(" 按任意键返回主菜单"); getch(); return; } } void writetofile()//写入文件 { int i; if ((fp=fopen("student.bin","wb"))==NULL) { printf(" 文件打开失败"); } for (i=0;i<num;i++) { if (fwrite(&student[i],sizeof(struct record),1,fp)!=1) { printf(" 写入文件错误! "); } } fclose(fp); printf(" 通讯录文件已保存"); printf(" 按任意键退出程序 "); exit(0); } void deleteone()//删除单个 { char choic; printf(" 1-按学号删除 2-按姓名删除"); printf(" 请选择:"); choic=getch(); switch (choic) { case "1":deletebyid();break; case "2":deletebyname();break; } } void listbyname()//按姓名排序 { int i,j; struct record tmp; for (i=1;i<num;i++) { if(strcmp(student[i].name,student[i-1].name)<0) { tmp=student[i]; j=i-1; do { student[j+1]=student[j]; j--; }while ((strcmp(tmp.name,student[j].name)<0&&j>=0)); student[j+1]=tmp; } } printf(" 排序成功,是否显示?(y/n)"); if (getch()=="y") showall(); return; } void listbyid()//按学号排序 { int i,j; struct record tmp; for (i=1;i<num;i++) { if(strcmp(student[i].id,student[i-1].id)<0) { tmp=student[i]; j=i-1; do { student[j+1]=student[j]; j--; }while ((strcmp(tmp.id,student[j].id)<0)&&j>=0); student[j+1]=tmp; } } printf(" 排序成功,是否显示?(y/n)"); if (getch()=="y") showall(); return; } void listmenu()//排序菜单 { char choic; if(num==0) { printf(" 对不起,文件中无任何纪录"); printf(" 按任意键返回主菜单"); getch(); return; } system("cls"); printf(" ******************* 排序菜单 *******************"); printf(" ********** 1-按学号排序 2-按姓名排序 **********"); printf(" ********** 3-返回主菜单 **********"); printf(" ************************************************"); printf(" 请选择:"); choic=getch(); switch(choic) { case "1":listbyid();break; case "2":listbyname();break; case "3":mainmenu();break; default:mainmenu();break; } }
2023-09-01 22:17:101

急求c语言总结 我大一的 谢谢了哦

没看明白什么意思
2023-09-01 22:17:582

c语言程序设计的内容简介

本书采用“案例引导,任务驱动”的编写方式,深入浅出地讲解了C程序设计的基本方法;通过“案例展示—归纳总结—模仿练习—自主设计”的学习模式,使读者循序渐进地掌握C语言的编程方法和思想,提高动手能力。全书案例按照“任务要求—问题分析—程序详解—归纳总结”顺序组织,注重培养读者先进行算法描述后进行编程实践的良好编程习惯,使读者逐步掌握用计算机解决实际问题的方法。全书叙述严谨,实例丰富,内容详尽、难易适中、重点突出,并将指针等较难理解的知识分解到多章讲解,降低了读者学习的难度。全书分为8章,主要内容包括C语言基础知识、算法、C程序的控制结构、数组与指针、函数、结构体与共用体、文件操作和C语言课程设计。本书适合作为高等院校计算机专业学生的教材,也可作为自学C语言程序设计的参考用书。
2023-09-01 22:18:111

求助~急于C语言课程设计制作,全部分都给您

这个很简单啊,给我发过来!
2023-09-01 22:18:304

C语言课程设计 设计思路

首先加载本地文件保存的信息,创建链表,并统计个数,然后根据选择的操作执行相应的方法
2023-09-01 22:19:221

学生学籍信息管理系统C语言的报告总结

得利用结构体好像是吧
2023-09-01 22:19:596

C语言关键词学习总结?

C语言关键词学习总结一、static关键字1、局部变量生命周期:原先存在栈中,生命周期语句执行完毕便结束了。现在存放到静态数据区,生命周期持续到整个程序执行结束。作用域:并没有改变作用域,还是仅限于该语句块。并且只在初次运行的时候进行初始化,下次调用时它的值是上一次函数调用结束之后的值。每次调用后值会被保存。2、全局变量对干一个全部变量,既可以在本源文件中被访问到,也可以在同一个工程的其它源文件中被访问(只需用extern进行声明即可)。如果加上static,限制该全局变量的作用域范围,由原来的整个工程可见变为本源文件可见。二、const关键字1、用const修饰一般变量用const修饰的变量必须在声明时进行初始化(用来修饰函数的形参除外)。2、const与指针搭配使用用const修饰的变量必须在声明时进行初始化(用来修饰函数的形参除外)。两个基础概念: 指针常量和常量指针。指针常量:即指针本身的值是不可改变的,而指针指向的变量的值是可以改变的;常量指针:即指针指向的变量的值是不可改变的,而指针本身的值是可以改变的。三、register关键字用法register: 这个关键字请求编译器尽可能的将变量存在CPU 内部寄存器中而不是通过内存寻址访问以提高效率。注意是尽可能,不是绝对。寄存器其实就是一块一块小的存储空间,只不过其存取速度要比内存快得多。数据从内存里拿出来先放到寄存器,然后CPU 再从寄存器里读取数据来处理,处理完后同样把数据通过寄存器存放到内存里,CPU 不直接和内存打交道。四、auto关键字用于声明变量的生存期为自动,所有的变量默认就是auto的。五、inline内联函数调用函数时需要一定的时间和空间的开销。C++提供一种提高效率的方法,即在编译时将函数调用处用函数体替换,类似于C语言中的宏展开。这种在函数调用处直接嵌入函数体的函数称为内联函数(inlinefunction),又称内嵌函数或内置函数。优点:内联函数可以有效避免函数调用的开销,程序执行效率更高。缺点:如果被声明为内联函数的函数体非常大,则编译器编译后程序的可执行码将会变得很大。
2023-09-01 22:20:271

数据结构c语言版的 课程设计

我也有同样的问题
2023-09-01 22:21:243

C语言课程设计 设计思路

首先假设最高成绩在第一个节点上,所以初始化指针指向第一个节点,然后遍历数组,如果遍历到的当前节点的对应成绩比指针指向的成绩高,那么就调整指针指向当前节点。最后遍历完整个列表后,即可得到所需要的结果,因为指针已经分别指向了各个最高成绩的节点出,输出即可。
2023-09-01 22:21:371

c语言课程设计?

之前写过的,你可以拿去参考#include<stdio.h>#include<string.h>#include<stdlib.h>typedef struct guest{int number;char name[10];int sum;char time[5];struct guest *next;}GuestLink,*Pointer;GuestLink stu[10];int i,j,k;void Insert(Pointer *Head);void Search(Pointer Head);void Update(Pointer Head);void Delete(Pointer *Head);void Show(Pointer Head);void Sort(Pointer Head);void Save(Pointer Head);void Put(Pointer Head);int main(){Pointer Head=NULL;int i;do{printf("");printf("1---增加订餐客户信息");printf("2---查询订餐客户信息");printf("3---修改订餐客户信息");printf("4---删除订餐客户信息");printf("5---浏览客户订餐信息");printf("6---按照用餐时间升序排序");printf("7---保存订餐信息到数据文件");printf("8---查看数据文件中的订餐信息");printf("9---退出");printf("");printf("请选择1--9:");scanf("%d",&i);switch(i){case 1:Insert(&Head);break;case 2:Search(Head);break;case 3:Update(Head);break;case 4:Delete(&Head);break;case 5:Show(Head);break;case 6:Sort(Head);break;case 7:Save(Head);break;case 8:Put(Head);break;case 9:break;default:printf("选择错误!请重新选择!");break;}}while(i!=9);return 0;}void Insert(Pointer *Head){int in_number;Pointer p,q,r;printf("请输入编号:");scanf("%d",&in_number);p=q=*Head;while(p!=NULL){if(p->number==in_number){printf("已经有相同编号:");return;}else{q=p;p=p->next;}}r=(Pointer)malloc(sizeof(GuestLink));//没有*号r->next=NULL;if(r==NULL){printf("分配空间失败");return;}if(q==NULL)//如果是空表,判断空表用q!!!!*Head=r;else{q->next=r;}r->number=in_number;printf("请输入姓名:");scanf("%s",r->name);printf("请输入人数:");scanf("%d",&r->sum);printf("请输入时间:");scanf("%s",r->time);}/*void Insert(Pointer *Head){int in_number;Pointer p,q,r;p=q=*Head;printf("请输入号码:");scanf("%d",&in_number);while(p!=NULL){if(in_number==p->number){printf("已存在号码!");}else{q=p;p=p->next;}}r=(Pointer)malloc(sizeof GuestLink);r->next=NULL;if(q==NULL)*Head=r;elseq->next=r;printf("请输入姓名:");scanf("%s",r->name);printf("请输入人数");scanf("%f",&r->sum);printf("请输入时间");scanf("%s",r->time);}*/void Search(Pointer Head){int flag=1;int number;Pointer p;printf("请输入要查询的编号:");scanf("%d",&number);p=Head;while(p!=NULL&&flag){if(p->number==number){ printf("编号 姓名 人数 时间");printf("%s ",p->name);printf("%d ",p->sum);printf("%s ",p->time);flag=0;}elsep=p->next;}if(flag)printf("没有查询到!");}/*void Search(Pointer Head){int flag=0;int number;Pointer p;p=Head;printf("请输入您要查找的编号:");scanf("%f",&number);while(p!=NULL&&flag){if(p->number==number){printf("已查询到您要的编号");flag=0;}else{p=p->next;}}if(flag==1){printf("姓名:%s",p->name);printf("编号:%f",p->number);printf("人数:%f",p->sum);printf("时间:%s",p->time);}else{printf("没有查询到您要查询的编号!");}}*/void Update(Pointer Head){int flag=1;int number;Pointer p;printf("请输入要修改的编号:");scanf("%d",&number);p=Head;while(p!=NULL&&flag){if(p->number==number){printf("请输入人数:");scanf("%d",&p->sum);printf("请输入用餐时间:");scanf("%s",p->time);flag=0;}elsep=p->next;}if(flag)printf("没有找到要修改的记录!");}//update与查询过程相似!!!void Delete(Pointer *Head){int flag=1;int number;Pointer p,q;printf("请输入要删除的数据编号:");scanf("%d",&number);p=q=*Head;while(p!=NULL&&flag){if(p->number==number){if(p==*Head){*Head=p->next;free(p);//删除结点后要及时释放内存!!!}else{q->next=p->next;free(p);}flag=0;}else{q=p;p=p->next;}}if(flag)printf("没有找到可以删除的数据!!");}/*void Delete(Pointer *Head){Pointer p,q;p=q=*Head;int number;int flag=1;printf("请输入您要删除的结点:");scanf("%d",&number);while(p!=NULL){if(p->number==number){ if(p==*Head){*Head=p->next;free(p);}else{q->next=p->next;free(p);}flag=0;}else{q=p;p=p->next;}}if(flag){printf("没有找到要删除的数据!");}}*/void Show(Pointer Head){Pointer p;p=Head;printf("编号 姓名 人数 用餐时间");while(p!=NULL){printf("%d ",p->number);printf("%s ",p->name);printf("%d ",p->sum);printf("%s ",p->time);p=p->next;}}void Sort(Pointer Head){//三个for循环,第一个赋给结构数组 第二个排序,第三个输出Pointer p;p=Head;int count=0;GuestLink temp;for(i=0;p!=NULL;i++){strcpy(stu[i].name,p->name);stu[i].number=p->number;stu[i].sum=p->sum;strcpy(stu[i].time,p->time);count++;p=p->next;}for(i=0;i<count-1;i++){k=i;for(j=i+1;j<count;j++)if(strcmp(stu[j].time,stu[k].time)<0)k=j;if(k!=i){temp=stu[i];stu[i]=stu[k];stu[k]=temp;}//一个字都不能改!!!!//{temp=stu[k];stu[k]=stu[i];stu[i]=temp;}}printf("编号 姓名 人数 用餐时间");for(i=0;i<count;i++){printf("%d ",stu[i].number);printf("%s ",stu[i].name);printf("%d ",stu[i].sum);printf("%s ",stu[i].time);}}/*Head=p=stu;while(p!=NULL){printf("姓名:%-10s",p->name);printf("人数:%-10d",p->sum);printf("用餐时间:%-10s",p->time);printf("编号:%-10d",p->number);p=p->next;}*//*void Sort(Pointer Head){Pointer p;p=Head;GuestLink temp;count=0;while(p!=NULL){p=p->next;count++;}p=Head;while(p!=NULL){for(i=0;i<count;i++){stu[i].number=p->number;strcpy(stu[i].name,p->name);stu[i].sum=p->sum;strcpy(stu[i].time,p->time);}p=p->next;}for(i=0;i<count-1;i++){k=i;for(j=0;j<count;j++){if(strcmp(stu[j].time,stu[k].time)<0)k=j;if(k!=i){temp=stu[k];stu[k]=stu[i];temp=stu[i];}}}}*/void Save(Pointer Head){Pointer p;FILE *fp;p=Head;for(i=0;p!=NULL;i++){strcpy(p->name,stu[i].name);p->number=stu[i].number;p->sum=stu[i].sum;strcpy(p->time,stu[i].time);p=p->next;}if((fp=fopen("stud","w"))==NULL){printf("can"t open !");}p=Head;while(p!=NULL){if(fwrite(p,sizeof(GuestLink),1,fp)!=1)printf("can"t write!");p=p->next;}fclose(fp);}/*void Save(Pointer Head){FILE *fp;Pointer p;p=Head;for(i=0;p!=NULL;i++){stu[i].number=p->number;strcpy(stu[i].name,p->name);stu[i].sum=p->sum;strcpy(stu[i].time,p->time);p=p->next;}p=Head;if((fp=fopen("stud","w"))==NULL){printf("cam"t open the file");}for(i=0;i<count;i++)if(fwrite(p,sizeof(GuestLink),1,fp)!=1){printf("cant write");}fclose(fp);}*/void Put(Pointer Head){FILE *fp;Pointer p;p=Head;if((fp=fopen("stud","r"))==NULL){printf("can"t open the File");}printf("编号 姓名 人数 用餐时间");while(p!=NULL){if(fread(p,sizeof(GuestLink),1,fp)!=1){printf("can"t read!");}printf("%d ",p->number);printf("%s ",p->name);printf("%d ",p->sum);printf("%s ",p->time);p=p->next;}fclose(fp);}采纳哦~
2023-09-01 22:21:491

c语言课程设计

刚为别人做了一个,和你这个很像,不过用的是单项链表方式而不是array.自己修改下满足你的要求吧#include <stdio.h>#include <string.h>#include <stddef.h>struct StudentCard { int index; //学生号 char name[80]; //姓名 int age; //年龄 char sex[80]; //性别 int classroom; //班级 char school[80]; //学校 char birthday[80]; //出生年月 struct StudentCard *next; //到下一个学生卡,链表};typedef struct StudentCard ELEMENT; //自定义符号typedef ELEMENT *LINK;LINK add(LINK head){ //加入一个新的学生信息,该函数将返回一个struct的指针 int index,age,classroom; char name[80],sex[80],school[80],birthday[80]; printf("Please input index number: "); scanf("%d",&index); printf("Please input name: "); scanf("%s",name); printf("Please input age: "); scanf("%d",&age); printf("Please input sex(nan or nv): "); scanf("%s",sex); printf("Please input classroom: "); scanf("%d",&classroom); printf("Please input school: "); scanf("%s",school); printf("Please input birthday :"); scanf("%s",birthday); if (!head){ //如果是头链表为空的情况,也就是输入第一个学生卡 head=malloc(sizeof(ELEMENT)); head->index=index; head->age=age; head->classroom=classroom; strcpy(head->name,name); strcpy(head->sex,sex); strcpy(head->school,school); strcpy(head->birthday,birthday); head->next=NULL; //下一个元素为NULL,空 printf("Successful! "); return head; //返回头链 } else{ LINK tail=head;//用一个哨兵指针指向头元素 while ((tail)&&(tail->index!=index)) //在tail为NULL并且tail的index不与用户输入的index相等之前,tail一直跳到下一个元素 tail=tail->next; if (tail) //如果存在这个tail printf("index has already existed! Failed! "); else{ tail=head;//再次初始化 while (tail->next) //当哨兵的下一个元素存在时,哨兵跳到哨兵下一个元素 tail=tail->next; //当上面这个循环结束后,此时tail的下一个元素必定为NULL tail->next=malloc(sizeof(ELEMENT));//创建新的元素 tail=tail->next; //跳转到下一个新创建的元素 tail->index=index; tail->age=age; tail->classroom=classroom; strcpy(tail->name,name); strcpy(tail->sex,sex); strcpy(tail->school,school); strcpy(tail->birthday,birthday); tail->next=NULL; printf("Successful! "); return head; } }}void Print_ALL(LINK head){//该函数输出所有学生信息 LINK tail=head; if (!head) //如果头元素为NULL,就是链表无一个元素 printf("Empty List! "); else{ printf("Indx Name Age Sex Class School Birth "); while (tail){//知道哨兵为NULL之前,一直输出哨兵的内容 printf("%d %s ",tail->index,tail->name); printf("%d %s %d ",tail->age,tail->sex,tail->classroom); printf("%s %s ",tail->school,tail->birthday); tail=tail->next; } }};void Print_DEPEND_INDEX(LINK head){ //该函数输出指定的学生号的学生信息 int tem; LINK tail=head; printf("Please input the index number of student: "); scanf("%d",&tem); if (!head) printf("Empty List! "); else{ while ((tail)&&(tail->index!=tem)) tail=tail->next; if (!tail) printf("student not existed! "); else{ printf("Indx Name Age Sex Class School Birth "); printf("%d %s ",tail->index,tail->name); printf("%d %s %d ",tail->age,tail->sex,tail->classroom); printf("%s %s ",tail->school,tail->birthday); } }}void Print_DEPEND_CLASS(LINK head){ //该函数输出指定的班级的学生信息 int tem; LINK tail=head; printf("Please input classroom: "); scanf("%d",&tem); if (!head) printf("Empty List! "); else{ while ((tail)&&(tail->classroom!=tem)) tail=tail->next; if (!tail) printf("No such classroom! "); else{ printf("Indx Name Age Sex Class School Birth "); while (tail){ if (tail->classroom==tem){ printf("%d %s ",tail->index,tail->name); printf("%d %s %d ",tail->age,tail->sex,tail->classroom); printf("%s %s ",tail->school,tail->birthday); } tail=tail->next; } } } }void Print_DEPEND_SEX(LINK head){ //该函数输出男或女同学信息 char tem[80]; printf("please input sex(nan or nv): "); scanf("%s",tem); if (!head) printf("Empty List! "); else{ LINK tail=head; while ((tail)&&(strcmp(tem,tail->sex)!=0)) //当不相等或者tail有效时,tail跳到下一个元素 tail=tail->next; if (!tail) printf("No %s student! ",tem); else{ tail=head; printf("Indx Name Age Sex Class School Birth "); while (tail){ if (strcmp(tem,tail->sex)==0){ printf("%d %s ",tail->index,tail->name); printf("%d %s %d ",tail->age,tail->sex,tail->classroom); printf("%s %s ",tail->school,tail->birthday); } tail=tail->next; } } }}LINK Edit(LINK head){ //该函数用来修改信息 int tem; LINK tail=head; printf("Please input index of student: "); scanf("%d",&tem); if (!head){ printf("Empty List! "); return NULL; } else{ while ((tail)&&(tail->index!=tem)) tail=tail->next; if (!tail){ printf("No such student! "); return head; } else{ printf("Please input name: "); scanf("%s",tail->name); printf("Please input age: "); scanf("%d",&tail->age); printf("Please input sex(nan or nv): "); scanf("%s",tail->sex); printf("Please input classroom: "); scanf("%d",&tail->classroom); printf("Please input school: "); scanf("%s",tail->school); printf("Please input birthday :"); scanf("%s",tail->birthday); printf("Edit successful! "); return head; } }}LINK DELETE(LINK head){ //该函数用来删除学生信息 int tem; LINK tail=head; printf("Please input index of student: "); scanf("%d",&tem); if (!head){ printf("Empty List! "); return NULL; } else if ((head->index==tem)&&(!head->next)){//当头元素满足并且链表只有一个元素 printf("Deleted! "); return NULL; } else if ((head->index==tem)&&(head->next)){//当头元素满足并且链表有许多元素 printf("Deleted! "); return head->next; } else{ //当满足条件的元素在链表中间或者结尾 while ((tail)&&(tail->index!=tem)) tail=tail->next; if (!tail){ printf("No such student! "); return head; } else{ if (!tail->next){//当满足条件的元素在链表结尾 LINK tail2=head;//新的哨兵 while (tail2->next!=tail) tail2=tail2->next; tail2->next=NULL; //直接指向为NULL,表示链表尾,跳过tail printf("Deleted! "); return head; } else{ //当满足条件的元素在链表中间 LINK tail2=head;//新的哨兵 while (tail2->next!=tail) tail2=tail2->next; tail2->next=tail->next; //跳过tail这个元素 printf("Deleted! "); return head; } } }}void Display_MENU(){ printf(" *********studentcard management system********* "); printf(" 1.Input student"s informations (add a student) "); printf(" 2.Print all students" informations "); printf(" 3.Input index number,print selected student"s information "); printf(" 4.Input classroom number,print informations of those students "); printf(" 5.Input index number, modify information "); printf(" 6.Input index number, remove information "); printf(" 7.Print nan or nv informations "); printf(" 8.Display Menu "); printf(" 9.Exit "); printf(" *********************************************** ");}int main(){ LINK head=NULL; //链表头的初始化 int asker; Display_MENU(); while(1){ printf(">>"); scanf("%d",&asker); if (asker==1)//加入新学生信息 head=add(head); else if (asker==2)//输出所有学生信息 Print_ALL(head); else if (asker==3) //输入学生号,输出学生信息 Print_DEPEND_INDEX(head); else if (asker==4) //输入班级,输出学生信息 Print_DEPEND_CLASS(head); else if (asker==5) //输入学生号,修改学生信息 head=Edit(head); else if (asker==6) //输入学生号,删除学生信息 DELETE(head); else if (asker==7) //输入男或女,输出学生信息 Print_DEPEND_SEX(head); else if (asker==8) //显示菜单 Display_MENU(); else if (asker==9) //退出程序,也就是退出while(1)循环 break; else printf("please select correct number! "); } printf("system log-out! "); return 0;}
2023-09-01 22:22:241

《C语言》课程设计

我是大一的,我们怎么没听说有课程设计
2023-09-01 22:22:333

学期结束C语言课程设计

#include<time.h> #include<stdio.h> #include<conio.h> #include <stdlib.h>#define MAX 50void input(); void sort();void display();void insert();void del();void average();int now_no=0;struct student{int no;char name[20];char sex[4];float score1;float score2;float score3;float sort;float ave;float sum;};struct student stu[MAX],*p;main()//主函数{char as;start: printf(" 欢迎使用学生成绩管理系统 ");//一下为功能选择模块do{printf(" 1.录入学员信息 2.显示学员信息 3.成绩排序信息 4.添加学员信息 5.删除学员信息 6.退出 ");printf(" 选择功能选项:");as=getch();switch(as){case "1":system("cls");input();break;case "2":system("cls"); display();break;case "3":system("cls"); sort();break;case "4":system("cls"); insert();break;case "5":system("cls"); del();break;case "6":system("exit");exit(0);default:system("cls");goto start; }}while(1);//至此功能选择结束}void input()//原始数据录入模块{int i=0;char ch;do{printf(" 1.录入学员信息 输入第%d个学员的信息 ",i+1);printf(" 输入学生编号:");scanf("%d",&stu[i].no);fflush(stdin);printf(" 输入学员姓名:");fflush(stdin);gets(stu[i].name);printf(" 输入学员性别:");fflush(stdin);gets(stu[i].sex);printf(" 输入学员成绩:");fflush(stdin);scanf("%f",&stu[i].score1);printf(" 输入学员成绩:");fflush(stdin);scanf("%f",&stu[i].score2);printf(" 输入学员成绩:");fflush(stdin);scanf("%f",&stu[i].score3);printf(" ");i++;now_no=i;printf("%d",now_no);printf("是否继续输入?(Y/N)");ch=getch();system("cls");}while(ch!="n");system("cls");}void sort()//排序数据函数{struct student temp;int i,j;for(i=1;i<now_no;i++){for(j=1;j<=now_no-i;j++){if(stu[j-1].ave<stu[j].ave){temp=stu[j];stu[j]=stu[j-1];stu[j-1]=temp;}}}}void display()//显示数据函数{int i;char as;float ave;do{printf(" 班级学员信息列表 ");printf(" 编号 姓名 性别 成绩 成绩 成绩 平均值 ");for(i=0;i<now_no;i++){stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3;stu[i].ave=stu[i].sum/3;printf(" %d %s %s %.2f %.2f %.2f %.2f ",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave);}printf(" 按任意键返回主菜单.");as=getch();goto exit;}while(as!="n");exit: system("cls"); }void insert()//插入数据函数{char ch;do{printf(" 输入新插入学员队信息 ");printf(" 输入学生编号:");scanf("%d",&stu[now_no].no);fflush(stdin);printf(" 输入学员姓名:");fflush(stdin);gets(stu[now_no].name);printf(" 输入学员性别:");fflush(stdin);gets(stu[now_no].sex);printf(" 输入学员成绩:");fflush(stdin);scanf("%f",&stu[now_no].score1);printf(" 输入学员成绩:");fflush(stdin);scanf("%f",&stu[now_no].score2);printf(" 输入学员成绩:");fflush(stdin);scanf("%f",&stu[now_no].score3);printf(" ");now_no=now_no+1;sort();printf("是否继续输入?(Y/N)");ch=getch();system("cls");}while(ch!="n");}void del()//删除数据函数{int inum,i,j;printf("输入要删除学员的编号:");fflush(stdin);scanf("%d",&inum);for(i=0;i<now_no;i++){if(stu[i].no==inum){for(j=i;j<now_no;j++){stu[i]=stu[i+1];}now_no=now_no-1;}break;}system("cls");}
2023-09-01 22:22:441

C语言课程设计

(C语言)职工信息管理 有任何问题可以到这里留言: http://moonrosa.googlepages.com/liuyan.htm 【要求】 职工信息包括职工号,姓名,性别,年龄,学历,工资,住址,电话等(职工号不相等)。试设计一职工信息管理系统,使之能够提供下列功能: (1)系统以菜单方式工作 (2)职工信息录入功能(职工信息用文件保存) (3)职工信息浏览功能 (4)职工信息查询功能,查询方式: 1)按学历查询 2)按职工号查询 (5)职工信息删除,修改功能(可选项)。 #include<string.h> void menu() { int n,w1; do { printf(" ************************************************ "); printf(" ************************************************ "); printf(" *** choose function ************ "); printf(" *** 1 Enter new data ************ "); printf(" *** 2 Modify data ************ "); printf(" *** 3 Search by people.xueli and num***** "); printf(" *** 4 Browse data ************ "); printf(" *** 5 add data ************ "); printf(" *** 6 Exit ************ "); printf(" ************************************************ "); printf(" ************************************************ "); printf("Choose your number(1-6):[ ]"); scanf("%d",&n); if(n<1||n>6) w1=1; else w1=0; } while(w1==1); switch(n) { case 1:enter();break; case 2:modify();break; case 3:search();break; case 4:browse();break; case 5:add();break; case 6:exit(0); } } main() { system("cls"); menu(); } #define N 100 struct people { char num[100]; char name[15]; char sex[20]; char age[20]; char xueli[20]; char gongzhi[20]; char address[20]; char telephone[20]; }people[N]; # include <stdio.h> enter() { int i,n; printf("How many people(0-%d)?:",N-1); scanf("%d",&n); printf(" Enter data now "); for(i=0;i<n;i++) { printf(" Input %dth people record. ",i+1); 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(" Pass any key to continue ...."); getch(); puts(" "); } printf_one(i) ; } printf(" There are %d record. ",n); printf(" Pass any key to back ..."); getch(); menu(); } add() { int i,n,m,k; FILE*fp; n=load(); printf("How many people are you want to add(0-%d)?:",N-1-n); scanf("%d",&m); k=m+n; for(i=n;i<k;i++) { printf(" Input %dth people record. ",i-n+1 ); input(i); } if((fp=fopen("Pro.txt","ab"))==NULL) { printf("cannot open file "); } for(i=n;i<k;i++) if(fwrite(&people[i],sizeof(struct people),1,fp)!=1) printf("file write error "); fclose(fp); printf_back(); } search() { int i,n,k,w1=1,w2,w3,w4,m,a; struct people p; n=load(); do { printf(" Which way do you want to choose? 1).By xueli 2).By num [ ]"); scanf("%d",&m); switch(m) { case 1: do { k=-1; printf(" Enter xeuli that you want to search! xueli."); scanf("%s",p.xueli); printf_face(); for(i=0;i<n;i++) if(strcmp(p.xueli,people[i].xueli)==0) { k=i; printf_one(k);break; } if(k==-1) { printf(" NO exist!please"); printf(" Are you again? 1).again 2).NO and back [ ]"); scanf("%d",&w1); if(w1==2) printf_back(); } } while(k==-1&&w1==1);break; case 2: do {k=-1; printf(" Enter num that you want to search! num."); scanf("%s",p.num); printf_face(); for(i=0;i<n;i++) if(strcmp(p.num,people[i].num)==0) {k=i; printf_one(k);break; } if(k==-1) {printf(" NO exist!please"); printf(" Are you again? 1).again 2).NO and back [ ]"); scanf("%d",&w1); if(w1==2) printf_back(); } } while(k==-1&&w1==1);break; } w4=0;w3=0; if(k!=-1) {printf(" What do you want to do? 1).Search 2).Modify 3).Delete 4).Back menu [ ]"); scanf("%d",&w2); switch(w2) {case 2:w3=modify_data(k,n);break; case 3:{printf(" Are you sure? 1).Sure 2).No and back [ ]"); scanf("%d",&w4); if(w4==1) for(a=k;a<n;a++) {strcpy(people[a].num,people[a+1].num); strcpy(people[a].name,people[a+1].name); strcpy(people[a].sex,people[a+1].sex); strcpy(people[a].age,people[a+1].age); strcpy(people[a].xueli,people[a+1].xueli); strcpy(people[a].gongzhi,people[a+1].gongzhi); strcpy(people[a].address,people[a+1].address); strcpy(people[a].telephone,people[a+1].telephone); } break; } } if(w3==1||w4==1) {save(n); printf(" Successful.^_^."); printf(" Whant do you want to do? 1).Search another 2).Back [ ]" ); scanf("%d",&w2); } } } while(w2==1); menu(); } modify() {struct people p; 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(" Remember NO.which needed modify.pass any key to contiune ..."); getch(); puts(" "); } printf_one(i); } do {printf(" Enter NO.that you want to modify! NO.:"); scanf("%s",p.num); for(i=0;i<n;i++) if(strcmp(p.num,people[i].num)==0) {k=i; p=people[i]; } if(k==-1)printf(" NO exist!please again"); }while(k==-1); printf_face(); printf_one(k); w1=modify_data(k,n); if(w1==1) {printf(" Successful ^_^. Are you modify another ? 1).Yes 2).Back with save [ ]"); scanf("%d",&w0); w2=1; } else {w0=0; if(w2==1) people[k]=p; } if(w0!=1&&w2==1) save(n); }while(w0==1); menu(); } save(int n) {FILE *fp; int i; if((fp=fopen("Pro.txt","wb"))==NULL) {printf(" Cannot open file "); return NULL; } for(i=0;i<n;i++) if(people[i].num!=0) if(fwrite(&people[i],sizeof(struct people),1,fp)!=1) printf("file write error "); fclose(fp); } load() {FILE *fp; int i; if((fp=fopen("Pro.txt","rb"))==NULL) {printf(" Cannot open file "); return NULL; } for(i=0;!feof(fp);i++) fread(&people[i],sizeof(struct people),1,fp); fclose(fp); return(i-1); } input(int i) { no_input(i,i); printf("num:"); scanf("%s",people[i].num); printf("name:"); scanf("%s", people[i].name) ; printf("sex:"); scanf("%s",people[i].sex); printf("age:"); scanf("%s",people[i].age); printf("xueli:"); scanf("%s",people[i].xueli); printf("gongzhi:"); scanf("%s",people[i].gongzhi); printf("address:"); scanf("%s",people[i].address); printf("telephone:"); scanf("%s",people[i].telephone); } modify_data(int i) {int c,w1; do {puts(" modify by=> 1).num 2).name 3).sex 4).ages 5).xueli 6)gongzhi 7)address 8)telephone "); printf("Which you needed?:[ ]"); scanf("%d",&c); if(c>8||c<1) {puts(" Choice error!Please again!"); getchar(); } }while(c>8||c<1); do {switch(c) { case 1:printf("num:");scanf("%s",people[i].num);break; case 2:printf("name:");scanf("%s",people[i].name);break; case 3:printf("sex:");scanf("%s",people[i].sex);break; case 4:printf("age:");scanf("%s",people[i].age);break; case 5:printf("xueli:");scanf("%s",people[i].xueli);break; case 6:printf("gongzhi:");scanf("%s",people[i].gongzhi);break; case 7:printf("address:");scanf("%s",people[i].address);break; case 8:printf("telephone:");scanf("%s",people[i].telephone);break; } puts(" Now: "); printf_face(); printf_one(i); printf(" Are you sure? 1).Sure 2).No and remodify 3).Back without save in this time [ ]"); scanf("%d",&w1); } while(w1==2); return(w1); } no_input(int i,int n) {int j,k,w1; do {w1=0; for(j=0;people[i].num[j]!="";j++) if(people[i].num[j]>"9") {puts("Input error!Only be made up of(0-9).Please reinput! "); w1=1;break; } if(w1!=1) for(k=0;k<n;k++) if(k!=i&&strcmp(people[k].num,people[i].num)==0) {puts("This record is exist.please reinput! "); } } while(w1==1); } printf_face() { printf(" num name sex ages xueli gongzhi address telephone "); } printf_one(int i) { int j; printf("%7s%7s%7s%7s%7s%7s%10s%12s ",people[i].num,people[i].name,people[i].sex,people[i].age,people [i].xueli,people[i].gongzhi,people[i].address,people[i].telephone); } printf_back() { int j,w; printf(" Successful.^_^ "); printf("What do you want you to do? 1).Browse all now 2).Back: [ ]"); scanf("%d",&w); if(w==1) browse(); else menu(); } 参考资料:http://moonrosa.googlepages.com/cyuyan_zgglxt
2023-09-01 22:23:201

《C语言程序设计》课程设计

好多人在要求做课程设计啊,有分赚啊,
2023-09-01 22:23:436

C语言数据结构课程设计

还不错
2023-09-01 22:24:092

C语言的课程设计

这个就行#include<stdio.h>int main(){ int a[100][100]; int num=1;//起始数字 int i,j; int n=0;//矩阵行列数 printf("起始数字num="); scanf("%d",&num); printf("请输入行列数n="); scanf("%d",&n); for(i=0; i<n; i++) { int p; a[i][i]=num+i*(i+1); p=a[i][i]; for(j=i-1; j>=0; j--)//行排列 { p+=1; a[i][j]=p; } p=a[i][i]; for(j=i-1; j>=0; j--)//列排列 { p-=1; a[j][i]=p; } } for(i=0; i<n; i++) { for(j=0; j<n; j++) { printf("%5d ",a[i][j]); } printf(" "); }}满意请采纳。
2023-09-01 22:24:181

C语言课程设计题目

例:学生管理系统设计 设计内容: 详见视频,要求数据结构用链表,数据存储使用文件。 计算每个老师在一个学期中所教课程的总工作量。(教师单个教学任务的信息为:教师号、姓名、性别、职称、认教课程、班级、班级数目、理论课时、实验课时、单个教学任务总课时) A、教师信息处理 (1) 输入教师授课教学信息,包括教师号、姓名、性别、职称、认教课程、班级、班级数目、理论课时、实验课时。 (2) 插入(修改)教师授课教学信息: (3) 删除教师授课教学信息: (4) 浏览教师授课教学信息: B、教师工作量数据处理: (1) 计算单个教学任务总课时。计算原则如下表: (2) 计算一个教师一个学期总的教学工作量。总的教学工作量=所有单个教学任务总课时之和。 (3)教师数据查询:   提示:输入教师号或其他信息,即读出所有数据信息,并显示出来。 C、教师综合信息输出   提示:输出教师信息到屏幕。 链接: https://pan.baidu.com/s/1AdMlIyDVtLtuVVNf62As-Q?pwd=1111 提取码: 1111 该系统是一个进行选择题测试的考试系统,具有测试、练习功能,具有系统设置功能,具有查分和帮助功能。 一、功能要求: 1、用文件保存试题库。(每个试题包括题干、4个备选答案、标准答案) 2、试题录入:可随时增加试题到试题库中 3、试题抽取:每次从试题库中可以随机抽出N道题及每题的得分K(N、K由键盘输入)。 4、可以设置考试时间。 5、用户可以选择“考试”和“练习”两种方式。 5、答题:用户可实现输入自己的答案,“考试”时系统不能显示答案。“练习”时每一题都可以通过查看“按钮”显示标准答案。可以用“上一题”、“下一题”翻页。选择“交卷”按钮则显示得分; 6、自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩。 7、考试开始系统显示倒计时。时间为零自动交卷。 二、其它要求: 1、源程序要有适当的注释,使程序容易阅读 2、至少采用文本菜单界面(如果能采用图形菜单界面更好) 3、学生可自动增加新功能模块(视情况可另外加分) 4、写出课程设计报告,具体要求见相关说明文档 链接: https://pan.baidu.com/s/1AdMlIyDVtLtuVVNf62As-Q?pwd=1111 提取码: 1111 设计内容: 设计一个简单的英语字典,输入英语单词,显示中文含义,设计要求: 链接: https://pan.baidu.com/s/1AdMlIyDVtLtuVVNf62As-Q?pwd=1111 提取码: 1111 设计内容: 设计一个学生通信录,学生通迅录数据信息构成内容可自行设计(如:姓名、家庭地址、邮政编码、电话号码等等)。该学生通信录电话簿管理程序具有加入、删除、显示和查询等功能。 设计要求: 1、 能建立、修改和增删学生通讯录 2、 具有群组工能,可以增加群组和记录。 3、 删除可以删除一条、一个群组、全部记录。 4、 查询包含模糊查询。 5、 显示可以以页面和列表方式显示。 6、 有自动排序的功能。 7、 要求:界面友好,易于操作,采用文件存储数据。 链接: https://pan.baidu.com/s/1AdMlIyDVtLtuVVNf62As-Q?pwd=1111 提取码: 1111 [设计内容] 实现一个完整的小型音像店对录像带进行管理的系统。 [设计要求] 系统要求具有以下功能: (1) 管理音像店中的所有录像带,包括新录像带入库、录像带出租、录像带的返还、所有录像带清单的显示、根据指定条件进行查找删除录像带等各种基本操作。 (2) 客户数据维护,可以将客户分为不同等级,可以根据指定客户显示其所借录像带详细信息。 (3) 租金管理,根据所借日期自动计算所需交纳的租金。 (4) 系统要求界面美观,菜单设计合理,操作方便。 [实验提示] 音像店有两个主要的组成部分:录像带和客户。可以构造3个链表存储以下数据: (1) 商店中所有录像带的链表; (2) 商店所有客户的链表; (3) 当前已出租的录像带链表; 链接: https://pan.baidu.com/s/1AdMlIyDVtLtuVVNf62As-Q?pwd=1111 提取码: 1111 [设计内容] 航空客运订票的业务活动包括:查询航线、客票预定和办理退票等。设计一个航空订票系统实现上述功能。 [设计要求] (1) 将每条航线的有关信息存入计算机,如:终点站名、航班号、飞机号、飞行周日(星期几)、时间、乘员定额、余票量、票价,已定票客户名单和等候替补客户名单(包括姓名,所需票数); (2) 查询航线:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞、最近一天航班的日期和余票量。 (3) 订票:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续;若已满员或余票额少于订票额,则需重新询问客户要求。若需要,可登记排队候补; (4) 退票:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他候补客户。 发挥想像,增加新的功能,完善系统。 系统要求界面美观,菜单设计合理,操作方便。 链接: https://pan.baidu.com/s/1AdMlIyDVtLtuVVNf62As-Q?pwd=1111 提取码: 1111 [设计内容] 某旅馆有n个等级的房间,第I等级有 个房间,每个等级的房间有 个床位(1≤i≤n)。试模拟旅馆管理系统中床位分配和回收的功能,设计能为单个旅客分配床位,在其离店便回收床位(供下次分配)的算法。 [设计要求] (1) 旅客登记,即为旅客分配床位。输入旅客姓名、年龄、性别、到达日期和所需房间等级。分配成功时打印旅客姓名、年龄、到达日期、房间等级、房间号码和床位号码。分配不成功时,如所有等级均无床位,则打印“客满”信息;如旅客需要的等级均无空床位,则打印“是否愿意更换等级?”的询问信息。若旅客愿意更换,则重新输入有关信息,再进行分配,否则分配工作结束。 (2) 旅客离开时,即进行床位回收。输入房间等级、房间号和床位号。 链接: https://pan.baidu.com/s/1AdMlIyDVtLtuVVNf62As-Q?pwd=1111 提取码: 1111 设计内容: 职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。 设计要求: 1、系统以菜单方式工作 2、职工信息录入功能(职工信息用文件保存)--输入 3、职工信息浏览功能--输出 4、职工信息查询功能--算法 查询方式 按学历查询等 按职工号查询等 5、职工信息删除、修改功能(可选项) 6、按工号排序 链接: https://pan.baidu.com/s/1AdMlIyDVtLtuVVNf62As-Q?pwd=1111 提取码: 1111 设计内容: 图书信息包括:书号、书名、作者名、分类号、出版社、出版时间、价格等。 设计功能: 1、系统以菜单方式工作 2、图书信息录入功能(图书信息用文件保存)--输入 3、图书信息的编辑功能(插入、删除、修改) 4、图书信息浏览功能(按书号、书名、出版时间、价格等排序输出)。 5、图书信息查询功能(按书号、书名、作者名、出版社查询,提供模糊查询的功能) 链接: https://pan.baidu.com/s/1AdMlIyDVtLtuVVNf62As-Q?pwd=1111 提取码: 1111 设计内容: 实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。 设计功能: 1、能够完成对设备的录入和修改 2、对设备进行分类统计 3、设备的破损耗费和遗损处理 4、设备的查询 要求:采用文件方式存储数据,系统以菜单方式工作 链接: https://pan.baidu.com/s/1AdMlIyDVtLtuVVNf62As-Q?pwd=1111 提取码: 1111 设计内容: 设计一个学生选修课程系统,假定有n门课程,每门课程有:课程编号,课程名称,课程性质(公共课、必修课、选修课),总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。 设计功能: 1、系统以菜单方式工作 2、课程信息录入功能(课程信息用文件保存)--输入 3、课程信息的编辑功能(插入、删除、修改) 4、课程信息浏览功能(按课程编号、课程名称、总学时、学分等排序输出)。 5、课程信息查询功能(按课程编号、课程名称、课程性质、开课学期等查询,提供模糊查询的功能) 6、学生选修课程 7、学生选课信息查询 链接: https://pan.baidu.com/s/1AdMlIyDVtLtuVVNf62As-Q?pwd=1111 提取码: 1111 设计内容: 某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:1)销售员的代号,2)产品的代号,3)这种产品的当天的销售额。每位销售员每天上缴1张便条。试设计一个便条管理系统。 设计功能: 1、系统以菜单方式工作 2、便条信息录入功能(便条信息用文件保存)--输入 3、收集到了上个月的所有便条后,读取销售情况 1)计算每个人每种产品的销售额。 2)按销售额对销售员进行排序,输出排序结果(销售员代号) 3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)(可选项) 链接: https://pan.baidu.com/s/1AdMlIyDVtLtuVVNf62As-Q?pwd=1111 提取码: 1111 设计内容: 设计出模拟手机通信录管理系统,实现对手机中的通信录进行管理。 设计功能: (1)查看功能:选择此功能时,列出下列三类选择。 A.办公类 B.个人类 C.商务类,当选中某类时,显示出此类所有数据中的姓名和电话号码) (2)增加功能:能录入新数据 一个结点包括:姓名、电话号码、分类(A 办公类 B 个人类 C 商务类)、电子邮件)。 例如: 杨春 13589664454 商务类 chuny@126.com 当录入了重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通信录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。 (3)拔号功能: 能显示出通信录中所有人的姓名,当选中某个姓名时,屏幕上模拟打字机的效果依次显示出此人的电话号码中的各个数字,并伴随相应的拔号声音。 (4)修改功能: 选中某个人的姓名时,可对此人的相应数据进行修改 (5)删除功能: 选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。 链接: https://pan.baidu.com/s/1AdMlIyDVtLtuVVNf62As-Q?pwd=1111 提取码: 1111 每个教师的信息为:教师号、姓名、性别、单位名称、家庭住址、联系电话、基本工资、津贴、生活补贴、应发工资、电话费、水电费、房租、所得税、卫生费、公积金、合计扣款、实发工资。注:应发工资=基本工资+津贴+生活补贴;合计扣款=电话费+水电费+房租+所得税+卫生费+公积金;实发工资=应发工资 - 合计扣款。 A、教师信息处理 (1) 输入教师信息 (2) 插入(修改)教师信息: (3) 删除教师信息: (4) 浏览教师信息:   提示:具体功能及操作参考题1。 B、教师数据处理: (1) 按教师号录入教师基本工资、津贴、生活补贴、电话费、水电费、房租、所得税、卫生费、公积金等基本数据。 (2) 教师实发工资、应发工资、合计扣款计算。   提示:计算规则如题目。 (3) 教师数据管理   提示:输入教师号,读出并显示该教师信息,输入新数据,将改后信息写入文件 (4) 教师数据查询:   提示:输入教师号或其他信息,即读出所有数据信息,并显示出来。 (5) 教师综合信息输出   提示:输出教师信息到屏幕。 链接: https://pan.baidu.com/s/1AdMlIyDVtLtuVVNf62As-Q?pwd=1111 提取码: 1111
2023-09-01 22:24:311

C语言课程设计

这好像是数据库课程设计阿 用vb或c++编写的可能多一些。c的还真不知道。帮不上忙,不好意思
2023-09-01 22:24:412

C语言课程设计:数据排序算法

你不是都很清楚了
2023-09-01 22:25:393

用C语言设计一个简单计算器的课程设计(希望能尽可能的详细,多一些)

/*输入表达式只能包含整数,+-*/和()*/#include<stdio.h>#include<string.h>int add(int x,int y);int sub(int x,int y);int mul(int x,int y);int div(int x,int y);int getach(); //用于获取一个合法字符int getid(); //对合法字符进行判断处理int cal(); //计算表达式的值int num,curch;int (*func[])(int x,int y)={add,sub,mul,div}; //函数指针数组,数组元素分别指向+-*/运算函数char chtbl[]="+-*/()=";char corch[]="+-*/()=0123456789";void main(){int value;printf("请输入要计算的表达式,以=结束:");getach();while(curch!="="){ value=cal(); printf("结果为:%d ",value); printf("请输入要计算的表达式,以=结束:"); getach();}}int add(int x,int y){return x+y;}int sub(int x,int y){return x-y;}int mul(int x,int y){return x*y;}int div(int x,int y){return x/y;}int getach(){unsigned int i;while(true){ curch=getchar(); if(curch==EOF) return -1; for(i=0;corch[i]&&curch!=corch[i];i++) ; if(i<strlen(corch)) break;}return curch;}int getid(){int i;if(curch>="0"&&curch<="9"){ for(num=0;curch>="0"&&curch<="9";getach()) num=num*10+curch-"0"; return -1;}else{ for(i=0;chtbl[i];i++) { if(chtbl[i]==curch) break; } if(i<=5) getach(); return i;}}int cal(){int x1,x2,x3,op1,op2,i;i=getid();if(i==4) x1=cal();else x1=num;op1=getid();if(op1>=5) return x1;i=getid();if(i==4) x2=cal();else x2=num;op2=getid();while((op2>=0)&&(op2<5)){ i=getid(); if(i==4) x3=cal(); else x3=num; if((op1/2==0)&&(op2/2==1)) x2=func[op2](x2,x3); else { x1=func[op1](x1,x2); x2=x3; op1=op2; } op2=getid();}return func[op1](x1,x2);}
2023-09-01 22:25:552

C语言课程设计 成绩处理程序

国际足球总会主办的比赛和各洲足球联盟管辖的比赛
2023-09-01 22:26:054

c语言课程设计之车辆管理系统设计

这个我可以代做。
2023-09-01 22:26:131

C语言程序 课程设计

发消息给你了
2023-09-01 22:26:435

c语言课程设计怎么写?

这得看你课设的内容和需求是什么啊不然谁知道怎么写依照课设的要求去写就可以了如果代码不想自己写的话我可以有偿代劳
2023-09-01 22:27:122

C语言课程设计图书馆管理系统加讲解

图书管理系统代码如下:#include <stdio.h> #include <stdlib.h> #include <conio.h> struct BOOK { int id,usr[10],total,store,days[10]; char name[31],author[21]; }books[100]; /*上面是结构体的定义,用于存放书籍及借书的信息。*/ void page_title(char *menu_item) { clrscr(); printf(">>> 图 书 管 理 系 统 <<< - %s - ",menu_item); } /*上面是打印页眉的函数,同时通过参数menu_item,可以显示当前的状态。*/ void return_confirm(void) { printf(" 按任意键返回…… "); getch(); } /*上面是返回前请求确认的函数,以便在返回前观察结果*/ int search_book(void) { int n,i; printf("请输入图书序号:"); scanf("%d",&i); for(n=0;n<100;n++) { if(books[n].id==i) { printf("书名:%s ",books[n].name); printf("作者:%s ",books[n].author); printf("存数:%d of ",books[n].store); printf("%d ",books[n].total); return n; } } printf(" 输入错误或无效图书序号. "); return -1; } /*上面的函数是在数组中找到图书号匹配的记录,显示其信息并返 回数组下标,如果找不到相应记录则提示错误并返回-1。*/ void book_out(void) { int n,s,l,d; page_title("借阅图书"); if((n=search_book())!=-1&&books[n].store>0) { printf("请输入借书证序号:"); scanf("%d",&s); printf("请输入可借天数:"); scanf("%d",&d); for(l=0;l<10;l++) { if(books[n].usr[l]==0) { books[n].usr[l]=s; books[n].days[l]=d; break; } } books[n].store--; } if(n!=-1&&books[n].store==0) printf("此书已经全部借出. "); return_confirm(); } /*上面是借书的函数,首先调用找书函数*/ void book_in(void) { int n,s,l; page_title("归还图书"); if((n=search_book())!=-1&&books[n].store<books[n].total) { printf("借阅者图书证列表: "); for(l=0;l<10;l++) if (books[n].usr[l]!=0) printf("[%d] - %d天 ",books[n].usr[l],books[n].days[l]); printf("请输入借书证序号:"); scanf("%d",&s); for(l=0;l<10;l++) { if(books[n].usr[l]==s) { books[n].usr[l]=0; books[n].days[l]=0; break; } } books[n].store++; } if(n!=-1&&books[n].store==books[n].total) printf("全部入藏. "); return_confirm(); } void book_add(void) { int n; page_title("注册新书"); for(n=0;n<100;n++) if(books[n].id==0) break; printf("序号:"); scanf("%d",&books[n].id); printf("书名:"); scanf("%s",&books[n].name); printf("作者:"); scanf("%s",&books[n].author); printf("数量:"); scanf("%d",&books[n].total); books[n].store=books[n].total; return_confirm(); } void book_del(void) { int n; page_title("注销旧书"); if((n=search_book())!=-1) books[n].id=0; printf("该书已注销. "); return_confirm(); } void main(void) { menu: page_title("操作选单"); printf("请用数字键选择操作 "); printf("1 借阅图书 2 归还图书 "); printf("3 注册新书 4 注销旧书 "); printf(" 0 退出 "); switch(getch()) { case "1" : book_out();break; case "2" : book_in();break; case "3" : book_add();break; case "4" : book_del();break; case "0" : exit(0); } goto menu; } { int n; page_title("广?症慕"); if((n=search_book())!=-1) books[n].id=0; printf("乎慕厮广?. "); return_confirm(); } void main(void) { menu: page_title("荷恬佥汽"); printf("萩喘方忖囚佥夲荷恬 "); printf("1 処堋夕慕 2 拷珊夕慕 "); printf("3 广过仟慕 4 广?症慕 "); printf(" 0 曜竃 "); switch(getch()) { case "1" : book_out();break; case "2" : book_in();break; case "3" : book_add();break; case "4" : book_del();break; case "0" : exit(0); } goto menu; }
2023-09-01 22:27:234

C语言课设扫雷游戏设计及论文!

c语言课程设计_扫雷游戏设计/*5.3.4 源程序*/#include <graphics.h>#include <stdlib.h>#include <dos.h>#define LEFTPRESS 0xff01#define LEFTCLICK 0xff10#define LEFTDRAG 0xff19#define MOUSEMOVE 0xff08struct{ int num;/*格子当前处于什么状态,1有雷,0已经显示过数字或者空白格子*/ int roundnum;/*统计格子周围有多少雷*/ int flag;/*右键按下显示红旗的标志,0没有红旗标志,1有红旗标志*/}Mine[10][10];int gameAGAIN=0;/*是否重来的变量*/int gamePLAY=0;/*是否是第一次玩游戏的标志*/int mineNUM;/*统计处理过的格子数*/char randmineNUM[3];/*显示数字的字符串*/int Keystate;int MouseExist;int MouseButton;int MouseX;int MouseY;void Init(void);/*图形驱动*/void MouseOn(void);/*鼠标光标显示*/void MouseOff(void);/*鼠标光标隐藏*/void MouseSetXY(int,int);/*设置当前位置*/int LeftPress(void);/*左键按下*/int RightPress(void);/*鼠标右键按下*/void MouseGetXY(void);/*得到当前位置*/void Control(void);/*游戏开始,重新,关闭*/void GameBegain(void);/*游戏开始画面*/void DrawSmile(void);/*画笑脸*/void DrawRedflag(int,int);/*显示红旗*/void DrawEmpty(int,int,int,int);/*两种空格子的显示*/void GameOver(void);/*游戏结束*/void GameWin(void);/*显示胜利*/int MineStatistics(int,int);/*统计每个格子周围的雷数*/int ShowWhite(int,int);/*显示无雷区的空白部分*/void GamePlay(void);/*游戏过程*/void Close(void);/*图形关闭*/void main(void){ Init(); Control(); Close();}void Init(void)/*图形开始*/{ int gd=DETECT,gm; initgraph(&gd,&gm,"c:\tc");}void Close(void)/*图形关闭*/{ closegraph();}void MouseOn(void)/*鼠标光标显示*/{ _AX=0x01; geninterrupt(0x33);}void MouseOff(void)/*鼠标光标隐藏*/{ _AX=0x02; geninterrupt(0x33);}void MouseSetXY(int x,int y)/*设置当前位置*/{ _CX=x; _DX=y; _AX=0x04; geninterrupt(0x33);}int LeftPress(void)/*鼠标左键按下*/{ _AX=0x03; geninterrupt(0x33); return(_BX&1);}int RightPress(void)/*鼠标右键按下*/{ _AX=0x03; geninterrupt(0x33); return(_BX&2);}void MouseGetXY(void)/*得到当前位置*/{ _AX=0x03; geninterrupt(0x33); MouseX=_CX; MouseY=_DX;}void Control(void)/*游戏开始,重新,关闭*/{ int gameFLAG=1;/*游戏失败后判断是否重新开始的标志*/ while(1) { if(gameFLAG)/*游戏失败后没判断出重新开始或者退出游戏的话就继续判断*/ { GameBegain(); /*游戏初始画面*/ GamePlay();/*具体游戏*/ if(gameAGAIN==1)/*游戏中重新开始*/ { gameAGAIN=0; continue; } } MouseOn(); gameFLAG=0; if(LeftPress())/*判断是否重新开始*/ { MouseGetXY(); if(MouseX>280&&MouseX<300&&MouseY>65&&MouseY<85) { gameFLAG=1; continue; } } if(kbhit())/*判断是否按键退出*/ break; } MouseOff();}void DrawSmile(void)/*画笑脸*/{ setfillstyle(SOLID_FILL,YELLOW); fillellipse(290,75,10,10); setcolor(YELLOW); setfillstyle(SOLID_FILL,BLACK);/*眼睛*/ fillellipse(285,75,2,2); fillellipse(295,75,2,2); setcolor(BLACK);/*嘴巴*/ bar(287,80,293,81);}void DrawRedflag(int i,int j)/*显示红旗*/{ setcolor(7); setfillstyle(SOLID_FILL,RED); bar(198+j*20,95+i*20,198+j*20+5,95+i*20+5); setcolor(BLACK); line(198+j*20,95+i*20,198+j*20,95+i*20+10);}void DrawEmpty(int i,int j,int mode,int color)/*两种空格子的显示*/{ setcolor(color); setfillstyle(SOLID_FILL,color); if(mode==0)/*没有单击过的大格子*/ bar(200+j*20-8,100+i*20-8,200+j*20+8,100+i*20+8); else if(mode==1)/*单击过后显示空白的小格子*/ bar(200+j*20-7,100+i*20-7,200+j*20+7,100+i*20+7);}void GameBegain(void)/*游戏开始画面*/{ int i,j; cleardevice(); if(gamePLAY!=1) { MouseSetXY(290,70); /*鼠标一开始的位置,并作为它的初始坐标*/ MouseX=290; MouseY=70; } gamePLAY=1;/*下次按重新开始的话鼠标不重新初始化*/ mineNUM=0; setfillstyle(SOLID_FILL,7); bar(190,60,390,290); for(i=0;i<10;i++)/*画格子*/ for(j=0;j<10;j++) DrawEmpty(i,j,0,8); setcolor(7); DrawSmile();/*画脸*/ randomize(); for(i=0;i<10;i++)/*100个格子随机赋值有没有地雷*/ for(j=0;j<10;j++) { Mine[i][j].num=random(8);/*如果随机数的结果是1表示这个格子有地雷*/ if(Mine[i][j].num==1) mineNUM++;/*现有雷数加1*/ else Mine[i][j].num=2; Mine[i][j].flag=0;/*表示没红旗标志*/ } sprintf(randmineNUM,"%d",mineNUM); /*显示这次总共有多少雷数*/ setcolor(1); settextstyle(0,0,2); outtextxy(210,70,randmineNUM); mineNUM=100-mineNUM;/*变量取空白格数量*/ MouseOn();}void GameOver(void)/*游戏结束画面*/{ int i,j; setcolor(0); for(i=0;i<10;i++) for(j=0;j<10;j++) if(Mine[i][j].num==1)/*显示所有的地雷*/ { DrawEmpty(i,j,0,RED); setfillstyle(SOLID_FILL,BLACK); fillellipse(200+j*20,100+i*20,7,7); }}void GameWin(void)/*显示胜利*/{ setcolor(11); settextstyle(0,0,2); outtextxy(230,30,"YOU WIN!");}int MineStatistics(int i,int j)/*统计每个格子周围的雷数*/{ int nNUM=0; if(i==0&&j==0)/*左上角格子的统计*/ { if(Mine[0][1].num==1) nNUM++; if(Mine[1][0].num==1) nNUM++; if(Mine[1][1].num==1) nNUM++; } else if(i==0&&j==9)/*右上角格子的统计*/ { if(Mine[0][8].num==1) nNUM++; if(Mine[1][9].num==1) nNUM++; if(Mine[1][8].num==1) nNUM++; } else if(i==9&&j==0)/*左下角格子的统计*/ { if(Mine[8][0].num==1) nNUM++; if(Mine[9][1].num==1) nNUM++; if(Mine[8][1].num==1) nNUM++; } else if(i==9&&j==9)/*右下角格子的统计*/ { if(Mine[9][8].num==1) nNUM++; if(Mine[8][9].num==1) nNUM++; if(Mine[8][8].num==1) nNUM++; } else if(j==0)/*左边第一列格子的统计*/ { if(Mine[i][j+1].num==1) nNUM++; if(Mine[i+1][j].num==1) nNUM++; if(Mine[i-1][j].num==1) nNUM++; if(Mine[i-1][j+1].num==1) nNUM++; if(Mine[i+1][j+1].num==1) nNUM++; } else if(j==9)/*右边第一列格子的统计*/ { if(Mine[i][j-1].num==1) nNUM++; if(Mine[i+1][j].num==1) nNUM++; if(Mine[i-1][j].num==1) nNUM++; if(Mine[i-1][j-1].num==1) nNUM++; if(Mine[i+1][j-1].num==1) nNUM++; } else if(i==0)/*第一行格子的统计*/ { if(Mine[i+1][j].num==1) nNUM++; if(Mine[i][j-1].num==1) nNUM++; if(Mine[i][j+1].num==1) nNUM++; if(Mine[i+1][j-1].num==1) nNUM++; if(Mine[i+1][j+1].num==1) nNUM++; } else if(i==9)/*最后一行格子的统计*/ { if(Mine[i-1][j].num==1) nNUM++; if(Mine[i][j-1].num==1) nNUM++; if(Mine[i][j+1].num==1) nNUM++; if(Mine[i-1][j-1].num==1) nNUM++; if(Mine[i-1][j+1].num==1) nNUM++; } else/*普通格子的统计*/ { if(Mine[i-1][j].num==1) nNUM++; if(Mine[i-1][j+1].num==1) nNUM++; if(Mine[i][j+1].num==1) nNUM++; if(Mine[i+1][j+1].num==1) nNUM++; if(Mine[i+1][j].num==1) nNUM++; if(Mine[i+1][j-1].num==1) nNUM++; if(Mine[i][j-1].num==1) nNUM++; if(Mine[i-1][j-1].num==1) nNUM++; } return(nNUM);/*把格子周围一共有多少雷数的统计结果返回*/}int ShowWhite(int i,int j)/*显示无雷区的空白部分*/{ if(Mine[i][j].flag==1||Mine[i][j].num==0)/*如果有红旗或该格处理过就不对该格进行任何判断*/ return; mineNUM--;/*显示过数字或者空格的格子就表示多处理了一个格子,当所有格子都处理过了表示胜利*/ if(Mine[i][j].roundnum==0&&Mine[i][j].num!=1)/*显示空格*/ { DrawEmpty(i,j,1,7); Mine[i][j].num=0; } else if(Mine[i][j].roundnum!=0)/*输出雷数*/ { DrawEmpty(i,j,0,8); sprintf(randmineNUM,"%d",Mine[i][j].roundnum); setcolor(RED); outtextxy(195+j*20,95+i*20,randmineNUM); Mine[i][j].num=0;/*已经输出雷数的格子用0表示已经用过这个格子*/ return ; } /*8个方向递归显示所有的空白格子*/ if(i!=0&&Mine[i-1][j].num!=1) ShowWhite(i-1,j); if(i!=0&&j!=9&&Mine[i-1][j+1].num!=1) ShowWhite(i-1,j+1); if(j!=9&&Mine[i][j+1].num!=1) ShowWhite(i,j+1); if(j!=9&&i!=9&&Mine[i+1][j+1].num!=1) ShowWhite(i+1,j+1); if(i!=9&&Mine[i+1][j].num!=1) ShowWhite(i+1,j); if(i!=9&&j!=0&&Mine[i+1][j-1].num!=1) ShowWhite(i+1,j-1); if(j!=0&&Mine[i][j-1].num!=1) ShowWhite(i,j-1); if(i!=0&&j!=0&&Mine[i-1][j-1].num!=1) ShowWhite(i-1,j-1);}void GamePlay(void)/*游戏过程*/{ int i,j,Num;/*Num用来接收统计函数返回一个格子周围有多少地雷*/ for(i=0;i<10;i++) for(j=0;j<10;j++) Mine[i][j].roundnum=MineStatistics(i,j);/*统计每个格子周围有多少地雷*/ while(!kbhit()) { if(LeftPress())/*鼠标左键盘按下*/ { MouseGetXY(); if(MouseX>280&&MouseX<300&&MouseY>65&&MouseY<85)/*重新来*/ { MouseOff(); gameAGAIN=1; break; } if(MouseX>190&&MouseX<390&&MouseY>90&&MouseY<290)/*当前鼠标位置在格子范围内*/ { j=(MouseX-190)/20;/*x坐标*/ i=(MouseY-90)/20;/*y坐标*/ if(Mine[i][j].flag==1)/*如果格子有红旗则左键无效*/ continue; if(Mine[i][j].num!=0)/*如果格子没有处理过*/ { if(Mine[i][j].num==1)/*鼠标按下的格子是地雷*/ { MouseOff(); GameOver();/*游戏失败*/ break; } else/*鼠标按下的格子不是地雷*/ { MouseOff(); Num=MineStatistics(i,j); if(Num==0)/*周围没地雷就用递归算法来显示空白格子*/ ShowWhite(i,j); else/*按下格子周围有地雷*/ { sprintf(randmineNUM,"%d",Num);/*输出当前格子周围的雷数*/ setcolor(RED); outtextxy(195+j*20,95+i*20,randmineNUM); mineNUM--; } MouseOn(); Mine[i][j].num=0;/*点过的格子周围雷数的数字变为0表示这个格子已经用过*/ if(mineNUM<1)/*胜利了*/ { GameWin(); break; } } } } } if(RightPress())/*鼠标右键键盘按下*/ { MouseGetXY(); if(MouseX>190&&MouseX<390&&MouseY>90&&MouseY<290)/*当前鼠标位置在格子范围内*/ { j=(MouseX-190)/20;/*x坐标*/ i=(MouseY-90)/20;/*y坐标*/ MouseOff(); if(Mine[i][j].flag==0&&Mine[i][j].num!=0)/*本来没红旗现在显示红旗*/ { DrawRedflag(i,j); Mine[i][j].flag=1; } else if(Mine[i][j].flag==1)/*有红旗标志再按右键就红旗消失*/ { DrawEmpty(i,j,0,8); Mine[i][j].flag=0; } } MouseOn(); sleep(1); } }}c语言课程设计_扫雷游戏设计
2023-09-01 22:27:311

C语言课程设计-学生成绩管理程序

#include<stdio.h> /*引用库函数*/ #include<stdlib.h> #include<ctype.h> #include<string.h> typedef struct /*定义结构体数组*/ { char num[10]; /*学号*/ char name[20]; /*姓名*/ int score; /*成绩*/ }Student; Student stu[80]; /*结构体数组变量*/ int menu_select() /*菜单函数*/ { char c; do{ system("cls"); /*运行前清屏*/ printf(" ****Students" Grade Management System**** "); /*菜单选择*/ printf(" | 1. Input Records | "); printf(" | 2. Display All Records | "); printf(" | 3. Sort | "); printf(" | 4. Insert a Record | "); printf(" | 5. Delete a Record | "); printf(" | 6. Query | "); printf(" | 7. Statistic | "); printf(" | 8. Add Records from a Text File| "); printf(" | 9. Write to a Text file | "); printf(" | 0. Quit | "); printf(" ***************************************** "); printf(" Give your Choice(0-9):"); c=getchar(); /*读入选择*/ }while(c<"0"||c>"9"); return(c-"0"); /*返回选择*/ } int Input(Student stud[],int n) /*输入若干条记录*/ {int i=0; char sign,x[10]; /*x[10]为清除多余的数据所用*/ while(sign!="n"&&sign!="N") /*判断*/ { printf(" student"s num:"); /*交互输入*/ scanf(" %s",stud[n+i].num); printf(" student"s name:"); scanf(" %s",stud[n+i].name); printf(" student"s score:"); scanf(" %d",&stud[n+i].score); gets(x); /*清除多余的输入*/ printf(" any more records?(Y/N)"); scanf(" %c",&sign); /*输入判断*/ i++; } return(n+i); } void Display(Student stud[],int n) /*显示所有记录*/ { int i; printf(" ----------------------------------- "); /*格式头*/ printf(" number name score "); printf(" ----------------------------------- "); for(i=1;i<n+1;i++) /*循环输入*/ { printf(" %-16s%-15s%d ",stud[i-1].num,stud[i-1].name,stud[i-1].score); if(i>1&&i%10==0) /*每十个暂停*/ {printf(" ----------------------------------- "); /*格式*/ printf(" "); system("pause"); printf(" ----------------------------------- "); } } printf(" "); system("pause"); } void Sort_by_num(Student stud[],int n) /*按学号排序*/ { int i,j,*p,*q,s; char t[10]; for(i=0;i<n-1;i++) /*冒泡法排序*/ for(j=0;j<n-1-i;j++) if(strcmp(stud[j].num,stud[j+1].num)>0) {strcpy(t,stud[j+1].num); strcpy(stud[j+1].num,stud[j].num); strcpy(stud[j].num,t); strcpy(t,stud[j+1].name); strcpy(stud[j+1].name,stud[j].name); strcpy(stud[j].name,t); p=&stud[j+1].score; q=&stud[j].score; s=*p; *p=*q; *q=s; } } int Insert_a_record(Student stud[],int n) /*插入一条记录*/ {char x[10]; /*清除多余输入所用*/ printf(" student"s num:"); /*交互式输入*/ scanf(" %s",stud[n].num); printf(" student"s name:"); scanf(" %s",stud[n].name); printf(" student"s score:"); scanf(" %d",&stud[n].score); gets(x); n++; Sort_by_num(stud,n); /*调用排序函数*/ printf(" Insert Successed! "); /*返回成功信息*/ return(n); } int Delete_a_record(Student stud[],int n) /*按姓名查找,删除一条记录*/ { char s[20]; int i=0,j; printf(" tell me his(her) name:"); /*交互式问寻*/ scanf("%s",s); while(strcmp(stud[i].name,s)!=0&&i<n) i++; /*查找判断*/ if(i==n) { printf(" not find! "); /*返回失败信息*/ return(n); } for(j=i;j<n-1;j++) /*删除操作*/ { strcpy(stud[j].num,stud[j+1].num); strcpy(stud[j].name,stud[j+1].name); stud[j].score=stud[j+1].score; } printf(" Delete Successed! "); /*返回成功信息*/ return(n-1); } void Query_a_record(Student stud[],int n) /*查找并显示一个记录*/ { char s[20]; int i=0; printf(" input his(her) name:"); /*交互式输入*/ scanf(" %s",s); while(strcmp(stud[i].name,s)!=0&&i<n) i++; /*查找判断*/ if(i==n) { printf(" not find! "); /*输入失败信息*/ return; } printf(" his(her) number:%s ",stud[i].num); /*输出该学生信息*/ printf(" his(her) score:%d ",stud[i].score); } void Statistic(Student stud[],int n) /*新增功能,输出统计信息*/ { int i,j=0,k=0,sum=0; float aver; /*成绩平均值*/ for(i=0;i<n;i++) /*循环输入判断*/ { sum+=stud[i].score; if(stud[j].score>stud[i].score) j=i; if(stud[k].score<stud[i].score) k=i; } aver=1.0*sum/n; printf(" there are %d records. ",n); /*总共记录数*/ printf(" the hignest score: "); /*最高分*/ printf(" number:%s name:%s score:%d ",stud[j].num,stud[j].name,stud[j].score); printf(" the lowest score: "); /*最低分*/ printf(" number:%s name:%s score:%d ",stud[k].num,stud[k].name,stud[k].score); printf(" the average score is %5.2f ",aver); /*平均分*/ } int AddfromText(Student stud[],int n) /*从文件中读入数据*/ { int i=0,num; FILE *fp; /*定义文件指针*/ char filename[20]; /*定义文件名*/ printf(" Input the filename:"); scanf(" %s",filename); /*输入文件名*/ if((fp=fopen(filename,"rb"))==NULL) /*打开文件*/ { printf(" cann"t open the file "); /*打开失败信息*/ printf(" "); system("pause"); return(n); } fscanf(fp,"%d",&num); /*读入总记录量*/ while(i<num) /*循环读入数据*/ { fscanf(fp,"%s%s%d",stud[n+i].num,stud[n+i].name,&stud[n+i].score); i++; } n+=num; fclose(fp); /*关闭文件*/ printf(" Successed! "); printf(" "); system("pause"); return(n); } void WritetoText(Student stud[],int n) /*将所有记录写入文件*/ { int i=0; FILE *fp; /*定义文件指针*/ char filename[20]; /*定义文件名*/ printf(" Write Records to a Text File "); /*输入文件名*/ printf(" Input the filename:"); scanf(" %s",filename); if((fp=fopen(filename,"w"))==NULL) /*打开文件*/ { printf(" cann"t open the file "); system("pause"); return; } fprintf(fp,"%d ",n); /*循环写入数据*/ while(i<n) { fprintf(fp,"%-16s%-15s%d ",stud[i].num,stud[i].name,stud[i].score); i++; } fclose(fp); /*关闭文件*/ printf("Successed! "); /*返回成功信息*/ } void main() /*主函数*/ { int n=0; for(;;) { switch(menu_select()) /*选择判断*/ { case 1: printf(" Input Records "); /*输入若干条记录*/ n=Input(stu,n); break; case 2: printf(" Display All Records "); /*显示所有记录*/ Display(stu,n); break; case 3: printf(" Sort "); Sort_by_num(stu,n); /*按学号排序*/ printf(" Sort Suceessed! "); printf(" "); system("pause"); break; case 4: printf(" Insert a Record "); n=Insert_a_record(stu,n); /*插入一条记录*/ printf(" "); system("pause"); break; case 5: printf(" Delete a Record "); n=Delete_a_record(stu,n); /*按姓名查找,删除一条记录*/ printf(" "); system("pause"); break; case 6: printf(" Query "); Query_a_record(stu,n); /*查找并显示一个记录*/ printf(" "); system("pause"); break; case 7: printf(" Statistic "); Statistic(stu,n); /*新增功能,输出统计信息*/ printf(" "); system("pause"); break; case 8: printf(" Add Records from a Text File "); n=AddfromText(stu,n); /*新增功能,输出统计信息*/ break; case 9: printf(" Write to a Text file "); WritetoText(stu,n); /*循环写入数据*/ printf(" "); system("pause"); break; case 0: printf(" Have a Good Luck,Bye-bye! "); /*结束程序*/ printf(" "); system("pause"); exit(0); } } }
2023-09-01 22:27:411

C语言高手进

//这是我在大学时做的,你看看: /* 程序功能: 能完成每位学生的某门课程的平时成绩和期末考试成绩的录入, 完成每位学生的总评成绩计算(平时成绩*30%+期末考试成绩*70%)并生成数据文件, 生成分数段统计文件(不及格人数,60-69数,70-79人数,80-89人数,90-100人数,及格 率), 通过学生成绩的数据文件查询学生成绩(查询条件自定)。 通过学生成绩的分段统计文件输出学生成绩分段情况和及格率。 程序要求: (1)能够完成300人以内任何人数的成绩处理。 (2)程序要有主控菜单 */ #include<stdio.h> #include<stdlib.h> #include<string.h> struct stud { long num; char name[20]; double score; }; typedef struct stucode { struct stud student ; struct stucode *next; }L; void menu(); void createlist(struct stucode **r); void out(struct stucode *r); void search1(struct stucode *r); void search2(struct stucode *r); void del(struct stucode **r); void insert(struct stucode **r); void sort(struct stucode **r); void main() { char choose; int flag=1; struct stucode *r=NULL; while(flag) { system("cls"); menu(); choose=getchar(); switch(choose) { case "1": createlist(&r); out(r); printf("Testing function 1 Press any key to continue "); getchar(); getchar(); break; case "2": search1(r); printf("Testing function 1 Press any key to continue "); getchar(); getchar(); break; case "3": search2(r); printf("Testing function 1 Press any key to continue "); getchar(); getchar(); break; case "4": del(&r); out(r); printf("Testing function 1 Press any key to continue "); getchar(); getchar(); break; case "5": insert(&r); out(r); printf("Testing function 1 Press any key to continue "); getchar(); getchar(); break; case "6": sort(&r); out(r); printf("Testing function 1 Press any key to continue "); getchar(); getchar(); break; case "7": out(r); printf("Testing function 7 Press any key to continue "); getchar(); getchar(); break; case "0": flag=0; printf("The end. "); break; default: printf(" Wrong Selection!(选择错误,请重选!) ");getchar();getchar(); } } } void createlist(struct stucode **r) { struct stucode *p,*t; long n; char a[20]; double s; if(*r) *r=NULL; printf(" 请输入: 学号(请按学号升序排列) 姓名 分数 (若要结束请输入三个为零) "); scanf("%ld%s%lf",&n,a,&s); if(n==0) return; p=(L *)malloc(sizeof(L)); p->student.num=n; strcpy(p->student.name,a); p->student.score=s; p->next=NULL; *r=p; scanf("%ld%s%lf",&n,a,&s); while(n) { t=p; p=(L *)malloc(sizeof(L)); p->student.num=n; strcpy(p->student.name,a); p->student.score=s; p->next=NULL; t->next=p; scanf("%ld%s%lf",&n,a,&s); } } void search1(struct stucode *r) { long x; if(!r) { printf("没有学生信息可查询! "); return ; } printf(" 请输入要查询的学生信息的学生学号: "); scanf("%ld",&x); while(r&&r->student.num!=x) r=r->next; if(r==NULL) printf("Error! No such student ! "); else printf("%ld %s %.2lf ",r->student.num,r->student.name,r->student.score); } void search2(struct stucode *r) { char m[20]; if(!r) { printf("没有学生信息可查询! "); return ; } printf(" 请输入要查询的学生信息的学生姓名: "); scanf("%s",m); while(r&&strcmp(r->student.name,m)) r=r->next; if(r==NULL) printf("Error! No such student ! "); else printf("%ld %s %.2lf ",r->student.num,r->student.name,r->student.score); } void del(struct stucode **r) { long k; struct stucode *p=*r,*t; if(!(*r)) { printf("没有学生信息可删除 ! "); return ; } printf(" 请输入要删除的学生信息的学生学号: "); scanf("%ld",&k); if(p->student.num==k) *r=(*r)->next,free(p); else { while(p->next&&p->next->student.num!=k) p=p->next; if(p->next==NULL) printf("Error! No such student ! "); else { t=p->next; p->next=p->next->next; free(t); } } } void insert(struct stucode **r) { long n; char a[20]; double s; L *p,*t,*k; printf(" 请输入要插入的学生信息的学生学号 姓名 分数: "); scanf("%ld%s%lf",&n,a,&s); p=(L *)malloc(sizeof(L)); p->student.num=n; p->student.score=s; strcpy(p->student.name,a); if(!(*r)) { *r=p; (*r)->next=NULL; return ; } if(p->student.num<(*r)->student.num) p->next=(*r),(*r)=p; else { t=*r; k=t; while(t->next&&t->next->student.num<=p->student.num) t=t->next; p->next=t->next; t->next=p; *r=k; } } void sort(struct stucode **r) { struct stucode *t,*p,*q,*z; if(!r) { printf("没有学生信息可排序! "); return ; } if(!(*r)||!(*r)->next) return; t=*r; p=t->next; t->next=NULL; while(p) { q=p->next; if(p->student.score>t->student.score) { p->next=t; t=p; } else { z=t; while(z->next&&z->next->student.score>=p->student.score) z=z->next; p->next=z->next; z->next=p; } p=q; } *r=t; } void out(struct stucode *r) { printf(" "); if(!r) { printf("没有学生信息可输出! "); return ; } while(r) { printf("%ld %s %.2lf ",r->student.num,r->student.name,r->student.score); r=r->next; } printf(" "); } void menu() { printf(" 学生信息管理系统 "); printf(" 菜单 "); printf(" 1建立链表并显示 "); printf(" 2查找某学号的学生信息 "); printf(" 3查找某姓名的学生信息 "); printf(" 4删除某学号的学生信息 "); printf(" 5插入新的学生信息 "); printf(" 6按分数降序排列输出 "); printf(" 7输出 "); printf(" 0退出 "); printf(" 请选择您要执行的选项: "); }
2023-09-01 22:28:011

课程设计的目的和意义

以下是我做课程设计时写的,希望能够帮你目的:根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。C语言课程设计过程总结:回顾起此次课程设计,至今我仍感慨颇多,从理论到实践,在整整半个月的日子里,我学到很多很多的东西,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的内容。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才是真正的知识,才能提高自己的实际动手能力和独立思考的能力。在设计的过程遇到了各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计,把以前所学过的知识重新温故,巩固了所学的知识。
2023-09-01 22:28:092

2017高考满分作文800字【五篇】

【第一篇:深入灵魂的热爱】   每个情感纯真的人,心底都有一首情歌,它美丽且忧伤,心动又销魂。   心怀淡淡烟愁的女子,注定比别人多一缕细腻的伤感,注定比别人多一抹触景生情的悲凉。   总是轻易就被一些悲情的东西,忽然触碰了至低的泪点。一颗温柔的心,竟然变得那么敏感那么脆弱。在爱的世界里,每个人都有自己致命的软肋,爱是人生中经历的一段插曲,更是一种心酸的浪漫。   昨天你那么爱我,今天你在哪里?开始笑得最美,最后哭得最真,这就是最真实的爱情。   多少真爱被现实击败,回忆只能证明自己爱过,并不能说明那段爱可以白头偕老,更不能把丢失的一切复原。   时间,没有给任何人留下一张折返的车票,我们只能一路前行,甚至连回头悲叹的时间都没有。我在天涯一角平静的生活,疏远着尘世里的一切,那些流逝了的曾经,在谁忽然记起的瞬间里闪过?好不容易跨过了一段艰难的时间,又被一种低落的情绪侵占泛滥。我的世界,你的世界,幸福和忧伤不再交换,挥手即是永远……   谁是谁的风景,谁是谁的过客都是注定的。你握过他的手又怎样?你拥抱过他的一切又怎样?最终都是指尖划落的尘烟……   一个人疼痛不堪的时候,总想找一种方式来麻痹自己,麻木自己的一切神经,好让自己在一瞬间忘记了那疼,忘记了那殇。   暮然间,一股酸楚的感觉,忽然在眼底流淌泛滥。有些东西注定在远去的同时,也在心上留下抹不去的疤痕。   在心角处寻一个凄美的位置给自己,再华美的文字都不能召唤回那个温暖的怀抱。那盈握在心的美好,不舍得它走远,又该将其存放于何处?   一段爱情,分离了,也就散了,一颗沸腾过的心,变成一池死水微澜,一个人安静的忧伤,是镇痛的方式。   爱是美丽的忧伤,爱是甜美的心碎。看着一个熟悉的背影,终于消失在自己的视线里,双唇颤抖着,心却已无言。   爱到忘却了自己,等到有一天从那个爱情的痴梦中醒来,发觉自己的身心竟已是伤痕累累。   曾祈祷此岸彼岸,莫失莫离,如今却已失已离。无力改变的结局,无法持久的炙热,情深缘浅是早就拟定了的结局。   斑驳的情话,凋谢成旧忆旧年,贴在胸前找不到那时砰然跳动的感觉,代替它的却是一种隐隐的痉挛。    【第二篇:教育差距】   望子成龙,望女成凤,这是每个家长对孩子的期盼,而每个家庭对待孩子的教育也各不一样。有的是顺其自然,让孩子自由发挥;有的是望子成才心切,对孩子学业严厉苛刻。   小明和小王是同桌,他们的家长对待他们的学业有不同的做法。小明成绩优异,父母都希望他能有一个好前途,所以从小对他学业很严厉,不能有半点差错;小王成绩不是很好,虽然父母很失望,但是父母对他的学业还是一直鼓励。一次测试,小明考了满分,父母很高兴,亲了小明一口,让他下次还是拿满分;小王没考及格,父母很生气,打了小王一巴掌,让他下次考好点。等到下次考试,小明没考到满分,父母打了他一巴掌,而这次小王分数提高了一些,父母亲了他一口!   两对父母对待孩子成绩的不同做法,可以看出当代教育的不同体现。俗话说“黄金条条出好人”,这种思想也不是全对,家长过分的对孩子学业严厉,终究会适得其反,只会让孩子厌烦学习,如果家长对孩子学业多一点关心,鼓励,问候,对孩子繁重的学业之后也是一个很好的安慰,毕竟每个家长都是从孩子阶段走来的,都有过同样的感受!这幅漫画首先指向的是家庭教育,寓意的是爱与惩罚及其功能。在我看来,两个巴掌都是不对的,而两个吻都很对。仔细分析一下,100分得到的吻是高分挣来的,是爱,但爱的内容比较单一,所以98分就要挨巴掌;55分的巴掌是错误的,家长粗暴了,但61分的吻特别温馨,爱的内容比较丰富,有亲情,还有鼓励、宽容和等待。从效果看,98分挨巴掌的孩子可能从此战战兢兢,学习心态受到了极大的破坏,会进入比较机械僵硬的学习状态,甚至可能创造精神也被压抑,下一次考试变成90分甚至更低都有可能。但61分得到的吻则可能成为一种动力,从而形成一种积极向上的精神,孩子的心理会处于比较宽松自由的健康状态,未来可能有很好的发展,下一次考试分数会更高几乎是可以肯定的。   这幅漫画虽然看起来主要是在跟家长们对话,其实也是在讨论中国的教育。中国教育的一个重要弊端就是唯分数论,分数决定一切,漫画里的吻和巴掌也是分数决定论的后果。分数决定论在教育发展和人才选拔方面的消极后果已经日益显现,值得全社会反思。    【第三篇:尺子】   从100分到98分,挨一顿揍;从55分到61分,得一个吻。这看似荒诞不经的故事,却常常发生在我们身边,许多人看来,前者退步了挨揍是天经地义,后者进步了得吻是理所当然。   我们常说,要一把尺子量到底。在现实生活中,应当说尺子是最公平的,但拿在不同人的手里,去度量不同的人,就会出现不同的结果。我们习惯了妈妈在厨房中的忙碌,一日三餐总是准时吃到可口的饭菜,可当有一天,我们回家面对着干锅冷灶的时候,却首先想到的是无饭可吃,沮丧之余,面露愠色,甚至开口责备,完全忽略了她累了病了,撑不住了,连烧口开水的力气也没有了;而我们的爸爸偶尔下一次厨房,煮一碗面,却能让一家人感到万分知足。惯性,使我们的尺子变得富有弹性,却无法丈量出爱的深远。   每个单位都良莠不齐,有干的有看的,也有捣乱的,总有一些秃子混在和尚之中滥竽充数。奇怪的是干的永远在干,看的一直在看,而干得越多失误也越多,得到的批评也越多,而那些看客,偶尔偷机取巧做做样子,就会名利双收。甚至那些捣乱的,变得乖巧一些,就会让领导和一席众人皆大欢喜,心满意足。惰性,使我们的尺子带了偏见,就再也无法凝聚众人的力量。   大家还记得北方小城那位舍粥的大嫂吗?每到冬天她就半夜起来,熬上满满的三锅热粥,免费送给寒风中瑟缩的清洁工、穷苦人和乞丐,数年如一日,不曾间断。而当有一天,一位老汉从中吃出了一粒沙子,顿时将一碗热粥泼在大嫂的身上,而领粥的人,也瞬间划分为两大阵营:有人说老汉不该撒野,也有人指责大嫂不该掺沙子。薄情,让我们的尺子扭曲,冷了多少善良的心。   开县一辆满载了19名乘客的中巴,突遇险情,一头栽进深达五米的水塘。当地村民金有树跳进冰冷刺骨的水中,砸开车窗将19名乘客全部救出,自己却因长时间冷水的浸泡患上肺病,举债治疗数月,告借无门,不得不离开医院,病死家中。19名幸存者无一人去医院探视,更无人为他送行。金有树临死前写下一封信,第一句话就是:“我救了19人的命,现在谁来救我的命。”冷漠,让我们的尺子訇然寸断,留下无尽的遗憾。   每个人心里都有一把尺子。我们用它来衡量别人,更要时常度量自己。这个世界,应当有这样一把尺子,于情充满温暖,于理凸显公平,于法彰显正义,时时刻刻闪耀着人性的光辉。只要坚持从我做起,从一点一滴做起,苛责自我,宽厚待人,星星之火,势必燎原,人间终会洒满阳光,洒满爱。    【第四篇:知行合一,前路可期】   去年今日,我绞尽脑汁、遣词造句,把自己兵荒马乱的高中岁月落笔在红格纸之间。此时此刻,我在做同样的努力,却发现一年的时间,远离了“夜阑犹梦,文学当枕”的日子,少了过去高中胡老师语文课堂上文学氛围的濡染,现在已是语言干涩、言辞匮乏。却仍执拗的强撑,想要再去写一次高考作文,实是羞愧难当。   提及语文素养,在我看来,是知识与能力的并行不悖,是思维观念和文化品位的相互浸润,是积累语言和拓展视野的相辅相成。抑或通俗来讲,素养本身绝非仅仅是格纹纸上的笔走龙蛇、挥毫洒墨。它可以是,当你闻知杨绛先生驾鹤西去之噩耗,不需要浏览潮水般的纪念文章,就能流利地背诵出兰德的《我和谁都不争》,得以明了先生“走到人生边上”内心的质朴和平和。同样,它也可以是,未谙世事的我们,甘愿成为文字的信徒,甚至把文字当成信仰去膜拜——那种迷恋情怀所以得以深晓一切阴晴冷暖。   好比社会之建设需要民智开启,我们语文素养的养成也的确需要一位优秀的老师为我们指点迷津。有效的课堂教学,不拘泥于形式,不在于灌输知识的多少,重要的是对于我们兴趣点的激发和培养,是严谨治学精神的影响和陶染。幸运至极,在高中的最后一年,我有机会每日聆听老胡的谆谆教诲,受提携之情与栽培之恩,没齿难忘。   如果说课堂上的讲授是一个引领,那么课外的大量阅读就是一种延伸。我们都期待着自己写作的时候可以笔下如行云流水、汪洋恣肆,词藻信手拈来,深情娓娓道出,可这些,都是需要阅读背后的文化底蕴进行积淀的。连亘的文字排列中,跌宕起伏的故事情节中,只要潜心发掘,便有值得借鉴的菁华,永世难忘。   谈及社会生活实践对于提升语文素养的影响,我认为其是如虎添翼,而非雪中送炭。也就是说,社会生活实践是要建立在扎实的教学和海量阅读的基础之上的,缺一不可。所谓实践,强调行动力,猝不及防的鲁莽断不可取,内心的丰富和饱满不可或缺。   诚然,题中之义的三条途径全部亲力亲为,知行合一,坚持到底是足以支撑语文素养的提升的。然而,大多时候,我们总是害怕自己的努力石沉大海,担忧获得的回报遥遥无期。因为语文素养不同于数理计算,它的反馈周期太过于漫长,倘若没有足够大的执念和孤注一掷的勇气,太容易泄气和崩溃。   可鲜衣怒马少年时,愿我们有朝一日可以奔赴近在咫尺的成功,也同样敢于征服远方始料未及的失败,前路漫漫但可期啊。    【第五篇:对生命更完美的诠释】   动物与生俱来具有生存能力,生存需要食物,于是它们捕食;生存需要空间,于是它们竞争和攻击,如果不再让动物去捕食去竞争,那么它们会逐渐地丧失生存的能力,无法独立,任何需要不靠自身的努力就可得来,这样的不劳而获久而久之会使之产生强烈的依赖性,当它们再次失去这种依靠时,那么面对丧失生存能力的动物的,就是死亡和毁灭。   曾在假期看电视时看过这样的一篇报导,人工饲养的老虎狮子,在放生前,必须经受残酷的训练,重新培养它们的生存能力,因为对于这样的肉食动物来说,没有捕食能力它们就会饿死;这样的事实是残酷的。可这样的实例在大千社会中应有尽有,曾经在网络上流行的言论:对于长期人工养殖的动物,“放生就等于放死”   。道理是同样的,在对待如此宝贵的生命时,也许培养它们的生存能力和独立性,是珍爱生命的方法。而这也不仅仅局限于自然界,对于我们人类社会,生存能力和独立性更为关键。   由于家里只有一个孩子,许多的父母就有意无意地娇惯、迁就、溺爱自己的孩子,孩子想要什么,就给什么,百依百顺,这使孩子产生了过分的依赖性,缺乏独立思考和独立行动的能力,甚至到了小升初时还不懂得自理生活。所以在孩子成长的过程中,没有吸取任何的生活经验,这就为长大成人后的他布下了绊脚石,离开父母后,也许生活对他们来说,举步维艰。   法国教育家卢梭曾说过:“你知道运用什么方法,一定可以使你的孩子成为不幸的人吗?这个方法就是对他百依百顺。”许多的父母就是在对孩子的过度保护中失了职,但这其中并不包括我的父母,从小到现在,我的父母虽然解决我的温饱但同时也在培养我的生活能力,或是说让我尝试着去一个人独立完成所有的事,我知道这对我来说是种锻炼,失去依赖性,也就是对我的未来有个保障,能让我在没有任何人帮助的情况下,更好地立足于社会。如今我能够在学校里和谐融洽地与同学交往,能够独自充实地生活,离不开生活环境对我的影响。   对生命对教育更完美的诠释,在于能力的培养,而溺爱和依赖则是对未来的阻挠。
2023-09-01 22:18:411

模仿荷叶母亲写一篇作文 跪求

母亲啊!你是荷叶,我是红莲,心中的雨点来了,除你,谁是我正在无遮拦全国的隐蔽?——题记我爱母亲,胜过爱本人的生命,由于母亲不但赐与了我生命并且还教会我明白了人生的意义。我爱母亲,从未向母亲说过“妈妈我爱你”。母亲爱我,也从未用行语表达过“女女我爱你”。母亲和我之间,有的只是不需用行语表达的爱。那份爱,似雨露润泽禾苗,永久正在母亲和我的心中涓涓流淌。那份爱,似幻想迸收火花,永久正在将来和我的心中熠熠闪灼。那份爱,似记忆挨开闸门,永久正在童年和我的心中依依回味。正在依依回味中我徐徐地回过甚来,认真地清算着历历正在目标产生正在五年级暑期的那一件事。高一写人作文荷叶母亲,记得那天,我骑自行车回家。快抵家时,一只小鸡俄然从家中冲出,吓得我治了四肢举动。我的车头一转,连人带车翻进了距公路三米高的小河。枯幸,命够年夜:脑壳恰好降正在水中,而脚仿佛砸正在了石块上。我模恍惚糊的想站起来,但还出站稳又摔倒了。看看周围,一个帮闲的人都出有,我悲伤地哭了。不知怎的,母亲却听到了我的哭声,或许是心思感应吧。她匆匆跑到我身旁,看到我那惨状,她呆了。我不知她那一刻是甚么觉得,回正我感觉她出说一句话,只瞅扶我,但我看到她流泪了。或许是焦虑,或许是疼爱,但或许是怨恨我不听她的教导。果她曾对我说过屡次,家门心路窄下又临河是万万不克不及骑车的。此时,她又苦心婆心地对我说:“那么年夜的人了,都不知道谨慎一点,那末窄的路你也敢骑,现正在知道痛了吧?如果成心中,叫我怎样办呢?”还出说完,她就低声哭了起来。看着母亲,我又不由得哭了,不是由于脚痛,而是母亲的眼泪打动了我。那是她第一次果我而流泪,真的好让我好打动。吃过午餐,我的脚愈来愈痛,有些部位都肿出来了。母亲说不克不及等了,必定要送我往病院。但客车已开走了,我又出法走路,怎样办呢?“走,我背你往病院。”“那里到病院最少要走一个小时,你背我会很累的,何况现正在太阳当头。不可,您会中暑的。”“中甚么暑啊,出事的!再不往你的脚会收炎的。”“然则……”“出‘然则"的,那算甚么!”我无话可说了,我知道妈妈的脾性。若是我再说下往,她就要收火了。一路上,我们都出有措辞,我靠正在妈妈的背上,觉得好幸福,但又美意酸。从我摔进河中到现正在,母亲就出有歇息过。那年夜热天,站正在中里几秒钟都市令人头晕脑胀,而母亲却背着我正在那狠毒辣的太阳底下走了一个多小时。我侧身看她的脸,那谦脸的汗水接连不停地滴降。看着看着,我的泪水也象细雨似的洒降了下来,滴正在母亲的身上,降正在我的心里。到病院拍了片,才知道我的左脚断了两根骨头。此时,我的心别提有多灾熬难过了。再看母亲,她那繁重的表情越收繁重了。大夫浅笑着说,“小女孩,你得立时接骨,有点痛你要忍住哦!”母亲闭心地哄我说,“有妈妈正在你不怕”。我也说,“有妈妈正在我不怕”。脚术开端了,妈妈初末抱着我,屏住呼吸,眼睛眨都不眨地盯着我。我觉得脚一阵阵痛苦悲伤,其真不由得就年夜叫了起来。我的哭声刺痛了母亲的心,她强忍着泪水说你感觉痛就哭吧,接着我就哇哇年夜哭了起来。我的眼正在流泪,母亲的心正在流血。我不知道此时母亲的脸色如何,只听睹她喃喃地嘀咕“真是作恶,如果产生正在我身上就行了”。颠末冗长十几分钟的“挣扎”,我的两根骨头末究联开正在一同了。母亲松了一心吻,我也截至了堕泪。我无意间收现泪水和汗水已干透了母亲的衣赏。我再次打动,打动的不是母亲的泪水和汗水,而是它流正在我心中的那份忘我的爱……若是说我是幼苗,那母亲就是立正在我身边的年夜树;年夜树常常荫护着我,使我茁壮成长。若是说我是水草,那母亲就是流正在我身上的死水;死水常常润泽着我,使我营养不足。若是说我是红莲,那母亲就是擎正在我头上的荷叶,荷叶常常遮拦着我,使我仄安舒心。那,就是母亲最朴拙的爱,人世年夜树般的爱。那,就是母亲最忘我的爱,人世死水般的爱。那,就是母亲最伟年夜的爱,人世荷叶般的爱。感激母亲,给了我生命。感激母亲,使我明白了人生的真理。
2023-09-01 22:18:422

储时健卖的橙是什么橙,有哪些品种

不知道
2023-09-01 22:18:423

二年级简单英语作文:我是一棵树 Im a tree

i"m a tree, i"m usually in green.but in autumn and winter,i am ofen in yellow. i live in front of a small house.there"s an old grandma in the house.sh"s very kind.when ifeel thirsty, she would water me in time,and i"m growing taller and taller now. when summer comes,i bing her cool winds,i think she would be very happy then. i can do many things for people.so i"m very happy. 我是一棵树,我通常用绿色。但在秋季和冬季,我经常在黄色。 我住在一个小房子的前面。有一个老奶奶在房子里。上海太好。当我感受到口渴,她将水我时间,我现在越长越高。 当夏天来临的时候,我必应她的凉爽的风,我想她也会非常开心。 我可以为人们做很多事情。所以我很高兴。
2023-09-01 22:18:411

哈尔滨酒店大火嫌犯为何人称社会四姐?

起底哈尔滨酒店大火嫌犯:产业众多, 人称社会四姐。据黑龙江省哈尔滨市公安局官方消息,8月30日10时40分,北龙温泉酒店“8.25”重大消防责任事故中酒店出资人、实际控制人、主要犯罪嫌疑人李艳滨于哈尔滨市南岗区被抓获。一段网络视频显示,李艳滨被抓获时头发凌乱,身着灰色运动服,绿色长裤。目前,已有4人涉嫌消防责任事故罪,2人涉嫌窝藏、包庇罪被依法刑事拘留。案件仍在侦办中。8月25日凌晨4时36分,哈尔滨市松北区太阳岛北龙温泉休闲酒店发生火灾,造成20人死亡,24人受伤。当天,酒店法人代表张伟平涉嫌消防责任事故罪已被刑事拘留。29日下午,哈尔滨市公安局发布犯罪嫌疑人线索征集通告指,主要犯罪嫌疑人、53岁的李艳滨在逃。工商信息显示,北龙温泉酒店成立于2015年4月15日,注册资本3000万元,为黑龙江省浴德酒店管理有限公司(简称“浴德酒店”)的全资子公司,浴德酒店法人代表、监事张伟平今年5月4日代替王冠林成为北龙温泉酒店现任法人。北龙温泉酒店餐饮部、温泉部多位员工表示,在法人变更宣布会上,张伟平表示他主要辅助王冠林工作,王冠林为李艳滨之子。北龙温泉酒店建筑面积18000平方米,为四层砖混结构。根据示意图,该酒店为“回字形”结构,中间为温泉区,四周逆时针方向分别为A、B、C、D、E五个区域。示意图航拍图。上下两图南北方位一致。当天入住的老年旅行团组织方北京九方愉悦商贸有限公司员工表示,88名老人及工作人员主要住在A、E两个区。酒店员工表示,该酒店共有190余间客房。25日凌晨4点前后被保安叫醒救火,快步走出酒店后发现二楼已经浓烟滚滚,多人返回酒店内部救出至少4名老人,大多数员工则在酒店外侧通过梯子将二楼的旅客从窗户接出。从航拍视频中看到,位于酒店东北角的E区烧毁严重。目前正在清理中,但酒店东门“北燕旅居”和“随缘艺家宾馆”的牌子仍保存完好。北龙温泉酒店东门“北燕旅居”和“随缘艺家宾馆”的牌子仍保存完好工商信息显示,哈尔滨市松北区北燕旅居养老咨询服务中心(简称“北燕旅居”)注册于2015年8月14日,王冠林为法人代表,经营范围是“居民服务和其他服务业旅居养老信息咨询服务”。图为李艳滨名下燕达宾馆一层大厅展示的“北燕旅游养老中心”模型随缘艺家宾馆(全称“哈尔滨随缘艺家宾馆有限公司”)注册资本500万元,监事仍是王冠林,为哈尔滨燕达宾馆有限公司(下文简称“燕达宾馆”)100%控股。而燕达宾馆的法人代表、执行董事、总经理均为李艳滨。该宾馆注册于2006年7月5日,注册资本1000万元。8月27日下午起,该酒店因消防检查停止营业。据留燕达宾馆守工作人员表示,8月27日下午起,酒店因消防检查停止营业。网络公开信息显示,北龙温泉酒店、北燕旅居、燕达宾馆均属于“燕达集团”,董事长为李艳滨,集团旗下拥有燕达宾馆、燕达餐饮、燕达医疗养老、北龙温泉休闲酒店、北京牛排家等公司。据企查查发布的《董监高对外投资及任职报告》显示,与李艳滨关联的公司共有30家,公司涵盖酒店、餐饮、养老等多个产业。李艳滨在其中29家担任法人代表,在16家企业担任执行董事、总经理、监事等职务。李艳滨被称为“四姐”,多位员工表示老板李艳滨“人很朴素”,有一辆黑色宾利。在医疗养老方面,除了上述北燕旅居,还有一家黑龙江北燕养老产业集团有限公司(下文简称“北燕养老”),张伟平与王冠林各持股50%,王冠林同时为执行董事兼总经理。而在李艳滨间接控制的多家公司中,哈尔滨百富勤融资担保有限公司(下文简称“百富勤”)是唯一涉足金融行业的。百富勤注册于2014年,注册资本1亿元,燕达宾馆持股45%,为最大股东,2015年7月23日前,李艳滨为该公司法人代表和高层管理人员。另一家同样带有“百富勤”字样的“哈尔滨百富勤企业代理有限公司”的注册地址为哈尔滨燕达宾馆人和店102室,该公司在招聘信息上写着,为北京分分投互联网中筹平台的线下融资担保公司(下文简称“分分投”),而这家分分投正在融资的29个项目中有26个与李艳滨密切相关,包括牛排家(李艳滨为法人)、玖五京菜(李艳滨参股80%)、随缘艺家宾馆等。多位北龙温泉酒店员工表示,公司已拖欠他们两个月工资。后厨员工阿龙组建了一个131人的微信群,专门用来组织员工讨要工钱。通过实地走访发现,目前哈尔滨市内燕达集团旗下酒店、餐厅均已停止营业。来源:网易新闻
2023-09-01 22:18:401

中班夏季育儿知识 什么是必须知道的

1、勿过多食用冷饮,冷饮是小儿喜欢的食品,一定要摄进量。过多摄进冷饮会惹起小儿胃肠道疾病,也可损伤牙齿。冷饮一般要比胃内温度低二、三十度。胃黏膜遭到过冷刺激后,黏膜血管剧烈收缩,胃内排泄混乱。胃酸、胃酶排泄锐减,使胃的消化、杀菌、免疫能力大幅度降落。儿童胃黏膜非常娇嫩,很易形成“冷食胃炎”,出现腹胀、恶心、呕吐、消化不良等症。若冷饮分歧格,还可形成细菌胃肠疾病。过多食冷食还可影响小儿牙齿发育,特别是换牙期。2、不要食用剩饭,即使是放正在冰箱中,也要加热后再吃。冰箱不是消毒箱,冷躲室中的细菌异常可净化食品。3、制止蚊虫叮咬,小儿被咬后由于毒素作用,局部会出现严重的红肿。以致发热。另外,蚊虫也是传染病的散播媒介,没有接种过乙脑疫苗的小儿,更易被散播上,即使是接种了乙脑疫苗也有被传染的可能。
2023-09-01 22:18:381