-
2021-05-19 05:39:26
#include "stdio.h"
#include "process.h"
struct stu
{ int num;
char name[20];
float score;
}sa[3],sb[3],*pa,*pb;
int main()
{
FILE *fp;
int i;
pa = sa;
pb = sb;
if((fp = fopen("f:\\data2.dat", "wb+")) == NULL)
{
printf("不能打开文件!");
exit(1);
}
printf("\n请输入学号 姓名 成绩:\n");
for(i = 0; i < 4; i++,pa++) //循环3次,每次输入一个学生数据
scanf("%d %s %f", &pa->num, pa->name, &pa->score);
pa = sa;
for(i = 0; i < 4; i++, pa++) //循环3次,每次向文件写入一个学生数据
fprintf(fp,"%d %s %f \n", pa->num, pa->name, pa->score);
rewind(fp); //把文件内部的位置指针移到文件的开头
for(i = 0; i < 4; i++, pb++) //循环3次,每次从文件中读入一个学生数据
fscanf(fp,"%d %s %f", &pb->num, pb->name, &pb->score);
printf("\n\n 学号\t姓名 成绩\n");
pb = sb;
float a;
for(i = 0; i < 3; i++)
for(pb = sb+i; pb < sb+4; pb++)
{
if((sb + i)->score > pb->score)
{
a = (sb+i)->score;
(sb+i)->score = pb->score;
pb->score = a;
}
}
pb = sb;
for(i=0;i<4;i++,pb++) /*循环3次,每次显示一个学生数据*/
printf("%5d\t%s %f\n", pb->num , pb->name,pb->score);
fclose(fp);
return 0;
}
更多相关内容 -
C语言实现学生信息录入系统(链表)
2022-05-04 14:07:17今天我们一起来看看学生信息录入系统的初级版吧!!! 一、建立链表节点 采用结构体实施,分为数据域和指针域,链表的使用是本程序的难点…… typedef struct STUDENT{ char xh[20], xm[20];//学号、姓名 ...目录
一、建立链表节点
采用结构体实施,分为数据域和指针域,链表的使用是本程序的难点……
1、头文件与主函数
#include <stdio.h> #include <stdlib.h> #include <string.h> int main(){ selec(); return 0; }
2、学生信息
typedef struct STUDENT{ char xh[20], xm[20];//学号、姓名 float cj;//成绩 struct STUDENT* next; }Student; typedef struct HEADER{ char bjm[20];//班级名 int cnt;//班级人数 struct STUDENT* next; }Header;
二、打印菜单
//菜单 void menu(){ int i = 0; system("cls"); for (i = 0; i < 52; i++) printf("*"); printf("\n"); puts("* 1、初始化 2、录入信息 3、追加信息 4、修改信息 *"); puts("* 5、删除信息 6、查找信息 7、显示信息 8、退出系统 *"); for (i = 0; i<52; i++) printf("*"); }
三、选择系统
//选择系统 int selec(){ Header head={"0"};//整体初始化为0 int i,j; while(1){ menu(); printf("\n\n请选择选项:> "); scanf("%d",&i); switch(i){ case 1:init(&head);break; case 2:input(&head);break; case 3:append(&head);break; case 4:modify(&head);break; case 5:del(&head);break; case 6:find(&head);break; case 7:show(head);break; case 8: j=Exit(); if(j==1) return 1; break; default:printf("你的选择有误,请重新选择!\n"); system("pause"); break; } } }
四、初始化
//1、初始化 void init(Header *head){ printf("输入班级名:> "); scanf("%s", head->bjm); printf("输入班级人数:> "); scanf("%d", &head->cnt); head->next = 0; printf("初始化完毕\n"); system("pause"); }
五、录入信息
//2、录入信息 void input(Header *head){ Student *tail;//尾指针 head->next =NULL; printf("录入学生的信息:学号 姓名 成绩\n"); for (int i = 0; i<head->cnt; i++){ Student* stu; stu = (Student*)malloc(sizeof(Student));//动态申请一个节点 if (stu == NULL){//如果stu节点为空,说明没有malloc到空间 printf("mallco Fail!"); return; } stu->next = NULL;//初始化stu的指针 if (head->next == NULL){//说明没有输入数据 head->next = stu;//头节点的下一个指向stu节点 tail = stu;//让尾指针指向stu scanf("%s%s%f", stu->xh, stu->xm, &stu->cj); } else{//说明已经输入了数据 tail->next = stu;//尾指针的下一个指向stu tail = tail->next;//尾指针往下面移动 scanf("%s%s%f", stu->xh, stu->xm, &stu->cj); } } printf("录入信息完毕\n"); system("pause"); }
六、追加信息
//3、追加信息 void append(Header *head){ int i,j; Student*p=head->next; Student *stu; stu = (Student*)malloc(sizeof(Student));//申请一个节点用于存放追加的学生的信息 if (stu == NULL){//如果stu节点为空,说明没有malloc到空间 printf("mallco Fail!"); return; } stu->next=NULL;//初始化stu的指针 printf("请选择你要在哪一名学生后面增加一个学生信息:> "); scanf("%d",&i); j=i; while(--i) { p=p->next; } printf("请输入第%d个学生的学号,姓名,成绩:\n",++j); scanf("%s%s%f",stu->xh,stu->xm,&stu->cj );//输入信息 head->cnt++;//学生人数+1 fflush(stdin);//刷新输入——清空输入缓冲区 stu->next=p->next; p->next=stu; printf("追加信息完毕\n"); system("pause"); }
七、修改信息
//4、修改信息 void modify(Header *head){ int i; Student *p; p=head->next; printf("请选择你要修改第几个学生的信息:> "); scanf("%d",&i); while(--i) p=p->next; if(p==NULL) { printf("该学生不存在!"); return; } else { puts("请选择你要修改的内容:"); puts("\n** 1、学生姓名 **** 2、学生学号 **** 3、学生成绩 **\n"); fflush(stdout);//刷新输出——清空读写缓冲区 scanf("%d",&i); switch(i) { case 1:printf("原信息为%s\n",p->xm);printf("请输入你要修改的内容\n");scanf("%s",p->xm);break; case 2:printf("原信息为%s\n",p->xh);printf("请输入你要修改的内容\n");scanf("%s",p->xh);break; case 3:printf("原信息为%.2f\n",p->cj);printf("请输入你要修改的内容\n");scanf("%f",&p->cj);break; default:printf("你的选择有误!\n");break; } fflush(stdin); } printf("修改信息完毕\n"); system("pause"); }
八、删除信息
删除信息:指向空、人数减少一个
//5、删除信息 void del(Header *head){ int i,flag=1; Student*p=head->next; Student*q=head->next; Student*k=head->next; head->next=NULL; printf("请输入你要删除第几名学生的信息:>"); scanf("%d",&i); if(i==1){//删除第一个 p=p->next; head->next=p; free(q); head->cnt--; printf("删除信息完毕!\n"); system("pause"); return; } while(--i) { p=p->next; if(flag==0){ q=q->next; } flag=0; } if(p->next==NULL){ q->next=NULL; head->next=k; free(p); head->cnt--; printf("删除信息完毕!\n"); system("pause"); return; } if(p==NULL) puts("该学生不存在!"); q->next=p->next; head->next=k; free(p); head->cnt--; printf("删除信息完毕!\n"); system("pause"); }
九、查找信息
//6、查找信息 void find(Header *head){ int i; Student*p=head->next; char Xh[20],Xm[20]; puts("\n** 1 按学号查找 *** 2 按姓名查找 **\n"); printf("请选择你想查找的方式:> "); scanf("%d",&i); if(i!=1&&i!=2){ puts("你的选择出错!"); system("pause"); return; } if(i==1){ printf("请输入该生的学号:\n"); scanf("%s",Xh); while(p){ if(strcmp(Xh,p->xh)==0){ puts("该生的信息如下:"); printf("%s %s %.2f\n",p->xh,p->xm,p->cj); system("pause"); break; } p=p->next; } } else{ printf("请输入该生的姓名\n"); scanf("%s",Xm); while(p){ if(strcmp(Xm,p->xm)==0){ puts("该生的信息如下:"); printf("%s %s %.2f\n",p->xh,p->xm,p->cj); system("pause"); break; } p=p->next; } } printf("信息查找完毕\n"); system("pause"); }
十、显示信息
//7、显示信息 void show(Header head){ Student *p; p = head.next; if(p==NULL) puts("你还没有录入信息!\n"); printf("%s 共有 %d 名学生,具体信息如下:\n", head.bjm, head.cnt); for (int i = 0; i<head.cnt; i++){ printf("%s\t%s\t%.2f\n", p->xh, p->xm, p->cj); p = p->next; } printf("信息显示完毕!\n"); system("pause"); }
十一、退出系统
goto 语句:不建议使用,此处可做更改
//8、退出系统 int Exit(){ int i; again: system("cls"); menu(); puts("\n\n** 1、确认退出 *** 0、重新开始 **\n"); printf("您的选择是:> "); scanf("%d",&i); switch(i){ case 1:printf("退出成功!\n");return i;break; case 0:break; default:printf("选择无效,请重新选择!\n");system("pause");goto again; } return i; }
十二、完整代码
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct STUDENT{ char xh[20], xm[20];//学号、姓名 float cj;//成绩 struct STUDENT* next; }Student; typedef struct HEADER{ char bjm[20];//班级名 int cnt;//班级人数 struct STUDENT* next; }Header; //菜单 void menu(){ int i = 0; system("cls"); for (i = 0; i < 52; i++) printf("*"); printf("\n"); puts("* 1、初始化 2、录入信息 3、追加信息 4、修改信息 *"); puts("* 5、删除信息 6、查找信息 7、显示信息 8、退出系统 *"); for (i = 0; i<52; i++) printf("*"); } //1、初始化 void init(Header *head){ printf("输入班级名:> "); scanf("%s", head->bjm); printf("输入班级人数:> "); scanf("%d", &head->cnt); head->next = 0; printf("初始化完毕\n"); system("pause"); } //2、录入信息 void input(Header *head){ Student *tail;//尾指针 head->next =NULL; printf("录入学生的信息:学号 姓名 成绩\n"); for (int i = 0; i<head->cnt; i++){ Student* stu; stu = (Student*)malloc(sizeof(Student));//动态申请一个节点 if (stu == NULL){//如果stu节点为空,说明没有malloc到空间 printf("mallco Fail!"); return; } stu->next = NULL;//初始化stu的指针 if (head->next == NULL){//说明没有输入数据 head->next = stu;//头节点的下一个指向stu节点 tail = stu;//让尾指针指向stu scanf("%s%s%f", stu->xh, stu->xm, &stu->cj); } else{//说明已经输入了数据 tail->next = stu;//尾指针的下一个指向stu tail = tail->next;//尾指针往下面移动 scanf("%s%s%f", stu->xh, stu->xm, &stu->cj); } } printf("录入信息完毕\n"); system("pause"); } //3、追加信息 void append(Header *head){ int i,j; Student*p=head->next; Student *stu; stu = (Student*)malloc(sizeof(Student));//申请一个节点用于存放追加的学生的信息 if (stu == NULL){//如果stu节点为空,说明没有malloc到空间 printf("mallco Fail!"); return; } stu->next=NULL;//初始化stu的指针 printf("请选择你要在哪一名学生后面增加一个学生信息:> "); scanf("%d",&i); j=i; while(--i) { p=p->next; } printf("请输入第%d个学生的学号,姓名,成绩:\n",++j); scanf("%s%s%f",stu->xh,stu->xm,&stu->cj );//输入信息 head->cnt++;//学生人数+1 fflush(stdin);//刷新输入——清空输入缓冲区 stu->next=p->next; p->next=stu; printf("追加信息完毕\n"); system("pause"); } //4、修改信息 void modify(Header *head){ int i; Student *p; p=head->next; printf("请选择你要修改第几个学生的信息:> "); scanf("%d",&i); while(--i) p=p->next; if(p==NULL) { printf("该学生不存在!"); return; } else { puts("请选择你要修改的内容:"); puts("\n** 1、学生姓名 **** 2、学生学号 **** 3、学生成绩 **\n"); fflush(stdout);//刷新输出——清空读写缓冲区 scanf("%d",&i); switch(i) { case 1:printf("原信息为%s\n",p->xm);printf("请输入你要修改的内容\n");scanf("%s",p->xm);break; case 2:printf("原信息为%s\n",p->xh);printf("请输入你要修改的内容\n");scanf("%s",p->xh);break; case 3:printf("原信息为%.2f\n",p->cj);printf("请输入你要修改的内容\n");scanf("%f",&p->cj);break; default:printf("你的选择有误!\n");break; } fflush(stdin); } printf("修改信息完毕\n"); system("pause"); } //5、删除信息 void del(Header *head){ int i,flag=1; Student*p=head->next; Student*q=head->next; Student*k=head->next; head->next=NULL; printf("请输入你要删除第几名学生的信息:>"); scanf("%d",&i); if(i==1){//删除第一个 p=p->next; head->next=p; free(q); head->cnt--; printf("删除信息完毕!\n"); system("pause"); return; } while(--i) { p=p->next; if(flag==0){ q=q->next; } flag=0; } if(p->next==NULL){ q->next=NULL; head->next=k; free(p); head->cnt--; printf("删除信息完毕!\n"); system("pause"); return; } if(p==NULL) puts("该学生不存在!"); q->next=p->next; head->next=k; free(p); head->cnt--; printf("删除信息完毕!\n"); system("pause"); } //6、查找信息 void find(Header *head){ int i; Student*p=head->next; char Xh[20],Xm[20]; puts("\n** 1 按学号查找 *** 2 按姓名查找 **\n"); printf("请选择你想查找的方式:> "); scanf("%d",&i); if(i!=1&&i!=2){ puts("你的选择出错!"); system("pause"); return; } if(i==1){ printf("请输入该生的学号:\n"); scanf("%s",Xh); while(p){ if(strcmp(Xh,p->xh)==0){ puts("该生的信息如下:"); printf("%s %s %.2f\n",p->xh,p->xm,p->cj); system("pause"); break; } p=p->next; } } else{ printf("请输入该生的姓名\n"); scanf("%s",Xm); while(p){ if(strcmp(Xm,p->xm)==0){ puts("该生的信息如下:"); printf("%s %s %.2f\n",p->xh,p->xm,p->cj); system("pause"); break; } p=p->next; } } printf("信息查找完毕\n"); system("pause"); } //7、显示信息 void show(Header head){ Student *p; p = head.next; if(p==NULL) puts("你还没有录入信息!\n"); printf("%s 共有 %d 名学生,具体信息如下:\n", head.bjm, head.cnt); for (int i = 0; i<head.cnt; i++){ printf("%s\t%s\t%.2f\n", p->xh, p->xm, p->cj); p = p->next; } printf("信息显示完毕!\n"); system("pause"); } //8、退出系统 int Exit(){ int i; again: system("cls"); menu(); puts("\n\n** 1、确认退出 *** 0、重新开始 **\n"); printf("您的选择是:> "); scanf("%d",&i); switch(i){ case 1:printf("退出成功!\n");return i;break; case 0:break; default:printf("选择无效,请重新选择!\n");system("pause");goto again; } return i; } int selec(){ Header head={"0"};//整体初始化为0 int i,j; //选择系统 while(1){ menu(); printf("\n\n请选择选项:> "); scanf("%d",&i); switch(i){ case 1:init(&head);break; case 2:input(&head);break; case 3:append(&head);break; case 4:modify(&head);break; case 5:del(&head);break; case 6:find(&head);break; case 7:show(head);break; case 8: j=Exit(); if(j==1) return 1; break; default:printf("你的选择有误,请重新选择!\n"); system("pause"); break; } } } int main(){ selec(); return 0; }
-
用C语言编写学生信息管理系统
2021-05-19 14:09:58《用C语言编写学生信息管理系统》由会员分享,可在线阅读,更多相关《用C语言编写学生信息管理系统(14页珍藏版)》请在人人文库网上搜索。1、一、设计目的通过对高级语言程序设计课程设计的学习,来验证自身的学习...《用C语言编写学生信息管理系统》由会员分享,可在线阅读,更多相关《用C语言编写学生信息管理系统(14页珍藏版)》请在人人文库网上搜索。
1、一、设计目的通过对高级语言程序设计课程设计的学习,来验证自身的学习效果,同时希望利用所学的基本知识和技能,进行简单的C语言程序设计。希望通过项目实践,熟悉巩固所学知识,以使自己熟练掌握高级语言程序设计,为日后学习计算机科学技术的专业知识能有进一步深入了解,奠定基础。二、设计内容1、 问题描述:设计一个学生信息管理系统设计。学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。2、 功能要求:1、系统以菜单方式工作2、学生信息录入功能(学生信息用文件保存)输入3、学生信息浏览功能输出4、学生信息查询功能算法按学号查询按姓名查询5、学生信息的删除与修改(可选项)三、详细设计1。
2、、菜单:void menu()2、建立信息:void readfile()3、 查找:void seek()4、 修改信息:void modify()5、 插入函数:void insert()6、 删除信息:void del()7、 浏览信息:void display()8、 保存:void save()4、 调试与测试1、 系统功能菜单2、 选择菜单“0”,进入系统帮助及说明功能3、 选择菜单“4”,添加学生信息(1)输入增加人数(2)依次输入学生学号,姓名,年龄,性别,出生年月,地址,电话,E-mail(3)录入完毕,弹出菜单4、 选择菜单“3”,修改学生信息:输入被修改者学号(1)选择子。
3、菜单“1,修改姓名(2)选择子菜单“2”,修改年龄(3)选择子菜单“3”,修改性别(4)选择子菜单“4”,修改出生年月(5)选择子菜单“5”,修改地址(6)选择子菜单“6”,修改电话(7)选择子菜单“7”,修改E-mail5、 选择菜单“2”,查询学生信息(1)选择子菜单“1”,按学号查询(2)选择子菜单“2”,按姓名查询(3)选择子菜单“3”,退出子菜单,弹出主菜单6、选择菜单“6”,显示当前信息7、选择菜单“5”,按学号删除信息(1)输入要删除的学生学号(2)再次输入“6”,确认是否删除该学生信息五、源程序清单源程序代码如下#include #include#include#define 。
4、BUFLEN 100#define LEN 15 #define N 100 struct record char codeLEN+1; char nameLEN+1; int age; char sex3; char timeLEN+1; char add30; char telLEN+1; char mail30; stuN;int k=1,n,m; void readfile();void seek();void modify();void insert();void del();void display();void save();void menu(); int main() whi。
5、le(k)menu();system(pause);return 0; void help() printf(n0.欢迎使用系统帮助!n);printf(n1.进入系统后,先刷新学生信息,再查询;n);printf(n2.按照菜单提示键入数字代号;n);printf(n3.增加学生信息后,切记保存按;n);printf(n4.谢谢您的使用!n); void readfile()char *p=student.txt;FILE *fp;int i=0;if (fp=fopen(student.txt,r)=NULL) printf(Open file %s error! Strike any k。
6、ey to exit!,p);system(pause);exit(0);while(fscanf(fp,%s %s%d%s %s %s %s %s,stui.code,stui.name,&stui.age,stui.sex,stui.time,stui.add,stui.tel,stui.mail)=8)i+;i=i;fclose(fp);n=i;printf(录入完毕!n); void seek() int i,item,flag;char s121; printf(-n);printf(-1.按学号查询-n);printf(-2.按姓名查询-n);printf(-3.退出本菜单-n);。
7、printf(-n);while(1)printf(请选择子菜单编号:);scanf(%d,&item);flag=0;switch(item)case 1:printf(请输入要查询的学生的学号:n);scanf(%s,s1);for(i=0;ii;j-)if(strcmp(stuj-1.code,stuj.code)0)strcpy(temp,stuj-1.code);strcpy(stuj-1.code,stuj.code);strcpy(stuj.code,temp);strcpy(temp,stuj-1.name);strcpy(stuj-1.name,stuj.name);strc。
8、py(stuj.name,temp);strcpy(temp,stuj-1.sex);strcpy(stuj-1.sex,stuj.sex);strcpy(stuj.sex,temp);strcpy(temp,stuj-1.time);strcpy(stuj-1.time,stuj.time);strcpy(stuj.time,temp);strcpy(temp,stuj-1.add);strcpy(stuj-1.add,stuj.add);strcpy(stuj.add,temp);strcpy(temp,stuj-1.tel);strcpy(stuj-1.tel,stuj.tel);str。
9、cpy(stuj.tel,temp);strcpy(temp,stuj-1.mail);strcpy(stuj-1.mail,stuj.mail);strcpy(stuj.mail,temp);p=&stuj-1.age;q=&stuj.age;s=*q;*q=*p;*p=s; void insert()int i=n,j,flag;printf(请输入待增加的学生数:n);scanf(%d,&m);doflag=1;while(flag)flag=0;printf(请输入第%d 个学生的学号:n,i+1);scanf(%s,stui.code);for(j=0;ji;j+)if(strcmp。
10、(stui.code,stuj.code)=0)printf(已有该学号,请检查后重新录入!n);flag=1;break; printf(请输入第%d 个学生的姓名:n,i+1);scanf(%s,stui.name);printf(请输入第%d 个学生的年龄:n,i+1);scanf(%d,&stui.age);printf(请输入第%d 个学生的性别:n,i+1);scanf(%s,stui.sex);printf(请输入第%d 个学生的出生年月:(格式:年.月)n,i+1);scanf(%s,stui.time);printf(请输入第%d 个学生的地址:n,i+1);scanf(%s。
11、,stui.add);printf(请输入第%d 个学生的电话:n,i+1);scanf(%s,stui.tel);printf(请输入第%d 个学生的E-mail:n,i+1);scanf(%s,stui.mail);if(flag=0)i=i;i+;while(in+m);n+=m;printf(录入完毕!nn);sort(); void del()int i,j,flag=0;char s1LEN+1;printf(请输入要删除学生的学号:n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(stui.code,s1)=0)flag=1;for(j=i;jn-1。
12、;j+)stuj=stuj+1;if(flag=0)printf(该学号不存在!n);if(flag=1)printf(删除成功,显示结果请选择菜单n);n-; void display()int i;printf(所有学生的信息为:n);printf(学生学号 学生姓名 年龄 性别 出生年月 地址 电话 E-mailn);printf(-n);for(i=0;in;i+) printf(%6s %7s %5d %5s %9s %8s %10s %14sn,stui.code,stui.name,stui.age,stui.sex,stui.time,stui.add,stui.tel,stu。
13、i.mail); void save()int i;FILE *fp;fp=fopen(student.txt,w); for(i=0;in;i+)fprintf(fp,%s %s %d %s %s %s %s %sn,stui.code,stui.name,stui.age,stui.sex,stui.time,stui.add,stui.tel,stui.mail);fclose(fp); void menu()int num;printf( nn 学生信息管理系统 nn);printf(*系统功能菜单* n);printf(友情提示:查询前请先刷新系统!n);printf( - - n)。
14、;printf( * n);printf( * 0.系统帮助及说明 * * 1.刷新学生信息 * n);printf( * n); printf( * 2.查询学生信息 * * 3.修改学生信息 * n);printf( * n);printf( * 4.增加学生信息 * * 5.按学号删除信息 * n);printf( * n);printf( * 6.显示当前信息 * * 7.保存当前学生信息* n);printf( * * n);printf( * 8.退出系统 * n);printf( * n);printf( - - n);printf(请选择菜单编号:);scanf(%d,&num);switch(num) case 0:help();break;case 1:readfile();break;case 2:seek();break;case 3:modify();break;case 4:insert();break;case 5:del();break;case 6:display();break;case 7:save();break;case 8:k=0;break;default:printf(请在-8之间选择n);14欢迎下载。
-
C语言课设学生信息录入.zip
2021-04-11 14:57:38基于C语言的学生信息录入系统 -
C语言实现录入学生信息并按分数排序输出
2021-12-10 20:05:43C语言文章更新目录 C语言学习资源汇总,史上最全面总结,没有之一 C/C++学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) 编写C语言程序的7个步骤和编程机制 C语言基础-第一个C...C语言文章更新目录
C语言学习资源汇总,史上最全面总结,没有之一
C/C++学习资源(百度云盘链接)
计算机二级资料(过级专用)
C语言学习路线(从入门到实战)
编写C语言程序的7个步骤和编程机制
C语言基础-第一个C程序
C语言基础-简单程序分析
VS2019编写简单的C程序示例
简单示例,VS2019调试C语言程序
C语言基础-基本算法
C语言基础-数据类型
C语言中的输入输出函数
C语言流程控制语句
C语言数组——一维数组
C语言数组——二维数组
C语言数组——字符数组
C语言中常用的6个字符串处理函数
精心收集了60个C语言项目源码,分享给大家
C语言核心技术——函数
C代码是怎样跑起来的?
C语言实现字符串的加密和解密
C语言——文件的基本操作
使用C语言链表创建学生信息并且将信息打印输出
图解C语言冒泡排序算法,含代码分析
实例分析C语言中strlen和sizeof的区别
开发C语言的3款神器,VS2019、VScode和IntelliJ ClionC语言实例
C语言实例第1期:十进制数转换二进制数
C语言实例第2期:判断某一年是否为闰年需求
- 实现在控制台录入学生姓名和分数
- 使用冒泡排序法将录入的信息按分数从大到小输出
分析
根据需求将按照以下步骤来实现
- 定义学生结构体,结构体成员包含学生的姓名和分数
- 定义结构体数组存放学生信息
- 用冒泡排序法将录入的信息按分数从大到小排序
- 循环遍历排序后的结构体数组的信息
代码实现
- student.h
// // Created by 冲哥 on 2021/12/08. // 公众号:C语言中文社区 // #include <stdio.h> typedef struct student { char name[20]; int score; }stu; static void add_stu_info(stu student[], int n); static void show_stu_info(stu student[], int n);
- sort.c
// // Created by 冲哥 on 2021/12/08. // 公众号:C语言中文社区 // #include "student.h" void bubble_sort(stu student[], int n) { stu temp; for (int i = 0; i < n - 1; i++) { for (int j = 0; j < n - i - 1; j++) { if (student[j].score < student[j + 1].score) { temp = student[j]; student[j] = student[j + 1]; student[j + 1] = temp; } } } }
- student.c
// // Created by 冲哥 on 2021/12/08. // 公众号:C语言中文社区 // #include "student.h" #define NUM 5 extern void bubble_sort(stu student[], int n); int main() { stu students[NUM]; add_stu_info(students, NUM); bubble_sort(students, NUM); show_stu_info(students, NUM); return 0; } static void add_stu_info(stu student[], int n) { for (int i = 0; i < n; i++) { printf("请输入学生姓名:\n"); scanf_s("%s", &student[i].name, 20); printf("请输入学生得分:\n"); scanf_s("%d", &student[i].score); } } static void show_stu_info(stu student[], int n) { for (int i = 0; i < n; i++) { printf("姓名:%s,分数:%d\n", student[i].name, student[i].score); } }
运行结果
-
学生信息管理系统c语言代码
2021-05-20 03:33:53}/*定义按学号删除学生信息的函数*/ void del_XUEHAO(FILE *fp) { char tempXUEHAO[20]; int n=0,i=0,k; struct student stu[N]; while(feof(fp)==0) { fscanf(fp,"%5s%10s%10s%10s%10s%10s%10s%10s\n",stu[i].... -
学生信息录入系统
2018-11-07 23:21:39学生信息录入系统 1、学生登录页login1.aspx,帐号:3 密码:3 。 2、管理员登录页是StudentAdmin目录下login1.aspx,帐号:1 密码:1 。 3、批量生成的学生密码是123456。 4、本软件运行环境.net framework v4.0、... -
c语言学生信息管理系统程序,输入完学生信息后怎么把信息保存到文件里
2021-05-20 15:56:59c语言学生信息管理系统程序,输入完学生信息后怎么把信息保存到文件里这个是我写的程序,帮帮忙#include#include#include#define N 10int data[N];void stu_printf(int m);void stu_scanf(int m);int stu_find_num... -
如何用C语言完成学生信息输入输出模块?是高手的就帮帮忙了
2021-05-23 10:21:17/*调用stu_sub.c文件中hel_mess()函数,显示帮助信息*/ } } /*ENTER finished*/ puthz16(stu_bar[old_bar].start_x+8,stu_bar[old_bar].start_y+5,-8,BLUE,stu_bar[old_bar].p_father); puthz16(stu_bar[curr_bar].... -
学生信息管理系统编程(c语言)
2021-05-20 11:08:44printf("请选择:\n" "1 - 新建学生信息\n" "2 - 查找学生信息\n" "3 - 修改学生信息\n" "4 - 删除学生信息\n" "5 - 打印学生信息\n" "0 - 退出\n"); scanf("%d", &choice); return choice; } int EnterAccount(void... -
基于C语言学生成绩管理系统编程设计-实现录入学生基本信息和成绩功能
2020-11-30 14:36:03定义一个结构体类型,包括四个成员变量(学号,姓名,性别,成绩),并用该类型定义一个全局的结构体数组,供外部录入学生信息时存储。 定义一个全局变量来存储当前学生个数。 添加学生信息时,需要从外部读入学生的... -
C语言:学生信息管理系统(含完整注释)
2021-01-09 12:24:02(1)录入功能:能够向学生信息表中添加某位或某些学生信息。(2)查询功能:能够按照给定关键字“学号”或“姓名”,在学生信息表中查找符合条件的学生信息;(3)删除功能:能够按照学号删除某个同学信息。(4)... -
C语言的学生管理系统Demo(录入信息/信息查询/信息导出为文件)
2018-06-12 10:01:09实现学生信息的录入 实现学生信息的查询 实现学生信息的导出 其他功能请自行拓展,emmm 录入信息 主要代码 // 录入函数 void entering() { int i; for (i = 0; i < N; ++i) { ... -
C语言学生信息管理系统小项目
2020-12-31 12:40:22本文为大家分享了C语言学生信息管理系统小项目,供大家参考,具体内容如下 /* 运行环境:我是在linux里面用gcc编译的,在windows里应该也能运行,用的一些文件库函数都是c标准库,没有用linux的系统调用(纠正一下... -
《C语言-学生信息管理系统(代码)》.doc
2020-01-17 11:53:46X X 师 范 大 学 实 验 报 告 课 程 C语言课程设计 任课老师 学 号 姓 名 院 系 _年_月至_年_...F:\stu 文件夹中运行程序时可直接选 6号指令从中读取学生信息如果没有该txt文件可能会在上传过程中丢失仍需在F盘下新建s -
C语言课程设计-学生信息管理系统.doc
2021-08-23 14:32:381 -
学生信息系统(C语言编写)
2018-03-27 12:52:15这个是本人从别的地方搬运过来的,代码一般没有什么大问题,想要学习的同学可以下载下来研究一下 -
【C语言】学生成绩链表的录入
2021-05-20 04:48:10输入10个学生5门课的成绩,分别用函数实现下列功能:1>计算每个学生的平均分。2>计算每门课的平均分。3>找出所有50个分数中最高的分数所对应的学生和课程。#include#include#includetypedefstructstudent{... -
求学生信息管理系统C语言版
2021-05-21 15:06:18该楼层疑似违规已被系统折叠隐藏此楼查看此楼p=l->next;if(p){printf("请你输入新学号(原来是%s):",p->data.num);scanf("%s",p->data.num);printf("请你输入新姓名(原来是%s):",p->... -
学生信息管理系统C语言编程
2021-05-20 11:36:46学生信息管理系统C语言编程【问题描述】学生信息的管理是每个学校必须具有的管理功能,主要是对学生的基本情况及学习成绩等方面的管理。该系统模拟一个简单的学生管理系统,要求对文件中所存储的学生数据进行各种... -
C语言实现简单学生成绩管理系统
2020-12-31 01:07:17实现所有学生信息的输出 3.输入指定学生姓名,并能输出这名学生的信息 4.将学生成绩按照语文和数学成绩排序 思路: 1. 首先,先把这个小项目的框架打好。考虑要写几个文件,每一个文件里面实现怎样的功能。考虑... -
C语言_学生信息管理
2019-01-28 15:17:54C程序设计之学生信息管理,实现了学生信息的录入、删除、修改、查询、排序等功能 -
学生信息管理系统C语言课程设计作业
2019-12-28 23:32:51一、学生信息存放在文件中,提供文件的输入、输出等...充分体现两者权限的不同,学生信息管理系统中需要管理员实现学生信息的录入、显示、修改、删除、查询、统计等功能。而学生身份只需拥有查询自己信息的功能即可。 -
C语言学生信息管理系统.zip
2020-04-16 08:45:19添加新学生信息、删除和修改指定学生信息、列表浏览所有学生信息、按条件查询、排序、统计等功能。录入数据的文件存储功能,运行过程的日志存储功能。支持通信录导入或导出为csv和vcard格式。 本程序操作界面良好,... -
使用c语言实现学生信息管理系统
2021-11-30 18:14:43使用c语言实现学生信息管理系统,能够将录入的学生信息放入一个文件中,实现增添、删除、搜索等功能。 -
利用C语言结构体实现学生成绩录入系统
2022-06-14 16:49:18输入1可以调用add函数对学生的基本信息以及成绩进行输入 输入2则调用print函数打印学生成绩单 输入3可以根据学号匹配学生并对其成绩进行修改 输入4可以对当前所有学生的总成绩进行排序 输入5则可以计算当前学生平均... -
C语言实现学生信息管理系统
2021-11-13 16:15:432、录入学生的基本信息 3、显示学生管理系统里所有的学生信息 4、查找某学生信息 5、退出学生管理系统 二、函数编写 1、编写函数实现选择菜单 void display_menu() { char str[100]; FILE* fp; char *... -
C语言实现学生选修课程系统设计
2020-08-26 08:09:23主要为大家详细介绍了C语言实现学生选修课程系统设计,具有一定的参考价值,感兴趣的小伙伴们可以参考一下