精华内容
下载资源
问答
  • c语言录入学生信息
    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;

    }

    更多相关内容
  • 今天我们一起来看看学生信息录入系统的初级版吧!!! 一、建立链表节点 采用结构体实施,分为数据域和指针域,链表的使用是本程序的难点…… typedef struct STUDENT{ char xh[20], xm[20];//学号、姓名 ...

    目录

    1、头文件与主函数

    2、学生信息 

    二、打印菜单

    三、选择系统

    四、初始化

    五、录入信息

    六、追加信息

    七、修改信息

    八、删除信息

    九、查找信息

    十、显示信息

    十一、退出系统

    十二、完整代码


    一、建立链表节点

    采用结构体实施,分为数据域和指针域,链表的使用是本程序的难点……

    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语言编写学生信息管理系统》由会员分享,可在线阅读,更多相关《用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语言学生信息录入系统
  • C语言文章更新目录 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 Clion

    C语言实例

    C语言实例第1期:十进制数转换二进制数
    C语言实例第2期:判断某一年是否为闰年

    需求

    • 实现在控制台录入学生姓名和分数
    • 使用冒泡排序法将录入的信息按分数从大到小输出

    分析

    根据需求将按照以下步骤来实现

    1. 定义学生结构体,结构体成员包含学生的姓名和分数
    2. 定义结构体数组存放学生信息
    3. 用冒泡排序法将录入的信息按分数从大到小排序
    4. 循环遍历排序后的结构体数组的信息

    代码实现

    • 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);
        }
    }
    

    运行结果

    image

    展开全文
  • 学生信息管理系统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语言学生信息管理系统程序,输入完学生信息后怎么把信息保存到文件里这个是我写的程序,帮帮忙#include#include#include#define N 10int data[N];void stu_printf(int m);void stu_scanf(int m);int stu_find_num...
  • /*调用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]....
  • printf("请选择:\n" "1 - 新建学生信息\n" "2 - 查找学生信息\n" "3 - 修改学生信息\n" "4 - 删除学生信息\n" "5 - 打印学生信息\n" "0 - 退出\n"); scanf("%d", &choice); return choice; } int EnterAccount(void...
  • 定义一个结构体类型,包括四个成员变量(学号,姓名,性别,成绩),并用该类型定义一个全局的结构体数组,供外部录入学生信息时存储。 定义一个全局变量来存储当前学生个数。 添加学生信息时,需要从外部读入学生的...
  • (1)录入功能:能够向学生信息表中添加某位或某些学生信息。(2)查询功能:能够按照给定关键字“学号”或“姓名”,在学生信息表中查找符合条件的学生信息;(3)删除功能:能够按照学号删除某个同学信息。(4)...
  • 实现学生信息录入 实现学生信息的查询 实现学生信息的导出 其他功能请自行拓展,emmm 录入信息 主要代码 // 录入函数 void entering() { int i; for (i = 0; i &lt; N; ++i) { ...
  • 本文为大家分享了C语言学生信息管理系统小项目,供大家参考,具体内容如下 /* 运行环境:我是在linux里面用gcc编译的,在windows里应该也能运行,用的一些文件库函数都是c标准库,没有用linux的系统调用(纠正一下...
  • X X 师 范 大 学 实 验 报 告 课 程 C语言课程设计 任课老师 学 号 姓 名 院 系 _年_月至_年_...F:\stu 文件夹中运行程序时可直接选 6号指令从中读取学生信息如果没有该txt文件可能会在上传过程中丢失仍需在F盘下新建s
  • 这个是本人从别的地方搬运过来的,代码一般没有什么大问题,想要学习的同学可以下载下来研究一下
  • 输入10个学生5门课的成绩,分别用函数实现下列功能:1>计算每个学生的平均分。2>计算每门课的平均分。3>找出所有50个分数中最高的分数所对应的学生和课程。#include#include#includetypedefstructstudent{...
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼p=l->next;if(p){printf("请你输入新学号(原来是%s):",p->data.num);scanf("%s",p->data.num);printf("请你输入新姓名(原来是%s):",p->...
  • 学生信息管理系统C语言编程【问题描述】学生信息的管理是每个学校必须具有的管理功能,主要是对学生的基本情况及学习成绩等方面的管理。该系统模拟一个简单的学生管理系统,要求对文件中所存储的学生数据进行各种...
  • 实现所有学生信息的输出  3.输入指定学生姓名,并能输出这名学生的信息  4.将学生成绩按照语文和数学成绩排序 思路: 1. 首先,先把这个小项目的框架打好。考虑要写几个文件,每一个文件里面实现怎样的功能。考虑...
  • C语言_学生信息管理

    2019-01-28 15:17:54
    C程序设计之学生信息管理,实现了学生信息录入、删除、修改、查询、排序等功能
  • 一、学生信息存放在文件中,提供文件的输入、输出等...充分体现两者权限的不同,学生信息管理系统中需要管理员实现学生信息录入、显示、修改、删除、查询、统计等功能。而学生身份只需拥有查询自己信息的功能即可。
  • 添加新学生信息、删除和修改指定学生信息、列表浏览所有学生信息、按条件查询、排序、统计等功能。录入数据的文件存储功能,运行过程的日志存储功能。支持通信录导入或导出为csv和vcard格式。 本程序操作界面良好,...
  • 使用c语言实现学生信息管理系统,能够将录入学生信息放入一个文件中,实现增添、删除、搜索等功能。
  • 输入1可以调用add函数对学生的基本信息以及成绩进行输入 输入2则调用print函数打印学生成绩单 输入3可以根据学号匹配学生并对其成绩进行修改 输入4可以对当前所有学生的总成绩进行排序 输入5则可以计算当前学生平均...
  • C语言实现学生信息管理系统

    千次阅读 2021-11-13 16:15:43
    2、录入学生的基本信息 3、显示学生管理系统里所有的学生信息 4、查找某学生信息 5、退出学生管理系统 二、函数编写 1、编写函数实现选择菜单 void display_menu() { char str[100]; FILE* fp; char *...
  • 主要为大家详细介绍了C语言实现学生选修课程系统设计,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,920
精华内容 2,768
关键字:

c语言录入学生信息

友情链接: DSPACK231.rar