文件流 学号排序

C语言|学生成绩管理系统 要求设计的管理系统能够实现以下功能: 1.每一条记录包括一个学生的学号、姓名、3个成绩(平时成绩、作业成绩、考试成绩) 2.成绩录入功能:(成绩信息用文件保存,可以一次完成若干条记录) 3.成绩信息显示浏览功能,完成全部学生记录的显示。 4.查询功能:完成按姓名查找学生记录,并显示 5.成绩信息的删除:按学号进行删除某学生的成绩 6.排序功能:按学生总成绩进行排序 1.首先,列出所需... 阅读详情

        很开心哈!困扰我很长时间的一个文件流的问题解决鸟!

        问题源于英语老师让我帮忙给全班同学根据学号排序,然后把名单给她。一百来号人就这样给我人

工排序了!亏我还是学计算机滴!!!哭

        现在来贴下我的代码:

#include<fstream>
#include<iostream>
#include<string>
using namespace std;

struct node     //学号、姓名
{
	long s_id;
	char name[30];
}date[43];

inline void bubble_sort()   //根据学号从小到大,冒泡排序
{
	int i,j;
	node temp;

	for(i=0;i<43;i++)
	{
		for(j=42;j>i;j--)
		{
			if(date[j].s_id<date[j-1].s_id)
			{
				temp.s_id=date[j].s_id;
				strcpy(temp.name,date[j].name);
				date[j].s_id=date[j-1].s_id;
		        strcpy(date[j].name,date[j-1].name);
				date[j-1].s_id=temp.s_id;
				strcpy(date[j-1].name,temp.name);
			}
		}
	}
}

inline void read_write()   //文件读写
{
	int i;
	ifstream infile;
	ofstream outfile;

	infile.open("C:\\Users\\Lenovo\\Desktop\\学号排序\\a.txt",ios::in);
	outfile.open("C:\\Users\\Lenovo\\Desktop\\学号排序\\b.txt",ios::out);

	if(!infile.is_open() || !outfile.is_open())
	{
		cerr<<"open error!"<<endl;
		exit(1);
	}

	for(i=0;i<43;i++)
		infile>>date[i].s_id>>date[i].name;

	bubble_sort();

	for(i=0;i<43;i++)
		outfile<<date[i].s_id<<"  "<<date[i].name<<endl;

    infile.close();
	outfile.close();
}

int main()
{
    read_write();

	return 0;
}




          排序前的 a.txt:                                                               

 

排序后的 b.txt:

(注:截图问题,文档中内容没能全部截下来,但已可以说明程序的正确性啦。)

 

          代码就以43人为准啦。(小秘密:这是一班的人数,美女也最多)

          在写代码的过程中还是有几点要注意的:

          ①如前所说,这个问题我很早就遇到了,当时刚接触C++,老师也不讲文件流这一部分。自己感觉

有点难了,也就搁置了!只想说:学习要抓紧点滴。不能有点难就不做啦。

          ②写的过程也非一番风顺的。

              问题一:把  "C:\\Users\\Lenovo\\Desktop\\学号排序\\a.txt"  这个文件路径写成 "C:\Users\Lenovo\

Desktop\学号排序\a.txt"  。结果用is_open()函数发现文件老是打不开!费了很长时间才找到这个问题。关

键是很多教辅书也都是错误写法!!!

              问题二:把上一个问题改对了之后,还有一个更让人无语的问题才渐渐浮出水面。我把自己电脑

设置成“隐藏文件扩展名”,结果老是打不开文件!改过来之后才可以滴。我觉得电脑几乎无所不能,关键

你要给出正确设置。系统越渐庞大,互相影响。个人觉得早晚是个问题。

            后感:bug让人痛苦,debug了,又觉得一切值得。

            欢迎拍砖!

C语言|大学生必备课程设计之学生管理系统 如果第一次运行该程序,尚未创建你的文件,那么,在你的写入函数中就应该考虑到这种情况,在没有文件的时候,直接新建。输入学生信息,你可以按照菜单中的选项去执行输入信息,也可以你在那个自己创建的txt中,按照刚才存下来的那种格式,直接写,最后程序中,也是可以读取你的信息的。4.按照学号删除学生,这个需要写好几个函数,首先,提示用户输入想要删除学生的学号,然后,根据学号与结构体数组想对比,找出来该学号所对应的结构体数组下标。一次输入就存到文件里了,下次直接读取就行,而且读取根写入是对应的,就不用考虑那么多细节了。 阅读详情

相关推荐

银行客户投诉预测模型优化

在实际操作中,银行可以使用这个优化后的模型来识别那些可能引起客户不满的因素,并采取预防措施。例如,如果模型表明退款金额是一个很强的预测因子,银行可能会审查其退款政策,以确保它对客户是公平和透明的。在银行业务中,客户投诉是一个重要的指标,它直接关系到客户满意度和银行服务质量。某一个指标,比如:退款金额,本文假设退款金额对于预测投诉的权重应该高于赔偿金额。在每次迭代中,本文使用当前的权重组合来训练模型,并计算在测试集上的准确率。的可能值来搜索最佳的权重组合,并输出最佳准确率及对应的权重。来寻找最佳的权重组合。

weixin_57499254的博客 1708

linux按照学号对文件进行排序,Linux文本处理之sort,uniq

准备文本:test.txt按列分别是学号 姓名 年龄 语文 数学 英语成绩一、sort1. sort默认:以行为单位对文件进行排序,按ASCII码值进行比较升序输出。cat test.txt sort test.txt 2. sort -u test.txt 对test.txt按默认规则进行排序后去除重复行 可以看出重复行“李明”对应的这一行被删除了。3. sort -r test.txt 对te...

weixin_34851493的博客 972

从CCD数据上报看wxHOOK的封号风险与规避

本文深入分析了微信CCD数据上报机制对wxHOOK的检测逻辑与封号风险,揭示了调试器路径暴露、非白名单DLL加载和内存校验失败等关键风险点。通过实战案例和规避方案,帮助开发者理解如何安全使用wxHOOK技术,避免封号风险,包括内存镜像欺骗、内核级隐蔽和硬件辅助方案等高级技巧。

weixin_27875131的博客 634

按文件夹内的文件编号排序依次读取文件 python

import os path = r'C:\Users\admin\Desktop\b' files = os.listdir(path) files.sort(key=lambda x: int(x.split('.')[0])) for name in files: full_path = os.path.join(path, name) print(full_path) ...

是鲤鱼啊 2994

从零开始用STM32驱动RGB屏:配置PCLK、DE同步信号的避坑指南

本文详细介绍了如何使用STM32驱动RGB接口LCD屏幕,重点解析了PCLK配置、同步信号极性和DE使能等关键参数的设置方法。通过实战代码示例和常见问题排查指南,帮助开发者避免常见配置错误,实现稳定的显示效果。特别针对800x480 IPS屏提供了优化建议和调试技巧。

sky77的博客 541

Apollo&Carla联合仿真环境搭建与实战调试

本文详细介绍了Apollo与Carla联合仿真环境的搭建与实战调试流程,涵盖硬件配置、软件依赖安装、Apollo环境配置、Carla仿真器安装、桥接服务设置以及常见问题解决方案。通过逐步指导,帮助开发者高效实现自动驾驶仿真测试,提升开发效率。

ee345的博客 200

文件夹排序(先文件夹排序,后文件排序)

public static void sortFiles(File[] files) { Arrays.sort(files, new Comparator<File>() { @Override public int compare(File lhs, File rhs) { //返回负数表示o1 小于o

xiyangyang8110的博客 2422

Windows 2012 SYSVOL复制失败的处理

题外话:晓原理、知架构、查日志是排错的三件法宝今天在DC1上新建并链接了一个组策略对像,在客户端刷新时,却报下面的错误:“处理组策略失败。Windows无法应用组策略对象LDAP….”如下图所示:于是在客户端用\\domain.com访问,发现\\domain.com\SYSVOL\domain.com\policies下面没有上面报错的组策略对象。这是怎么一回事呢,pin...

weixin_33989780的博客 1669

输入文件夹路径,将文件夹内文件按大小排序显示

#!/usr/bin/env python3 # -*- coding:utf-8 -*- import os import glob formatunit = {1024:['KB','MB','GB','TB'],1000:['KiB','MiB','GiB','TiB']} def changeformat(size, is1024=True): useformat = 1024

sofeien的专栏 1136

mipi deskew原理理解

何为skew, 从字面意思看是倾斜了,不对齐了;放在mipi的传输中意思就是clock lane和data lane 及data lane与data lane间出现了相位差;一旦出现相位差,大家采样数据时就可能不在同一个节拍上,会出现传输错误。所以就要做deskew,通过做deskew来使得大家重新对齐,在同一个节奏下传输数据. 一般当data rate高于1.5G时建议开启deskew。

lx123010的专栏 8105

uniapp - H5网页打包运行报错Failed to load resource: net::ERR_FILE_NOT_FOUND(uniApp打包成H5部署到服务器,打包h5白屏并报错页面空白)

Failed to load resource: net::ERR_FILE_NOT_FOUND,uniapp 坑之打包之后白屏,uniapp打包h5,HBuilderX 打包H5后空白报错 Failed to load resource: net::ERR FILE NOT_FOUND,UNI-APP H5应用白屏(空白页)解决方案,白屏并报错Failed to load resource: net::ERR_FILE_NOT_FOUND,uniapp开发,打包成H5部署到服务器,uniapp打包之后首页

🏆 前端领域优质创作者 3579

文件流

很开心哈!困扰我很长时间的一个文件流的问题解决鸟!         问题源于英语老师让我帮忙给全班同学根据学号排序,然后把名单给她。一百来号人就这样给我人 工排序了!亏我还是学计算机滴!!!         现在来贴下我的代码: [cpp] view plaincopyprint? #include   #include   #in

youlingjisuan的专栏 596

达摩院高清人像美肤模型ABPN的深入解析及编程实现

本文深入解析了达摩院高清人像美肤模型ABPN的原理,并提供了相应的源代码实现。ABPN模型通过自适应的反投影网络,有效地实现了人像图像的美肤处理。通过进一步的研究和优化,ABPN模型有望在人像美肤领域发挥更大的作用。低频特征提取器用于提取输入图像的低频信息,而反投影网络则负责将低频信息与原始图像结合,生成美肤后的输出图像。通过将输入图像送入ABPN模型,即可得到经过美肤处理后的输出图像。通过对输入图像进行美肤处理,可以有效地去除皮肤上的瑕疵和噪点,提升图像质量和美感。

TechPulseZ的博客 712

C++课程设计_学生信息管理系统_增删查改、搜索、排序、统计、保存、自动读取

实验效果 运行 录入学生信息 插入学生信息 浏览学生信息 (之前保存过一名学生信息,运行时自动导入该生信息) 删除学生信息 其余功能不再展示,可自行复制代码测试 #include<iostream> #include<fstream> #include<stdio.h> #include<iomanip> #include<cstring> #include<ctime> using namespace std; static

weixin_44929171的博客 6951

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

按照学号查找学生_用C语言简单开发学生成绩管理系统

要求设计的管理系统能够实现以下功能:1.每一条记录包括一个学生的学号、姓名、3个成绩(平时成绩、作业成绩、考试成绩)2.成绩录入功能:(成绩信息用文件保存,可以一次完成若干条记录)3.成绩信息显示浏览功能,完成全部学生记录的显示。4.查询功能:完成按姓名查找学生记录,并显示5.成绩信息的删除:按学号进行删除某学生的成绩6.排序功能:按学生总成绩进行排序1.首先,列出所需要的头文件以及声明...

weixin_35141129的博客 7066

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

在指定文件中,读出学生成绩并排序

有一个文件记录了学生期末考试的几门成绩和学号,求出这几门课程的平均分和总分,并按照总分排序,从高到底,如果成绩相同,按照学号从小到大的顺序。 #include<iostream> #include<string> #include<vector> #include<fstream> #include<sstream> #include&l...

qq_42880512的博客 2306

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Java文件流操作

学号:31004,姓名:Cheley,平均分:83.33333333333333。学号:32003,姓名:Chen,平均分:89.33333333333333。学号:34005,姓名:John,平均分:89.66666666666667。学号:31001,姓名:Bob,平均分:89.66666666666667。学号:33007,姓名:Sam,平均分:90.33333333333333。学号:31008,姓名:Kelvin,平均分:91.0。学号:34010,姓名:Terry,平均分:86.0。

2301_81967609的博客 768

c++实现学生管理系统(附源码)

本系统为学生管理系统,采用c++语言在Visual Studio平台进行开发。 一、基本功能: 1:退出学生系统 2:增加学生信息 3:显示学生信息 4;删除离校学生 5:修改学生信息 6:查找学生信息 7:按照学号排序 二、包含的模块: 1:studentManager学生管理类:内设上述1-7的功能函数; 2:Student学生类:内设学生的学号、姓名等基本信息和展示学生信息的函数; 3:Info学生信息类:继承Student学生类,初始化Student类中的数据和函数;

sherry__yuzu的博客 6863

文件读取数据,对数据进行排序,再进行查询

问题描述: 项目4 - 查成绩】 (1)score1.txt提供了某大学两个班某次测验的数据,包括每位同学的学号及成绩。 请编程序,输入学号,查找出该同学的成绩。 提示1:可以定义两个int型数组,其中一个n存放学号,另一个s存放成绩,可以保证两个数组中,元素下标相同,对应的是同一位同学。例如n[18]值为3123,s[18]为98,说明学号为3123的同学成绩为98。 提示2:因为数据无序,运用顺序查找算法,在n数组中依据学号进行查找,在s数组中对应下标的值则为其成绩。例如,通过在n中的查找,得出学号为3

xiaochenxiaoren的博客 886

宿舍管理查询软件

问题描述 为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求: (1)采用交互工作方式 (2)可以增加、删除、修改信息 (3)建立数据文件 ,数据文件按关键字(姓名、学号、房号)进行排序(选择、快速排序、堆排序等任选一种) (4)查询 : a.按姓名查询 ;b.按学号查询 ;c按房号查询 (5)打印任一查询结果(可以连续操作) 算法设计 算法思想: ...

Krismile_的博客 7854

c语言从文件中读取数据到链表_C语言|学生成绩管理系统

点击上方“C语言中文社区”,选择“设为星标★”技术干货第一时间送达!作者:ancientear原文:https://www.jianshu.com/p/e43e795808aa要求设计的管理系统能够实现以下功能:1.每一条记录包括一个学生的学号、姓名、3个成绩(平时成绩、作业成绩、考试成绩)2.成绩录入功能:(成绩信息用文件保存,可以一次完成若干条记录)3.成绩信息显示浏览功能,完成全部...

weixin_42510148的博客 7233

c++课程设计(学生课程学分信息管理)

总体需求 假设每位学生必须完成基础课50学分,专业课50学分,选修课24学分,人文类课程8学分,实践性课程20学分才能够毕业 因此,在管理学分时,要考虑每个学分所属于的课程类别。 功能需求 1)能够通过键盘输入某位学生的学分。//该需求涵盖在下面的需求中。所以不单独在菜单中设置选项 2) 给定学号,显示某位学生的学分完成情况。 3) 给定某个班级的班号,显示该班所有学生学分完成情况。 4) 给定某位学生的学号,修改该学生的学分信息。 5) 按照某类课程的学分高低进行排序。 界面样式 输入: 程序正常运行后

_凌晨两点半_的博客 1865

大数据排序合并

1,首先将数据依次写入切分的文件中,然后

每天积累一点,一年后你会发现,自己变化很大 1096

C语言存数组_C语言|学生成绩管理系统

点击上方“C语言中文社区”,选择“设为星标★”技术干货第一时间送达!作者:ancientear原文:https://www.jianshu.com/p/e43e795808aa要求设计的管理系统能够实现以下功能:1.每一条记录包括一个学生的学号、姓名、3个成绩(平时成绩、作业成绩、考试成绩)2.成绩录入功能:(成绩信息用文件保存,可以一次完成若干条记录)3.成绩信息显示浏览功能,完成全部...

weixin_39611546的博客 1154

用matlab时提示数据写入文件期间被裁剪_用C语言简单开发学生成绩管理系统

要求设计的管理系统能够实现以下功能:1.每一条记录包括一个学生的学号、姓名、3个成绩(平时成绩、作业成绩、考试成绩)2.成绩录入功能:(成绩信息用文件保存,可以一次完成若干条记录)3.成绩信息显示浏览功能,完成全部学生记录的显示。4.查询功能:完成按姓名查找学生记录,并显示5.成绩信息的删除:按学号进行删除某学生的成绩6.排序功能:按学生总成绩进行排序1.首先,列出所需要的头文件以及声明...

weixin_39777637的博客 1983
上一篇: bubble_sort
下一篇: C++ 获取整数各位数字
lulipeng_cpp
博客等级 码龄15年 169粉丝 130原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值